Skip to content

Commit

Permalink
Merge pull request #86 from mitevpi/master
Browse files Browse the repository at this point in the history
Added Revit 2019 Installer & Recompiled for 2019 API.
  • Loading branch information
daren-thomas authored Sep 19, 2018
2 parents 2111975 + 75f28f8 commit 29891a9
Show file tree
Hide file tree
Showing 13 changed files with 138 additions and 46 deletions.
Binary file added Output/2018.09.19_Setup_RevitPythonShell_2019.exe
Binary file not shown.
13 changes: 13 additions & 0 deletions PythonConsoleControl/PythonConsoleControl.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkProfile />
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug 2014'">
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
Expand Down Expand Up @@ -102,6 +103,18 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug 2014|AnyCPU'">
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug 2019|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug 2019\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="ICSharpCode.AvalonEdit, Version=5.0.3.0, Culture=neutral, PublicKeyToken=9cc39be672370310, processorArchitecture=MSIL">
<HintPath>..\packages\AvalonEdit.5.0.4\lib\Net40\ICSharpCode.AvalonEdit.dll</HintPath>
Expand Down
2 changes: 1 addition & 1 deletion PythonConsoleControl/packages.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AvalonEdit" version="5.0.4" targetFramework="net46" />
<package id="AvalonEdit" version="5.0.4" targetFramework="net40" />
</packages>
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,9 @@ This project is licensed under the terms of the [MIT License](http://opensource.
* Akimitsu Hogge (original port to Vasari)
* Joe Moorhouse (interactive shell was taken from his project [IronLab](http://ironlab.net/))
* Jason Schaeffer (port to Revit 2011)
* [Ehsan Iran-Nejad (@eirannejad)](https://github.com/eirannejad) countless improvements, the awesome [pyRevit](https://github.com/eirannejad/pyRevit) tool and a special thanks for helping maintain RPS!
* [@DanRumery](https://github.com/danrumery) improved autocompletion with PR #59
* [Petr Mitev (@mitevp)](https://github.com/mitevpi) ported to Revit 2019 with RP #86
* many, many users with questions, bug reports etc!

Also, many thanks to the
Expand Down
Binary file added RequiredLibraries/Revit2019/RevitAPI.dll
Binary file not shown.
Binary file added RequiredLibraries/Revit2019/RevitAPIUI.dll
Binary file not shown.
11 changes: 9 additions & 2 deletions RevitPythonShell.sln
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Global
Debug 2016|Any CPU = Debug 2016|Any CPU
Debug 2017|Any CPU = Debug 2017|Any CPU
Debug 2018|Any CPU = Debug 2018|Any CPU
Debug 2019|Any CPU = Debug 2019|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7E37F14E-D840-42F8-8CA6-90FFC5497972}.Debug 2014|Any CPU.ActiveCfg = Debug 2014|Any CPU
Expand All @@ -32,16 +33,20 @@ Global
{7E37F14E-D840-42F8-8CA6-90FFC5497972}.Debug 2017|Any CPU.Build.0 = Debug 2017|Any CPU
{7E37F14E-D840-42F8-8CA6-90FFC5497972}.Debug 2018|Any CPU.ActiveCfg = Debug 2018|Any CPU
{7E37F14E-D840-42F8-8CA6-90FFC5497972}.Debug 2018|Any CPU.Build.0 = Debug 2018|Any CPU
{7E37F14E-D840-42F8-8CA6-90FFC5497972}.Debug 2019|Any CPU.ActiveCfg = Debug 2019|Any CPU
{7E37F14E-D840-42F8-8CA6-90FFC5497972}.Debug 2019|Any CPU.Build.0 = Debug 2019|Any CPU
{F1152D68-346B-4F48-8DB7-BE67B5CB1F49}.Debug 2014|Any CPU.ActiveCfg = Debug|Any CPU
{F1152D68-346B-4F48-8DB7-BE67B5CB1F49}.Debug 2014|Any CPU.Build.0 = Debug|Any CPU
{F1152D68-346B-4F48-8DB7-BE67B5CB1F49}.Debug 2015|Any CPU.ActiveCfg = Debug 2015|Any CPU
{F1152D68-346B-4F48-8DB7-BE67B5CB1F49}.Debug 2015|Any CPU.Build.0 = Debug 2015|Any CPU
{F1152D68-346B-4F48-8DB7-BE67B5CB1F49}.Debug 2015|Any CPU.ActiveCfg = Debug|Any CPU
{F1152D68-346B-4F48-8DB7-BE67B5CB1F49}.Debug 2015|Any CPU.Build.0 = Debug|Any CPU
{F1152D68-346B-4F48-8DB7-BE67B5CB1F49}.Debug 2016|Any CPU.ActiveCfg = Debug 2016|Any CPU
{F1152D68-346B-4F48-8DB7-BE67B5CB1F49}.Debug 2016|Any CPU.Build.0 = Debug 2016|Any CPU
{F1152D68-346B-4F48-8DB7-BE67B5CB1F49}.Debug 2017|Any CPU.ActiveCfg = Debug 2017|Any CPU
{F1152D68-346B-4F48-8DB7-BE67B5CB1F49}.Debug 2017|Any CPU.Build.0 = Debug 2017|Any CPU
{F1152D68-346B-4F48-8DB7-BE67B5CB1F49}.Debug 2018|Any CPU.ActiveCfg = Debug 2018|Any CPU
{F1152D68-346B-4F48-8DB7-BE67B5CB1F49}.Debug 2018|Any CPU.Build.0 = Debug 2018|Any CPU
{F1152D68-346B-4F48-8DB7-BE67B5CB1F49}.Debug 2019|Any CPU.ActiveCfg = Debug 2019|Any CPU
{F1152D68-346B-4F48-8DB7-BE67B5CB1F49}.Debug 2019|Any CPU.Build.0 = Debug 2019|Any CPU
{C8446636-C663-409F-82D0-72C0D55BBA1C}.Debug 2014|Any CPU.ActiveCfg = Debug 2014|Any CPU
{C8446636-C663-409F-82D0-72C0D55BBA1C}.Debug 2014|Any CPU.Build.0 = Debug 2014|Any CPU
{C8446636-C663-409F-82D0-72C0D55BBA1C}.Debug 2015|Any CPU.ActiveCfg = Debug 2015|Any CPU
Expand All @@ -52,6 +57,8 @@ Global
{C8446636-C663-409F-82D0-72C0D55BBA1C}.Debug 2017|Any CPU.Build.0 = Debug 2017|Any CPU
{C8446636-C663-409F-82D0-72C0D55BBA1C}.Debug 2018|Any CPU.ActiveCfg = Debug 2018|Any CPU
{C8446636-C663-409F-82D0-72C0D55BBA1C}.Debug 2018|Any CPU.Build.0 = Debug 2018|Any CPU
{C8446636-C663-409F-82D0-72C0D55BBA1C}.Debug 2019|Any CPU.ActiveCfg = Debug 2019|Any CPU
{C8446636-C663-409F-82D0-72C0D55BBA1C}.Debug 2019|Any CPU.Build.0 = Debug 2019|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
2 changes: 1 addition & 1 deletion RevitPythonShell/Properties/Resources.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

44 changes: 22 additions & 22 deletions RevitPythonShell/RevitPythonShell.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkProfile />
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup>
<!-- see: http://thebuildingcoder.typepad.com/blog/2013/06/processor-architecture-mismatch-warning.html -->
Expand All @@ -41,7 +40,7 @@
</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug 2014'">
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug 2015'">
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
Expand All @@ -55,6 +54,9 @@
<PropertyGroup Condition="'$(Configuration)' == 'Debug 2018'">
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug 2019'">
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
Expand Down Expand Up @@ -124,22 +126,15 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup Condition="'$(Configuration)' == 'Debug 2014'">
<Reference Include="RevitAPI">
<HintPath>..\RequiredLibraries\Revit2014\RevitAPI.dll</HintPath>
</Reference>
<Reference Include="RevitAPIUI">
<HintPath>..\RequiredLibraries\Revit2014\RevitAPIUI.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(Configuration)' == 'Debug 2015'">
<Reference Include="RevitAPI">
<HintPath>..\RequiredLibraries\Revit2015\RevitAPI.dll</HintPath>
</Reference>
<Reference Include="RevitAPIUI">
<HintPath>..\RequiredLibraries\Revit2015\RevitAPIUI.dll</HintPath>
</Reference>
</ItemGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug 2019|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug 2019\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup Condition="'$(Configuration)' == 'Debug 2016'">
<Reference Include="RevitAPI">
<HintPath>..\RequiredLibraries\Revit2016\RevitAPI.dll</HintPath>
Expand All @@ -164,6 +159,14 @@
<HintPath>..\RequiredLibraries\Revit2018\RevitAPIUI.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(Configuration)' == 'Debug 2019'">
<Reference Include="RevitAPI">
<HintPath>..\RequiredLibraries\Revit2019\RevitAPI.dll</HintPath>
</Reference>
<Reference Include="RevitAPIUI">
<HintPath>..\RequiredLibraries\Revit2019\RevitAPIUI.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Reference Include="ICSharpCode.AvalonEdit, Version=5.0.3.0, Culture=neutral, PublicKeyToken=9cc39be672370310, processorArchitecture=MSIL">
<HintPath>..\packages\AvalonEdit.5.0.4\lib\Net40\ICSharpCode.AvalonEdit.dll</HintPath>
Expand Down Expand Up @@ -193,9 +196,6 @@
<Reference Include="PythonConsoleControl">
<HintPath>..\PythonConsoleControl\bin\Debug 2018\PythonConsoleControl.dll</HintPath>
</Reference>
<Reference Include="RpsRuntime">
<HintPath>..\RpsRuntime\bin\Debug 2018\RpsRuntime.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
Expand Down Expand Up @@ -254,6 +254,7 @@
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<Resource Include="Resources\Theme\Redo.png" />
<Resource Include="Resources\Theme\Run.png" />
<Resource Include="Resources\Theme\Save.png" />
Expand All @@ -270,7 +271,6 @@
<Content Include="DefaultConfig\startup.py" />
<None Include="Examples\HelloWorld.iss" />
<Content Include="DefaultConfig\init.py" />
<None Include="packages.config" />
<EmbeddedResource Include="Resources\CreateWall.png" />
<Content Include="Examples\helloworld.py" />
<Content Include="Examples\HelloWorld.xml">
Expand Down
2 changes: 1 addition & 1 deletion RevitPythonShell/packages.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AvalonEdit" version="5.0.4" targetFramework="net46" />
<package id="AvalonEdit" version="5.0.4" targetFramework="net45" />
</packages>
47 changes: 29 additions & 18 deletions RpsRuntime/RpsRuntime.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
<RootNamespace>RevitPythonShell.RpsRuntime</RootNamespace>
<AssemblyName>RpsRuntime</AssemblyName>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup>
<!-- see: http://thebuildingcoder.typepad.com/blog/2013/06/processor-architecture-mismatch-warning.html -->
Expand All @@ -18,7 +17,7 @@
</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug 2014'">
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug 2015'">
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
Expand All @@ -32,6 +31,9 @@
<PropertyGroup Condition="'$(Configuration)' == 'Debug 2018'">
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug 2019'">
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug 2014|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug 2014\</OutputPath>
Expand Down Expand Up @@ -82,22 +84,15 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup Condition="'$(Configuration)' == 'Debug 2014'">
<Reference Include="RevitAPI">
<HintPath>..\RequiredLibraries\Revit2014\RevitAPI.dll</HintPath>
</Reference>
<Reference Include="RevitAPIUI">
<HintPath>..\RequiredLibraries\Revit2014\RevitAPIUI.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(Configuration)' == 'Debug 2015'">
<Reference Include="RevitAPI">
<HintPath>..\RequiredLibraries\Revit2015\RevitAPI.dll</HintPath>
</Reference>
<Reference Include="RevitAPIUI">
<HintPath>..\RequiredLibraries\Revit2015\RevitAPIUI.dll</HintPath>
</Reference>
</ItemGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug 2019|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug 2019\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup Condition="'$(Configuration)' == 'Debug 2016'">
<Reference Include="RevitAPI">
<HintPath>..\RequiredLibraries\Revit2016\RevitAPI.dll</HintPath>
Expand All @@ -122,6 +117,14 @@
<HintPath>..\RequiredLibraries\Revit2018\RevitAPIUI.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(Configuration)' == 'Debug 2019'">
<Reference Include="RevitAPI">
<HintPath>..\RequiredLibraries\Revit2019\RevitAPI.dll</HintPath>
</Reference>
<Reference Include="RevitAPIUI">
<HintPath>..\RequiredLibraries\Revit2019\RevitAPIUI.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Reference Include="ICSharpCode.AvalonEdit, Version=5.0.3.0, Culture=neutral, PublicKeyToken=9cc39be672370310, processorArchitecture=MSIL">
<HintPath>..\packages\AvalonEdit.5.0.4\lib\Net40\ICSharpCode.AvalonEdit.dll</HintPath>
Expand All @@ -148,6 +151,14 @@
<HintPath>..\RequiredLibraries\Microsoft.Scripting.Metadata.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="RevitAPI">
<HintPath>..\RequiredLibraries\Revit2019\RevitAPI.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="RevitAPIUI">
<HintPath>..\RequiredLibraries\Revit2019\RevitAPIUI.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
Expand Down
2 changes: 1 addition & 1 deletion RpsRuntime/packages.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AvalonEdit" version="5.0.4" targetFramework="net46" />
<package id="AvalonEdit" version="5.0.4" targetFramework="net45" />
</packages>
59 changes: 59 additions & 0 deletions Setup_RevitPythonShell_2019.iss
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
[Files]
Source: "RevitPythonShell\bin\Debug 2019\PythonConsoleControl.dll"; DestDir: "{app}"; Flags: replacesameversion
Source: "RevitPythonShell\bin\Debug 2019\RevitPythonShell.dll"; DestDir: "{app}"; Flags: replacesameversion
Source: "RevitPythonShell\bin\Debug 2019\RpsRuntime.dll"; DestDir: "{app}"; Flags: replacesameversion
Source: "packages\AvalonEdit.5.0.4\lib\Net40\ICSharpCode.AvalonEdit.dll"; DestDir: "{app}"
Source: "RequiredLibraries\IronPython.dll"; DestDir: "{app}"
Source: "RequiredLibraries\IronPython.Modules.dll"; DestDir: "{app}"
Source: "RequiredLibraries\Microsoft.Scripting.Metadata.dll"; DestDir: "{app}"
Source: "RequiredLibraries\Microsoft.Dynamic.dll"; DestDir: "{app}"
Source: "RequiredLibraries\Microsoft.Scripting.dll"; DestDir: "{app}"
Source: "RevitPythonShell\DefaultConfig\RevitPythonShell.xml"; DestDir: "{userappdata}\RevitPythonShell2019"; Flags: onlyifdoesntexist
Source: RevitPythonShell\DefaultConfig\init.py; DestDir: {userappdata}\RevitPythonShell2019; Flags: confirmoverwrite;
Source: RevitPythonShell\DefaultConfig\startup.py; DestDir: {userappdata}\RevitPythonShell2019; Flags: confirmoverwrite;

[code]
{ HANDLE INSTALL PROCESS STEPS }
procedure CurStepChanged(CurStep: TSetupStep);
var
AddInFilePath: String;
AddInFileContents: String;
begin
if CurStep = ssPostInstall then
begin
{ GET LOCATION OF USER AppData (Roaming) }
AddInFilePath := ExpandConstant('{userappdata}\Autodesk\Revit\Addins\2019\RevitPythonShell2019.addin');
{ CREATE NEW ADDIN FILE }
AddInFileContents := '<?xml version="1.0" encoding="utf-16" standalone="no"?>' + #13#10;
AddInFileContents := AddInFileContents + '<RevitAddIns>' + #13#10;
AddInFileContents := AddInFileContents + ' <AddIn Type="Application">' + #13#10;
AddInFileContents := AddInFileContents + ' <Name>RevitPythonShell</Name>' + #13#10;
AddInFileContents := AddInFileContents + ' <Assembly>' + ExpandConstant('{app}') + '\RevitPythonShell.dll</Assembly>' + #13#10;
AddInFileContents := AddInFileContents + ' <AddInId>3a7a1d24-51ed-462b-949f-1ddcca12008d</AddInId>' + #13#10;
AddInFileContents := AddInFileContents + ' <FullClassName>RevitPythonShell.RevitPythonShellApplication</FullClassName>' + #13#10;
AddInFileContents := AddInFileContents + ' <VendorId>RIPS</VendorId>' + #13#10;
AddInFileContents := AddInFileContents + ' </AddIn>' + #13#10;
AddInFileContents := AddInFileContents + '</RevitAddIns>' + #13#10;
SaveStringToFile(AddInFilePath, AddInFileContents, False);
end;
end;
[Setup]
AppName=RevitPythonShell for Autodesk Revit 2019
AppVerName=RevitPythonShell for Autodesk Revit 2019
RestartIfNeededByRun=false
DefaultDirName={pf32}\RevitPythonShell2019
OutputBaseFilename=Setup_RevitPythonShell_2019
ShowLanguageDialog=auto
FlatComponentsList=false
UninstallFilesDir={app}\Uninstall
UninstallDisplayName=RevitPythonShell for Autodesk Revit 2019
AppVersion=2019.0
VersionInfoVersion=2019.0
VersionInfoDescription=RevitPythonShell for Autodesk Revit 2019
VersionInfoTextVersion=RevitPythonShell for Autodesk Revit 2019

0 comments on commit 29891a9

Please sign in to comment.