diff --git a/README.md b/README.md index c4768a5..d4b68b0 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,23 @@ +# Note: New Dark Theme WPF version is here : https://github.com/unitycoder/UnityLauncherPro + +### this old winforms version is no longer updated! + # UnityLauncher -Tool for automatically launching specific unity versions for each project (Windows only) +Handle all your Unity versions and Projects easily! # Features -- Launch correct Unity version for your recent projects -- Option to download missing unity version installation or open webpage -- Display Recent projects list with project version, last modified date -- Highlight project version with green if correct unity is installed -- Easily open project folder in explorer -- List of installed Unity versions, can easily run, explore, view release notes -- Can be used in commandline `UnityLauncher.exe -projectPath "c:/project/path/"` +- Automagically Open Projects with Correct Unity Version +- Display Recent Projects list with last modified date and project version info +- Quickly Explore Project Folder +- List installed Unity versions, can easily Run, Explore installation folder, View release notes +- Download Missing Unity Versions Easily +- Can be used from commandline `UnityLauncher.exe -projectPath "c:/project/path/"` - Can add custom Explorer context menu item to launch folder as a project: https://github.com/unitycoder/UnityLauncher/wiki/Adding-Explorer-Context-Menu +- Use custom launcher arguments per project! +- Show project git branch info - List of custom package folders (quicly explore them and then can import packages) +- Show list of available Unity versions/updates # Instructions - Download, Run @@ -21,7 +27,7 @@ Tool for automatically launching specific unity versions for each project (Windo # Keyboard Shortcuts - When recent list is selected: Enter = Launch selected, F5 = refresh recent list -- 1,2,3 to switch tabs +- Project filter field: Esc - clear search # Download https://github.com/unitycoder/UnityLauncher/releases @@ -36,8 +42,22 @@ https://github.com/unitycoder/UnityLauncher/issues https://forum.unity3d.com/threads/unitylauncher-launch-correct-unity-versions-for-each-project-automatically.488718/ # Images -![unitylauncher-1](https://user-images.githubusercontent.com/5438317/29495593-0f2f1d54-85f5-11e7-929b-96fbe0147b2e.jpg) +![image](https://user-images.githubusercontent.com/5438317/35776535-65794550-09d9-11e8-925a-6b799d1a7b7f.png) + +![image](https://user-images.githubusercontent.com/5438317/35776559-d4ecb8ae-09d9-11e8-90e9-a01e662367f7.png) + +![image](https://user-images.githubusercontent.com/5438317/35776539-7b5a63a4-09d9-11e8-825b-956110d98499.png) + +![image](https://user-images.githubusercontent.com/5438317/35776544-85f7c1f8-09d9-11e8-8ab7-ee08d01ebef3.png) + +![image](https://user-images.githubusercontent.com/5438317/56789044-ac867c80-6809-11e9-9187-b998dbed0d0d.png) -![unitylauncher-1b](https://user-images.githubusercontent.com/5438317/29495592-0f2bdf18-85f5-11e7-9d69-a29bf1f1b4f4.jpg) +![image](https://user-images.githubusercontent.com/5438317/35776575-01c720bc-09da-11e8-99d1-f6e4ad3c0fab.png) -![unitylauncher-1c](https://user-images.githubusercontent.com/5438317/29495591-0ee98ef6-85f5-11e7-849f-e78977f4f473.jpg) +# Special Thanks (for fixes, updates, pull requests) +- https://github.com/851marc +- https://github.com/KyleOrth +- https://github.com/Raebyn +- Ville Tuhkanen +- https://github.com/geo-at-github +- https://github.com/yschuurmans diff --git a/UnityLauncher/App.config b/UnityLauncher/App.config index a44ae39..498e2cf 100644 --- a/UnityLauncher/App.config +++ b/UnityLauncher/App.config @@ -1,32 +1,53 @@  - - -
- - - - - - - - - - - C:\Program Files\ - - - - - True - - - - - - - - + + +
+ + + + + + + + + + + C:\Program Files\ + + + + + True + + + + + + + + True + + + False + + + 600 + + + 650 + + + False + + + False + + + False + + + \ No newline at end of file diff --git a/UnityLauncher/Form1.Designer.cs b/UnityLauncher/Form1.Designer.cs index b4441de..318d60b 100644 --- a/UnityLauncher/Form1.Designer.cs +++ b/UnityLauncher/Form1.Designer.cs @@ -30,10 +30,14 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); - this.statusStrip1 = new System.Windows.Forms.StatusStrip(); - this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); this.tabControl1 = new System.Windows.Forms.TabControl(); - this.tabPage1 = new System.Windows.Forms.TabPage(); + this.tabProjects = new System.Windows.Forms.TabPage(); + this.lblClearSearchField = new System.Windows.Forms.Label(); + this.btnBrowseForProject = new System.Windows.Forms.Button(); + this.btnRefreshProjectList = new System.Windows.Forms.Button(); + this.tbSearchBar = new System.Windows.Forms.TextBox(); + this.btnUpgradeProject = new System.Windows.Forms.Button(); + this.btnRunUnityOnly = new System.Windows.Forms.Button(); this.btnOpenUnityFolder = new System.Windows.Forms.Button(); this.btnLaunch = new System.Windows.Forms.Button(); this.gridRecent = new System.Windows.Forms.DataGridView(); @@ -41,20 +45,49 @@ private void InitializeComponent() this._version = new System.Windows.Forms.DataGridViewTextBoxColumn(); this._path = new System.Windows.Forms.DataGridViewTextBoxColumn(); this._dateModified = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.tabPage2 = new System.Windows.Forms.TabPage(); + this._launchArguments = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this._gitBranch = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.tabUnitys = new System.Windows.Forms.TabPage(); + this.btn_refreshUnityList = new System.Windows.Forms.Button(); this.btnOpenReleasePage = new System.Windows.Forms.Button(); this.btnExploreUnity = new System.Windows.Forms.Button(); this.btnLaunchUnity = new System.Windows.Forms.Button(); this.gridUnityList = new System.Windows.Forms.DataGridView(); this._unityVersion = new System.Windows.Forms.DataGridViewTextBoxColumn(); this._unityPath = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this._unityInstallDate = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this._Platforms = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.tabPackages = new System.Windows.Forms.TabPage(); + this.btnAddAssetStoreFolder = new System.Windows.Forms.Button(); this.btnExplorePackageFolder = new System.Windows.Forms.Button(); this.btnAddPackageFolder = new System.Windows.Forms.Button(); this.btnRemovePackFolder = new System.Windows.Forms.Button(); this.label3 = new System.Windows.Forms.Label(); this.lstPackageFolders = new System.Windows.Forms.ListBox(); - this.tabPage3 = new System.Windows.Forms.TabPage(); + this.tabUpdates = new System.Windows.Forms.TabPage(); + this.btnDownloadNewUnity = new System.Windows.Forms.Button(); + this.tbSearchUpdates = new System.Windows.Forms.TextBox(); + this.btnOpenUpdateWebsite = new System.Windows.Forms.Button(); + this.btnFetchUnityVersions = new System.Windows.Forms.Button(); + this.gridUnityUpdates = new System.Windows.Forms.DataGridView(); + this._Date = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this._UnityUpdateVersion = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.tabSettings = new System.Windows.Forms.TabPage(); + this.btnPlayerLogFolder = new System.Windows.Forms.Button(); + this.btnOpenLogcatCmd = new System.Windows.Forms.Button(); + this.chkDarkSkin = new System.Windows.Forms.CheckBox(); + this.btnCheckUpdates = new System.Windows.Forms.Button(); + this.linkProjectGithub = new System.Windows.Forms.LinkLabel(); + this.linkArgumentsDocs = new System.Windows.Forms.LinkLabel(); + this.chkShowGitBranchColumn = new System.Windows.Forms.CheckBox(); + this.label5 = new System.Windows.Forms.Label(); + this.chkShowLauncherArgumentsColumn = new System.Windows.Forms.CheckBox(); + this.ChkQuitAfterOpen = new System.Windows.Forms.CheckBox(); + this.btnOpenLogFolder = new System.Windows.Forms.Button(); + this.chkQuitAfterCommandline = new System.Windows.Forms.CheckBox(); + this.btnAddRegister = new System.Windows.Forms.Button(); + this.btnRemoveRegister = new System.Windows.Forms.Button(); + this.label4 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.chkMinimizeToTaskbar = new System.Windows.Forms.CheckBox(); this.label1 = new System.Windows.Forms.Label(); @@ -67,74 +100,148 @@ private void InitializeComponent() this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog(); this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components); this.btnAddPackFolder = new System.Windows.Forms.Button(); - this.btnAddAssetStoreFolder = new System.Windows.Forms.Button(); - this.statusStrip1.SuspendLayout(); + this.statusStrip1 = new System.Windows.Forms.StatusStrip(); + this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); + this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker(); this.tabControl1.SuspendLayout(); - this.tabPage1.SuspendLayout(); + this.tabProjects.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.gridRecent)).BeginInit(); - this.tabPage2.SuspendLayout(); + this.tabUnitys.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.gridUnityList)).BeginInit(); this.tabPackages.SuspendLayout(); - this.tabPage3.SuspendLayout(); + this.tabUpdates.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gridUnityUpdates)).BeginInit(); + this.tabSettings.SuspendLayout(); + this.statusStrip1.SuspendLayout(); this.SuspendLayout(); // - // statusStrip1 - // - this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.toolStripStatusLabel1}); - this.statusStrip1.Location = new System.Drawing.Point(0, 590); - this.statusStrip1.Name = "statusStrip1"; - this.statusStrip1.Size = new System.Drawing.Size(544, 22); - this.statusStrip1.TabIndex = 6; - this.statusStrip1.Text = "statusStrip1"; - // - // toolStripStatusLabel1 - // - this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; - this.toolStripStatusLabel1.Size = new System.Drawing.Size(39, 17); - this.toolStripStatusLabel1.Text = "Status"; - // // tabControl1 // - this.tabControl1.Controls.Add(this.tabPage1); - this.tabControl1.Controls.Add(this.tabPage2); + this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tabControl1.Controls.Add(this.tabProjects); + this.tabControl1.Controls.Add(this.tabUnitys); this.tabControl1.Controls.Add(this.tabPackages); - this.tabControl1.Controls.Add(this.tabPage3); + this.tabControl1.Controls.Add(this.tabUpdates); + this.tabControl1.Controls.Add(this.tabSettings); this.tabControl1.Location = new System.Drawing.Point(0, 12); this.tabControl1.Name = "tabControl1"; this.tabControl1.SelectedIndex = 0; - this.tabControl1.Size = new System.Drawing.Size(544, 575); - this.tabControl1.TabIndex = 0; - // - // tabPage1 - // - this.tabPage1.Controls.Add(this.btnOpenUnityFolder); - this.tabPage1.Controls.Add(this.btnLaunch); - this.tabPage1.Controls.Add(this.gridRecent); - this.tabPage1.Location = new System.Drawing.Point(4, 22); - this.tabPage1.Name = "tabPage1"; - this.tabPage1.Size = new System.Drawing.Size(536, 549); - this.tabPage1.TabIndex = 0; - this.tabPage1.Text = "Projects"; - this.tabPage1.UseVisualStyleBackColor = true; + this.tabControl1.Size = new System.Drawing.Size(588, 575); + this.tabControl1.TabIndex = 6; + this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged); + // + // tabProjects + // + this.tabProjects.Controls.Add(this.lblClearSearchField); + this.tabProjects.Controls.Add(this.btnBrowseForProject); + this.tabProjects.Controls.Add(this.btnRefreshProjectList); + this.tabProjects.Controls.Add(this.tbSearchBar); + this.tabProjects.Controls.Add(this.btnUpgradeProject); + this.tabProjects.Controls.Add(this.btnRunUnityOnly); + this.tabProjects.Controls.Add(this.btnOpenUnityFolder); + this.tabProjects.Controls.Add(this.btnLaunch); + this.tabProjects.Controls.Add(this.gridRecent); + this.tabProjects.Location = new System.Drawing.Point(4, 22); + this.tabProjects.Name = "tabProjects"; + this.tabProjects.Size = new System.Drawing.Size(580, 549); + this.tabProjects.TabIndex = 0; + this.tabProjects.Text = "Projects"; + this.tabProjects.UseVisualStyleBackColor = true; + // + // lblClearSearchField + // + this.lblClearSearchField.AutoSize = true; + this.lblClearSearchField.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblClearSearchField.ForeColor = System.Drawing.Color.DarkGray; + this.lblClearSearchField.Location = new System.Drawing.Point(448, 8); + this.lblClearSearchField.Name = "lblClearSearchField"; + this.lblClearSearchField.Size = new System.Drawing.Size(12, 13); + this.lblClearSearchField.TabIndex = 24; + this.lblClearSearchField.Text = "x"; + this.lblClearSearchField.Click += new System.EventHandler(this.lblClearSearchField_Click); + this.lblClearSearchField.MouseEnter += new System.EventHandler(this.lblClearSearchField_MouseEnter); + this.lblClearSearchField.MouseLeave += new System.EventHandler(this.lblClearSearchField_MouseLeave); + // + // btnBrowseForProject + // + this.btnBrowseForProject.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnBrowseForProject.Location = new System.Drawing.Point(469, 3); + this.btnBrowseForProject.Name = "btnBrowseForProject"; + this.btnBrowseForProject.Size = new System.Drawing.Size(80, 23); + this.btnBrowseForProject.TabIndex = 23; + this.btnBrowseForProject.Text = "+ Add Project"; + this.toolTip1.SetToolTip(this.btnBrowseForProject, "Browse for a Project"); + this.btnBrowseForProject.UseVisualStyleBackColor = true; + this.btnBrowseForProject.Click += new System.EventHandler(this.btnBrowseForProject_Click); + // + // btnRefreshProjectList + // + this.btnRefreshProjectList.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnRefreshProjectList.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnRefreshProjectList.Location = new System.Drawing.Point(555, 3); + this.btnRefreshProjectList.Name = "btnRefreshProjectList"; + this.btnRefreshProjectList.Size = new System.Drawing.Size(22, 23); + this.btnRefreshProjectList.TabIndex = 22; + this.btnRefreshProjectList.Text = "⟳"; + this.toolTip1.SetToolTip(this.btnRefreshProjectList, "Refresh Unity Installations List"); + this.btnRefreshProjectList.UseCompatibleTextRendering = true; + this.btnRefreshProjectList.UseVisualStyleBackColor = true; + this.btnRefreshProjectList.Click += new System.EventHandler(this.btnRefreshProjectList_Click); + // + // tbSearchBar + // + this.tbSearchBar.Location = new System.Drawing.Point(3, 5); + this.tbSearchBar.Name = "tbSearchBar"; + this.tbSearchBar.Size = new System.Drawing.Size(460, 20); + this.tbSearchBar.TabIndex = 0; + this.tbSearchBar.TextChanged += new System.EventHandler(this.FilterRecentProject); + // + // btnUpgradeProject + // + this.btnUpgradeProject.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.btnUpgradeProject.Location = new System.Drawing.Point(3, 511); + this.btnUpgradeProject.Name = "btnUpgradeProject"; + this.btnUpgradeProject.Size = new System.Drawing.Size(98, 35); + this.btnUpgradeProject.TabIndex = 4; + this.btnUpgradeProject.Text = "Upgrade Project"; + this.toolTip1.SetToolTip(this.btnUpgradeProject, "Open File Explorer"); + this.btnUpgradeProject.UseVisualStyleBackColor = true; + this.btnUpgradeProject.Click += new System.EventHandler(this.btnUpgradeProject_Click); + // + // btnRunUnityOnly + // + this.btnRunUnityOnly.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.btnRunUnityOnly.Location = new System.Drawing.Point(105, 511); + this.btnRunUnityOnly.Name = "btnRunUnityOnly"; + this.btnRunUnityOnly.Size = new System.Drawing.Size(67, 35); + this.btnRunUnityOnly.TabIndex = 5; + this.btnRunUnityOnly.Text = "Run Unity"; + this.toolTip1.SetToolTip(this.btnRunUnityOnly, "Open File Explorer"); + this.btnRunUnityOnly.UseVisualStyleBackColor = true; + this.btnRunUnityOnly.Click += new System.EventHandler(this.btnRunUnityOnly_Click); // // btnOpenUnityFolder // - this.btnOpenUnityFolder.Location = new System.Drawing.Point(453, 511); + this.btnOpenUnityFolder.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.btnOpenUnityFolder.Location = new System.Drawing.Point(510, 511); this.btnOpenUnityFolder.Name = "btnOpenUnityFolder"; - this.btnOpenUnityFolder.Size = new System.Drawing.Size(80, 35); - this.btnOpenUnityFolder.TabIndex = 14; + this.btnOpenUnityFolder.Size = new System.Drawing.Size(67, 35); + this.btnOpenUnityFolder.TabIndex = 3; this.btnOpenUnityFolder.Text = "Explore"; this.toolTip1.SetToolTip(this.btnOpenUnityFolder, "Open File Explorer"); this.btnOpenUnityFolder.UseVisualStyleBackColor = true; + this.btnOpenUnityFolder.Click += new System.EventHandler(this.btn_openFolder_Click); // // btnLaunch // + this.btnLaunch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.btnLaunch.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.btnLaunch.Location = new System.Drawing.Point(3, 511); + this.btnLaunch.Location = new System.Drawing.Point(176, 511); this.btnLaunch.Name = "btnLaunch"; - this.btnLaunch.Size = new System.Drawing.Size(444, 35); - this.btnLaunch.TabIndex = 10; + this.btnLaunch.Size = new System.Drawing.Size(330, 35); + this.btnLaunch.TabIndex = 2; this.btnLaunch.Text = "Launch Project"; this.toolTip1.SetToolTip(this.btnLaunch, "Launch selected project"); this.btnLaunch.UseVisualStyleBackColor = true; @@ -144,27 +251,33 @@ private void InitializeComponent() // this.gridRecent.AllowUserToAddRows = false; this.gridRecent.AllowUserToDeleteRows = false; - this.gridRecent.AllowUserToResizeColumns = false; this.gridRecent.AllowUserToResizeRows = false; + this.gridRecent.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.gridRecent.CausesValidation = false; this.gridRecent.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.gridRecent.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this._project, this._version, this._path, - this._dateModified}); - this.gridRecent.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; - this.gridRecent.Location = new System.Drawing.Point(3, 3); + this._dateModified, + this._launchArguments, + this._gitBranch}); + this.gridRecent.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnF2; + this.gridRecent.Location = new System.Drawing.Point(3, 30); this.gridRecent.MultiSelect = false; this.gridRecent.Name = "gridRecent"; - this.gridRecent.ReadOnly = true; + this.gridRecent.RowHeadersWidth = 18; this.gridRecent.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; this.gridRecent.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.gridRecent.ShowCellErrors = false; this.gridRecent.ShowCellToolTips = false; - this.gridRecent.ShowEditingIcon = false; - this.gridRecent.Size = new System.Drawing.Size(530, 502); - this.gridRecent.TabIndex = 0; + this.gridRecent.Size = new System.Drawing.Size(574, 475); + this.gridRecent.StandardTab = true; + this.gridRecent.TabIndex = 1; + this.gridRecent.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.gridRecent_CellEndEdit); + this.gridRecent.CellMouseDoubleClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.GridRecent_CellMouseDoubleClick); this.gridRecent.KeyDown += new System.Windows.Forms.KeyEventHandler(this.gridRecent_KeyDown); // // _project @@ -172,48 +285,75 @@ private void InitializeComponent() this._project.HeaderText = "Project"; this._project.Name = "_project"; this._project.ReadOnly = true; - this._project.Resizable = System.Windows.Forms.DataGridViewTriState.False; - this._project.Width = 135; + this._project.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this._project.Width = 150; // // _version // this._version.HeaderText = "Version"; this._version.Name = "_version"; this._version.ReadOnly = true; - this._version.Width = 65; + this._version.Width = 72; // // _path // this._path.HeaderText = "Path"; this._path.Name = "_path"; this._path.ReadOnly = true; - this._path.Resizable = System.Windows.Forms.DataGridViewTriState.False; - this._path.Width = 178; + this._path.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this._path.Width = 185; // // _dateModified // this._dateModified.HeaderText = "Modified"; this._dateModified.Name = "_dateModified"; this._dateModified.ReadOnly = true; - this._dateModified.Resizable = System.Windows.Forms.DataGridViewTriState.False; - this._dateModified.Width = 77; - // - // tabPage2 - // - this.tabPage2.Controls.Add(this.btnOpenReleasePage); - this.tabPage2.Controls.Add(this.btnExploreUnity); - this.tabPage2.Controls.Add(this.btnLaunchUnity); - this.tabPage2.Controls.Add(this.gridUnityList); - this.tabPage2.Location = new System.Drawing.Point(4, 22); - this.tabPage2.Name = "tabPage2"; - this.tabPage2.Size = new System.Drawing.Size(536, 549); - this.tabPage2.TabIndex = 1; - this.tabPage2.Text = "Unity\'s"; - this.tabPage2.UseVisualStyleBackColor = true; + this._dateModified.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this._dateModified.Width = 120; + // + // _launchArguments + // + this._launchArguments.HeaderText = "Arguments"; + this._launchArguments.Name = "_launchArguments"; + // + // _gitBranch + // + this._gitBranch.HeaderText = "GITBranch"; + this._gitBranch.Name = "_gitBranch"; + this._gitBranch.ReadOnly = true; + // + // tabUnitys + // + this.tabUnitys.Controls.Add(this.btn_refreshUnityList); + this.tabUnitys.Controls.Add(this.btnOpenReleasePage); + this.tabUnitys.Controls.Add(this.btnExploreUnity); + this.tabUnitys.Controls.Add(this.btnLaunchUnity); + this.tabUnitys.Controls.Add(this.gridUnityList); + this.tabUnitys.Location = new System.Drawing.Point(4, 22); + this.tabUnitys.Name = "tabUnitys"; + this.tabUnitys.Size = new System.Drawing.Size(580, 549); + this.tabUnitys.TabIndex = 1; + this.tabUnitys.Text = "Unitys"; + this.tabUnitys.UseVisualStyleBackColor = true; + // + // btn_refreshUnityList + // + this.btn_refreshUnityList.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btn_refreshUnityList.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btn_refreshUnityList.Location = new System.Drawing.Point(555, 3); + this.btn_refreshUnityList.Name = "btn_refreshUnityList"; + this.btn_refreshUnityList.Size = new System.Drawing.Size(22, 23); + this.btn_refreshUnityList.TabIndex = 21; + this.btn_refreshUnityList.Text = "⟳"; + this.toolTip1.SetToolTip(this.btn_refreshUnityList, "Refresh Unity Installations List"); + this.btn_refreshUnityList.UseCompatibleTextRendering = true; + this.btn_refreshUnityList.UseVisualStyleBackColor = true; + this.btn_refreshUnityList.Click += new System.EventHandler(this.btnRefresh_Click); // // btnOpenReleasePage // - this.btnOpenReleasePage.Location = new System.Drawing.Point(367, 511); + this.btnOpenReleasePage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.btnOpenReleasePage.Location = new System.Drawing.Point(411, 511); this.btnOpenReleasePage.Name = "btnOpenReleasePage"; this.btnOpenReleasePage.Size = new System.Drawing.Size(80, 35); this.btnOpenReleasePage.TabIndex = 17; @@ -224,7 +364,8 @@ private void InitializeComponent() // // btnExploreUnity // - this.btnExploreUnity.Location = new System.Drawing.Point(453, 511); + this.btnExploreUnity.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.btnExploreUnity.Location = new System.Drawing.Point(497, 511); this.btnExploreUnity.Name = "btnExploreUnity"; this.btnExploreUnity.Size = new System.Drawing.Size(80, 35); this.btnExploreUnity.TabIndex = 16; @@ -235,10 +376,11 @@ private void InitializeComponent() // // btnLaunchUnity // + this.btnLaunchUnity.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.btnLaunchUnity.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btnLaunchUnity.Location = new System.Drawing.Point(3, 511); this.btnLaunchUnity.Name = "btnLaunchUnity"; - this.btnLaunchUnity.Size = new System.Drawing.Size(358, 35); + this.btnLaunchUnity.Size = new System.Drawing.Size(402, 35); this.btnLaunchUnity.TabIndex = 15; this.btnLaunchUnity.Text = "Run Unity"; this.toolTip1.SetToolTip(this.btnLaunchUnity, "Launch selected project"); @@ -251,32 +393,39 @@ private void InitializeComponent() this.gridUnityList.AllowUserToDeleteRows = false; this.gridUnityList.AllowUserToResizeColumns = false; this.gridUnityList.AllowUserToResizeRows = false; + this.gridUnityList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.gridUnityList.CausesValidation = false; this.gridUnityList.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.gridUnityList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this._unityVersion, - this._unityPath}); + this._unityPath, + this._unityInstallDate, + this._Platforms}); this.gridUnityList.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; - this.gridUnityList.Location = new System.Drawing.Point(3, 3); + this.gridUnityList.Location = new System.Drawing.Point(3, 27); this.gridUnityList.MultiSelect = false; this.gridUnityList.Name = "gridUnityList"; this.gridUnityList.ReadOnly = true; + this.gridUnityList.RowHeadersWidth = 15; this.gridUnityList.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; this.gridUnityList.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.gridUnityList.ShowCellErrors = false; this.gridUnityList.ShowCellToolTips = false; this.gridUnityList.ShowEditingIcon = false; - this.gridUnityList.Size = new System.Drawing.Size(530, 502); + this.gridUnityList.Size = new System.Drawing.Size(574, 478); + this.gridUnityList.StandardTab = true; this.gridUnityList.TabIndex = 10; this.gridUnityList.KeyDown += new System.Windows.Forms.KeyEventHandler(this.unityGridView_KeyDown); // // _unityVersion // this._unityVersion.HeaderText = "Version"; - this._unityVersion.MinimumWidth = 150; + this._unityVersion.MinimumWidth = 120; this._unityVersion.Name = "_unityVersion"; this._unityVersion.ReadOnly = true; - this._unityVersion.Width = 150; + this._unityVersion.Width = 120; // // _unityPath // @@ -287,6 +436,19 @@ private void InitializeComponent() this._unityPath.Resizable = System.Windows.Forms.DataGridViewTriState.False; this._unityPath.Width = 300; // + // _unityInstallDate + // + this._unityInstallDate.HeaderText = "Installed"; + this._unityInstallDate.Name = "_unityInstallDate"; + this._unityInstallDate.ReadOnly = true; + this._unityInstallDate.Width = 120; + // + // _Platforms + // + this._Platforms.HeaderText = "Platforms"; + this._Platforms.Name = "_Platforms"; + this._Platforms.ReadOnly = true; + // // tabPackages // this.tabPackages.Controls.Add(this.btnAddAssetStoreFolder); @@ -297,17 +459,30 @@ private void InitializeComponent() this.tabPackages.Controls.Add(this.lstPackageFolders); this.tabPackages.Location = new System.Drawing.Point(4, 22); this.tabPackages.Name = "tabPackages"; - this.tabPackages.Size = new System.Drawing.Size(536, 549); + this.tabPackages.Size = new System.Drawing.Size(580, 549); this.tabPackages.TabIndex = 4; this.tabPackages.Text = "My Packages"; this.tabPackages.UseVisualStyleBackColor = true; // + // btnAddAssetStoreFolder + // + this.btnAddAssetStoreFolder.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnAddAssetStoreFolder.Location = new System.Drawing.Point(416, 232); + this.btnAddAssetStoreFolder.Name = "btnAddAssetStoreFolder"; + this.btnAddAssetStoreFolder.Size = new System.Drawing.Size(142, 23); + this.btnAddAssetStoreFolder.TabIndex = 29; + this.btnAddAssetStoreFolder.Text = "Add AssetStore Folder"; + this.btnAddAssetStoreFolder.UseVisualStyleBackColor = true; + this.btnAddAssetStoreFolder.Click += new System.EventHandler(this.btnAddAssetStoreFolder_Click); + // // btnExplorePackageFolder // + this.btnExplorePackageFolder.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.btnExplorePackageFolder.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btnExplorePackageFolder.Location = new System.Drawing.Point(3, 511); this.btnExplorePackageFolder.Name = "btnExplorePackageFolder"; - this.btnExplorePackageFolder.Size = new System.Drawing.Size(530, 35); + this.btnExplorePackageFolder.Size = new System.Drawing.Size(574, 35); this.btnExplorePackageFolder.TabIndex = 28; this.btnExplorePackageFolder.Text = "Explore"; this.toolTip1.SetToolTip(this.btnExplorePackageFolder, "Open File Explorer"); @@ -346,43 +521,349 @@ private void InitializeComponent() // // lstPackageFolders // + this.lstPackageFolders.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.lstPackageFolders.FormattingEnabled = true; this.lstPackageFolders.Location = new System.Drawing.Point(19, 40); this.lstPackageFolders.Name = "lstPackageFolders"; - this.lstPackageFolders.Size = new System.Drawing.Size(495, 186); + this.lstPackageFolders.Size = new System.Drawing.Size(539, 186); this.lstPackageFolders.TabIndex = 21; // - // tabPage3 - // - this.tabPage3.Controls.Add(this.label2); - this.tabPage3.Controls.Add(this.chkMinimizeToTaskbar); - this.tabPage3.Controls.Add(this.label1); - this.tabPage3.Controls.Add(this.btnAddUnityFolder); - this.tabPage3.Controls.Add(this.btnRemoveInstallFolder); - this.tabPage3.Controls.Add(this.lstRootFolders); - this.tabPage3.Controls.Add(this.lbl_unityCount); - this.tabPage3.Controls.Add(this.btnRefresh); - this.tabPage3.Location = new System.Drawing.Point(4, 22); - this.tabPage3.Name = "tabPage3"; - this.tabPage3.Size = new System.Drawing.Size(536, 549); - this.tabPage3.TabIndex = 3; - this.tabPage3.Text = "Settings"; - this.tabPage3.UseVisualStyleBackColor = true; + // tabUpdates + // + this.tabUpdates.Controls.Add(this.btnDownloadNewUnity); + this.tabUpdates.Controls.Add(this.tbSearchUpdates); + this.tabUpdates.Controls.Add(this.btnOpenUpdateWebsite); + this.tabUpdates.Controls.Add(this.btnFetchUnityVersions); + this.tabUpdates.Controls.Add(this.gridUnityUpdates); + this.tabUpdates.Location = new System.Drawing.Point(4, 22); + this.tabUpdates.Name = "tabUpdates"; + this.tabUpdates.Size = new System.Drawing.Size(580, 549); + this.tabUpdates.TabIndex = 5; + this.tabUpdates.Text = "Updates"; + this.tabUpdates.UseVisualStyleBackColor = true; + // + // btnDownloadNewUnity + // + this.btnDownloadNewUnity.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.btnDownloadNewUnity.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnDownloadNewUnity.Location = new System.Drawing.Point(3, 511); + this.btnDownloadNewUnity.Name = "btnDownloadNewUnity"; + this.btnDownloadNewUnity.Size = new System.Drawing.Size(239, 35); + this.btnDownloadNewUnity.TabIndex = 25; + this.btnDownloadNewUnity.Text = "Download in Browser"; + this.toolTip1.SetToolTip(this.btnDownloadNewUnity, "Open Release Page"); + this.btnDownloadNewUnity.UseVisualStyleBackColor = true; + this.btnDownloadNewUnity.Click += new System.EventHandler(this.btnDownloadNewUnity_Click); + // + // tbSearchUpdates + // + this.tbSearchUpdates.Location = new System.Drawing.Point(3, 5); + this.tbSearchUpdates.Name = "tbSearchUpdates"; + this.tbSearchUpdates.Size = new System.Drawing.Size(460, 20); + this.tbSearchUpdates.TabIndex = 8; + this.tbSearchUpdates.TextChanged += new System.EventHandler(this.FilterUnityUpdates); + // + // btnOpenUpdateWebsite + // + this.btnOpenUpdateWebsite.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnOpenUpdateWebsite.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnOpenUpdateWebsite.Location = new System.Drawing.Point(248, 511); + this.btnOpenUpdateWebsite.Name = "btnOpenUpdateWebsite"; + this.btnOpenUpdateWebsite.Size = new System.Drawing.Size(329, 35); + this.btnOpenUpdateWebsite.TabIndex = 24; + this.btnOpenUpdateWebsite.Text = "Open Website"; + this.toolTip1.SetToolTip(this.btnOpenUpdateWebsite, "Open Release Page"); + this.btnOpenUpdateWebsite.UseVisualStyleBackColor = true; + this.btnOpenUpdateWebsite.Click += new System.EventHandler(this.btnOpenUpdateWebsite_Click); + // + // btnFetchUnityVersions + // + this.btnFetchUnityVersions.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnFetchUnityVersions.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnFetchUnityVersions.Location = new System.Drawing.Point(555, 3); + this.btnFetchUnityVersions.Name = "btnFetchUnityVersions"; + this.btnFetchUnityVersions.Size = new System.Drawing.Size(22, 23); + this.btnFetchUnityVersions.TabIndex = 23; + this.btnFetchUnityVersions.Text = "⟳"; + this.toolTip1.SetToolTip(this.btnFetchUnityVersions, "Fetch list of Unity Updates"); + this.btnFetchUnityVersions.UseCompatibleTextRendering = true; + this.btnFetchUnityVersions.UseVisualStyleBackColor = true; + this.btnFetchUnityVersions.Click += new System.EventHandler(this.btnFetchUnityVersions_Click); + // + // gridUnityUpdates + // + this.gridUnityUpdates.AllowUserToAddRows = false; + this.gridUnityUpdates.AllowUserToDeleteRows = false; + this.gridUnityUpdates.AllowUserToResizeColumns = false; + this.gridUnityUpdates.AllowUserToResizeRows = false; + this.gridUnityUpdates.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.gridUnityUpdates.CausesValidation = false; + this.gridUnityUpdates.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.gridUnityUpdates.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this._Date, + this._UnityUpdateVersion}); + this.gridUnityUpdates.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; + this.gridUnityUpdates.Location = new System.Drawing.Point(3, 30); + this.gridUnityUpdates.MultiSelect = false; + this.gridUnityUpdates.Name = "gridUnityUpdates"; + this.gridUnityUpdates.ReadOnly = true; + this.gridUnityUpdates.RowHeadersWidth = 18; + this.gridUnityUpdates.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.gridUnityUpdates.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.gridUnityUpdates.ShowCellErrors = false; + this.gridUnityUpdates.ShowCellToolTips = false; + this.gridUnityUpdates.ShowEditingIcon = false; + this.gridUnityUpdates.Size = new System.Drawing.Size(574, 475); + this.gridUnityUpdates.StandardTab = true; + this.gridUnityUpdates.TabIndex = 22; + // + // _Date + // + this._Date.HeaderText = "Date"; + this._Date.MinimumWidth = 100; + this._Date.Name = "_Date"; + this._Date.ReadOnly = true; + this._Date.Resizable = System.Windows.Forms.DataGridViewTriState.False; + // + // _UnityUpdateVersion + // + this._UnityUpdateVersion.HeaderText = "Version"; + this._UnityUpdateVersion.MinimumWidth = 350; + this._UnityUpdateVersion.Name = "_UnityUpdateVersion"; + this._UnityUpdateVersion.ReadOnly = true; + this._UnityUpdateVersion.Width = 350; + // + // tabSettings + // + this.tabSettings.Controls.Add(this.btnPlayerLogFolder); + this.tabSettings.Controls.Add(this.btnOpenLogcatCmd); + this.tabSettings.Controls.Add(this.chkDarkSkin); + this.tabSettings.Controls.Add(this.btnCheckUpdates); + this.tabSettings.Controls.Add(this.linkProjectGithub); + this.tabSettings.Controls.Add(this.linkArgumentsDocs); + this.tabSettings.Controls.Add(this.chkShowGitBranchColumn); + this.tabSettings.Controls.Add(this.label5); + this.tabSettings.Controls.Add(this.chkShowLauncherArgumentsColumn); + this.tabSettings.Controls.Add(this.ChkQuitAfterOpen); + this.tabSettings.Controls.Add(this.btnOpenLogFolder); + this.tabSettings.Controls.Add(this.chkQuitAfterCommandline); + this.tabSettings.Controls.Add(this.btnAddRegister); + this.tabSettings.Controls.Add(this.btnRemoveRegister); + this.tabSettings.Controls.Add(this.label4); + this.tabSettings.Controls.Add(this.label2); + this.tabSettings.Controls.Add(this.chkMinimizeToTaskbar); + this.tabSettings.Controls.Add(this.label1); + this.tabSettings.Controls.Add(this.btnAddUnityFolder); + this.tabSettings.Controls.Add(this.btnRemoveInstallFolder); + this.tabSettings.Controls.Add(this.lstRootFolders); + this.tabSettings.Controls.Add(this.lbl_unityCount); + this.tabSettings.Controls.Add(this.btnRefresh); + this.tabSettings.Location = new System.Drawing.Point(4, 22); + this.tabSettings.Name = "tabSettings"; + this.tabSettings.Size = new System.Drawing.Size(580, 549); + this.tabSettings.TabIndex = 3; + this.tabSettings.Text = "Settings"; + this.tabSettings.UseVisualStyleBackColor = true; + // + // btnPlayerLogFolder + // + this.btnPlayerLogFolder.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnPlayerLogFolder.Location = new System.Drawing.Point(328, 300); + this.btnPlayerLogFolder.Name = "btnPlayerLogFolder"; + this.btnPlayerLogFolder.Size = new System.Drawing.Size(119, 23); + this.btnPlayerLogFolder.TabIndex = 43; + this.btnPlayerLogFolder.Text = "Player.log Folder"; + this.btnPlayerLogFolder.UseVisualStyleBackColor = true; + this.btnPlayerLogFolder.Click += new System.EventHandler(this.btnPlayerLogFolder_Click); + // + // btnOpenLogcatCmd + // + this.btnOpenLogcatCmd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnOpenLogcatCmd.Location = new System.Drawing.Point(453, 271); + this.btnOpenLogcatCmd.Name = "btnOpenLogcatCmd"; + this.btnOpenLogcatCmd.Size = new System.Drawing.Size(119, 23); + this.btnOpenLogcatCmd.TabIndex = 42; + this.btnOpenLogcatCmd.Text = "ADB logcat (cmd)"; + this.toolTip1.SetToolTip(this.btnOpenLogcatCmd, "adb logcat -s Unity ActivityManager PackageManager dalvikvm DEBUG -v color"); + this.btnOpenLogcatCmd.UseVisualStyleBackColor = true; + this.btnOpenLogcatCmd.Click += new System.EventHandler(this.btnOpenLogcatCmd_Click); + // + // chkDarkSkin + // + this.chkDarkSkin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.chkDarkSkin.AutoSize = true; + this.chkDarkSkin.Location = new System.Drawing.Point(20, 443); + this.chkDarkSkin.Name = "chkDarkSkin"; + this.chkDarkSkin.Size = new System.Drawing.Size(85, 17); + this.chkDarkSkin.TabIndex = 41; + this.chkDarkSkin.Text = "Dark Theme"; + this.chkDarkSkin.UseVisualStyleBackColor = true; + this.chkDarkSkin.CheckedChanged += new System.EventHandler(this.chkDarkSkin_CheckedChanged); + // + // btnCheckUpdates + // + this.btnCheckUpdates.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnCheckUpdates.Location = new System.Drawing.Point(415, 495); + this.btnCheckUpdates.Name = "btnCheckUpdates"; + this.btnCheckUpdates.Size = new System.Drawing.Size(157, 23); + this.btnCheckUpdates.TabIndex = 40; + this.btnCheckUpdates.Text = "Open Github Releases Page"; + this.btnCheckUpdates.UseVisualStyleBackColor = true; + this.btnCheckUpdates.Click += new System.EventHandler(this.btnCheckUpdates_Click); + // + // linkProjectGithub + // + this.linkProjectGithub.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.linkProjectGithub.AutoSize = true; + this.linkProjectGithub.LinkArea = new System.Windows.Forms.LinkArea(20, 6); + this.linkProjectGithub.LinkBehavior = System.Windows.Forms.LinkBehavior.AlwaysUnderline; + this.linkProjectGithub.Location = new System.Drawing.Point(434, 532); + this.linkProjectGithub.Name = "linkProjectGithub"; + this.linkProjectGithub.Size = new System.Drawing.Size(138, 17); + this.linkProjectGithub.TabIndex = 39; + this.linkProjectGithub.TabStop = true; + this.linkProjectGithub.Text = "Visit UnityLauncher Github"; + this.linkProjectGithub.UseCompatibleTextRendering = true; + this.linkProjectGithub.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkProjectGithub_LinkClicked); + // + // linkArgumentsDocs + // + this.linkArgumentsDocs.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.linkArgumentsDocs.AutoSize = true; + this.linkArgumentsDocs.LinkArea = new System.Windows.Forms.LinkArea(1, 4); + this.linkArgumentsDocs.LinkBehavior = System.Windows.Forms.LinkBehavior.AlwaysUnderline; + this.linkArgumentsDocs.Location = new System.Drawing.Point(385, 375); + this.linkArgumentsDocs.Name = "linkArgumentsDocs"; + this.linkArgumentsDocs.Size = new System.Drawing.Size(36, 17); + this.linkArgumentsDocs.TabIndex = 38; + this.linkArgumentsDocs.TabStop = true; + this.linkArgumentsDocs.Text = "(docs)"; + this.linkArgumentsDocs.UseCompatibleTextRendering = true; + this.linkArgumentsDocs.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkArgumentsDocs_LinkClicked); + // + // chkShowGitBranchColumn + // + this.chkShowGitBranchColumn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.chkShowGitBranchColumn.AutoSize = true; + this.chkShowGitBranchColumn.Location = new System.Drawing.Point(266, 397); + this.chkShowGitBranchColumn.Name = "chkShowGitBranchColumn"; + this.chkShowGitBranchColumn.Size = new System.Drawing.Size(76, 17); + this.chkShowGitBranchColumn.TabIndex = 36; + this.chkShowGitBranchColumn.Text = "Git Branch"; + this.chkShowGitBranchColumn.UseVisualStyleBackColor = true; + this.chkShowGitBranchColumn.CheckedChanged += new System.EventHandler(this.checkShowGitBranchColumn_CheckedChanged); + // + // label5 + // + this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label5.AutoSize = true; + this.label5.Enabled = false; + this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label5.Location = new System.Drawing.Point(263, 349); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(105, 13); + this.label5.TabIndex = 35; + this.label5.Text = "Optional Columns"; + // + // chkShowLauncherArgumentsColumn + // + this.chkShowLauncherArgumentsColumn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.chkShowLauncherArgumentsColumn.AutoSize = true; + this.chkShowLauncherArgumentsColumn.Location = new System.Drawing.Point(266, 374); + this.chkShowLauncherArgumentsColumn.Name = "chkShowLauncherArgumentsColumn"; + this.chkShowLauncherArgumentsColumn.Size = new System.Drawing.Size(124, 17); + this.chkShowLauncherArgumentsColumn.TabIndex = 34; + this.chkShowLauncherArgumentsColumn.Text = "Launcher Arguments"; + this.chkShowLauncherArgumentsColumn.UseVisualStyleBackColor = true; + this.chkShowLauncherArgumentsColumn.CheckedChanged += new System.EventHandler(this.checkShowLauncherArgumentsColumn_CheckedChanged); + // + // ChkQuitAfterOpen + // + this.ChkQuitAfterOpen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.ChkQuitAfterOpen.AutoSize = true; + this.ChkQuitAfterOpen.Location = new System.Drawing.Point(20, 397); + this.ChkQuitAfterOpen.Name = "ChkQuitAfterOpen"; + this.ChkQuitAfterOpen.Size = new System.Drawing.Size(172, 17); + this.ChkQuitAfterOpen.TabIndex = 33; + this.ChkQuitAfterOpen.Text = "Close after launching a project"; + this.ChkQuitAfterOpen.UseVisualStyleBackColor = true; + this.ChkQuitAfterOpen.CheckedChanged += new System.EventHandler(this.ChkQuitAfterOpen_CheckedChanged); + // + // btnOpenLogFolder + // + this.btnOpenLogFolder.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnOpenLogFolder.Location = new System.Drawing.Point(328, 271); + this.btnOpenLogFolder.Name = "btnOpenLogFolder"; + this.btnOpenLogFolder.Size = new System.Drawing.Size(119, 23); + this.btnOpenLogFolder.TabIndex = 32; + this.btnOpenLogFolder.Text = "Open Editor Log Folder"; + this.btnOpenLogFolder.UseVisualStyleBackColor = true; + this.btnOpenLogFolder.Click += new System.EventHandler(this.btnOpenLogFolder_Click); + // + // chkQuitAfterCommandline + // + this.chkQuitAfterCommandline.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.chkQuitAfterCommandline.AutoSize = true; + this.chkQuitAfterCommandline.Location = new System.Drawing.Point(20, 420); + this.chkQuitAfterCommandline.Name = "chkQuitAfterCommandline"; + this.chkQuitAfterCommandline.Size = new System.Drawing.Size(189, 17); + this.chkQuitAfterCommandline.TabIndex = 31; + this.chkQuitAfterCommandline.Text = "Close after launching from Explorer"; + this.chkQuitAfterCommandline.UseVisualStyleBackColor = true; + this.chkQuitAfterCommandline.CheckedChanged += new System.EventHandler(this.chkQuitAfterCommandline_CheckedChanged); + // + // btnAddRegister + // + this.btnAddRegister.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.btnAddRegister.Location = new System.Drawing.Point(139, 493); + this.btnAddRegister.Name = "btnAddRegister"; + this.btnAddRegister.Size = new System.Drawing.Size(64, 23); + this.btnAddRegister.TabIndex = 30; + this.btnAddRegister.Text = "Install"; + this.btnAddRegister.UseVisualStyleBackColor = true; + this.btnAddRegister.Click += new System.EventHandler(this.btnAddRegister_Click); + // + // btnRemoveRegister + // + this.btnRemoveRegister.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.btnRemoveRegister.Location = new System.Drawing.Point(209, 493); + this.btnRemoveRegister.Name = "btnRemoveRegister"; + this.btnRemoveRegister.Size = new System.Drawing.Size(64, 23); + this.btnRemoveRegister.TabIndex = 29; + this.btnRemoveRegister.Text = "Uninstall"; + this.btnRemoveRegister.UseVisualStyleBackColor = true; + this.btnRemoveRegister.Click += new System.EventHandler(this.btnRemoveRegister_Click); + // + // label4 + // + this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(19, 498); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(117, 13); + this.label4.TabIndex = 28; + this.label4.Text = "Explorer Context Menu:"; // // label2 // + this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label2.AutoSize = true; this.label2.Enabled = false; - this.label2.Location = new System.Drawing.Point(17, 361); + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.Location = new System.Drawing.Point(17, 349); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(74, 13); + this.label2.Size = new System.Drawing.Size(88, 13); this.label2.TabIndex = 26; this.label2.Text = "Other Settings"; // // chkMinimizeToTaskbar // + this.chkMinimizeToTaskbar.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.chkMinimizeToTaskbar.AutoSize = true; - this.chkMinimizeToTaskbar.Location = new System.Drawing.Point(20, 386); + this.chkMinimizeToTaskbar.Location = new System.Drawing.Point(20, 374); this.chkMinimizeToTaskbar.Name = "chkMinimizeToTaskbar"; this.chkMinimizeToTaskbar.Size = new System.Drawing.Size(116, 17); this.chkMinimizeToTaskbar.TabIndex = 25; @@ -422,17 +903,20 @@ private void InitializeComponent() // // lstRootFolders // + this.lstRootFolders.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.lstRootFolders.FormattingEnabled = true; this.lstRootFolders.Location = new System.Drawing.Point(20, 31); this.lstRootFolders.Name = "lstRootFolders"; - this.lstRootFolders.Size = new System.Drawing.Size(495, 186); + this.lstRootFolders.Size = new System.Drawing.Size(563, 186); this.lstRootFolders.TabIndex = 20; // // lbl_unityCount // + this.lbl_unityCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.lbl_unityCount.AutoSize = true; this.lbl_unityCount.Enabled = false; - this.lbl_unityCount.Location = new System.Drawing.Point(418, 15); + this.lbl_unityCount.Location = new System.Drawing.Point(483, 15); this.lbl_unityCount.Name = "lbl_unityCount"; this.lbl_unityCount.Size = new System.Drawing.Size(97, 13); this.lbl_unityCount.TabIndex = 18; @@ -440,9 +924,10 @@ private void InitializeComponent() // // btnRefresh // - this.btnRefresh.Location = new System.Drawing.Point(378, 223); + this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnRefresh.Location = new System.Drawing.Point(453, 223); this.btnRefresh.Name = "btnRefresh"; - this.btnRefresh.Size = new System.Drawing.Size(137, 23); + this.btnRefresh.Size = new System.Drawing.Size(119, 23); this.btnRefresh.TabIndex = 19; this.btnRefresh.Text = "Refresh Unity List"; this.toolTip1.SetToolTip(this.btnRefresh, "Refresh Unity Installations List"); @@ -470,73 +955,83 @@ private void InitializeComponent() this.btnAddPackFolder.Text = "Add Folder"; this.btnAddPackFolder.UseVisualStyleBackColor = true; // - // btnAddAssetStoreFolder + // statusStrip1 // - this.btnAddAssetStoreFolder.Location = new System.Drawing.Point(372, 232); - this.btnAddAssetStoreFolder.Name = "btnAddAssetStoreFolder"; - this.btnAddAssetStoreFolder.Size = new System.Drawing.Size(142, 23); - this.btnAddAssetStoreFolder.TabIndex = 29; - this.btnAddAssetStoreFolder.Text = "Add AssetStore Folder"; - this.btnAddAssetStoreFolder.UseVisualStyleBackColor = true; - this.btnAddAssetStoreFolder.Click += new System.EventHandler(this.btnAddAssetStoreFolder_Click); + // this next line keeps disappearing : this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {this.toolStripStatusLabel1}); + this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripStatusLabel1 }); + this.statusStrip1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.statusStrip1.AutoSize = false; + this.statusStrip1.Dock = System.Windows.Forms.DockStyle.None; + this.statusStrip1.Location = new System.Drawing.Point(0, 590); + this.statusStrip1.Name = "statusStrip1"; + this.statusStrip1.Size = new System.Drawing.Size(579, 22); + this.statusStrip1.SizingGrip = false; + this.statusStrip1.TabIndex = 7; + this.statusStrip1.Text = "statusStrip1"; + // + // toolStripStatusLabel1 + // + this.toolStripStatusLabel1.AutoSize = false; + this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; + this.toolStripStatusLabel1.Size = new System.Drawing.Size(550, 17); + this.toolStripStatusLabel1.Text = "toolStripStatusLabel1"; + this.toolStripStatusLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(544, 612); - this.Controls.Add(this.tabControl1); + this.ClientSize = new System.Drawing.Size(588, 612); this.Controls.Add(this.statusStrip1); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Controls.Add(this.tabControl1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.KeyPreview = true; this.MaximizeBox = false; + this.MinimumSize = new System.Drawing.Size(600, 650); this.Name = "Form1"; this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; - this.Text = "UnityLauncher - Potato Edition 5"; + this.Text = "UnityLauncher - AutumnEdition 29"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); this.Load += new System.EventHandler(this.Form1_Load); + this.ResizeEnd += new System.EventHandler(this.Form1_ResizeEnd); this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Form1_KeyPress); this.Resize += new System.EventHandler(this.Form1_Resize); - this.statusStrip1.ResumeLayout(false); - this.statusStrip1.PerformLayout(); this.tabControl1.ResumeLayout(false); - this.tabPage1.ResumeLayout(false); + this.tabProjects.ResumeLayout(false); + this.tabProjects.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.gridRecent)).EndInit(); - this.tabPage2.ResumeLayout(false); + this.tabUnitys.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.gridUnityList)).EndInit(); this.tabPackages.ResumeLayout(false); this.tabPackages.PerformLayout(); - this.tabPage3.ResumeLayout(false); - this.tabPage3.PerformLayout(); + this.tabUpdates.ResumeLayout(false); + this.tabUpdates.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gridUnityUpdates)).EndInit(); + this.tabSettings.ResumeLayout(false); + this.tabSettings.PerformLayout(); + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); this.ResumeLayout(false); - this.PerformLayout(); } #endregion - private System.Windows.Forms.StatusStrip statusStrip1; - private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; private System.Windows.Forms.TabControl tabControl1; - private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.TabPage tabProjects; private System.Windows.Forms.Button btnOpenUnityFolder; private System.Windows.Forms.ToolTip toolTip1; private System.Windows.Forms.Button btnLaunch; private System.Windows.Forms.DataGridView gridRecent; - private System.Windows.Forms.DataGridViewTextBoxColumn _project; - private System.Windows.Forms.DataGridViewTextBoxColumn _version; - private System.Windows.Forms.DataGridViewTextBoxColumn _path; - private System.Windows.Forms.DataGridViewTextBoxColumn _dateModified; - private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.TabPage tabUnitys; private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1; private System.Windows.Forms.NotifyIcon notifyIcon; - private System.Windows.Forms.TabPage tabPage3; + private System.Windows.Forms.TabPage tabSettings; private System.Windows.Forms.Label lbl_unityCount; private System.Windows.Forms.Button btnRefresh; private System.Windows.Forms.DataGridView gridUnityList; private System.Windows.Forms.Button btnExploreUnity; private System.Windows.Forms.Button btnLaunchUnity; - private System.Windows.Forms.DataGridViewTextBoxColumn _unityVersion; - private System.Windows.Forms.DataGridViewTextBoxColumn _unityPath; private System.Windows.Forms.ListBox lstRootFolders; private System.Windows.Forms.Button btnAddUnityFolder; private System.Windows.Forms.Button btnRemoveInstallFolder; @@ -552,6 +1047,49 @@ private void InitializeComponent() private System.Windows.Forms.Button btnRemovePackFolder; private System.Windows.Forms.Button btnAddPackFolder; private System.Windows.Forms.Button btnAddAssetStoreFolder; + private System.Windows.Forms.Button btnAddRegister; + private System.Windows.Forms.Button btnRemoveRegister; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.CheckBox chkQuitAfterCommandline; + private System.Windows.Forms.Button btnRunUnityOnly; + private System.Windows.Forms.StatusStrip statusStrip1; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; + private System.Windows.Forms.Button btnUpgradeProject; + private System.Windows.Forms.Button btnOpenLogFolder; + private System.Windows.Forms.TextBox tbSearchBar; + private System.Windows.Forms.CheckBox ChkQuitAfterOpen; + private System.Windows.Forms.Button btn_refreshUnityList; + private System.Windows.Forms.TabPage tabUpdates; + private System.Windows.Forms.Button btnFetchUnityVersions; + private System.Windows.Forms.DataGridView gridUnityUpdates; + private System.Windows.Forms.Button btnOpenUpdateWebsite; + private System.Windows.Forms.DataGridViewTextBoxColumn _Date; + private System.Windows.Forms.DataGridViewTextBoxColumn _UnityUpdateVersion; + private System.Windows.Forms.DataGridViewTextBoxColumn _project; + private System.Windows.Forms.DataGridViewTextBoxColumn _version; + private System.Windows.Forms.DataGridViewTextBoxColumn _path; + private System.Windows.Forms.DataGridViewTextBoxColumn _dateModified; + private System.Windows.Forms.DataGridViewTextBoxColumn _launchArguments; + private System.Windows.Forms.DataGridViewTextBoxColumn _gitBranch; + private System.Windows.Forms.CheckBox chkShowGitBranchColumn; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.CheckBox chkShowLauncherArgumentsColumn; + private System.Windows.Forms.LinkLabel linkArgumentsDocs; + private System.Windows.Forms.LinkLabel linkProjectGithub; + private System.Windows.Forms.Button btnCheckUpdates; + private System.Windows.Forms.Button btnRefreshProjectList; + private System.Windows.Forms.Button btnBrowseForProject; + private System.Windows.Forms.DataGridViewTextBoxColumn _unityVersion; + private System.Windows.Forms.DataGridViewTextBoxColumn _unityPath; + private System.Windows.Forms.DataGridViewTextBoxColumn _unityInstallDate; + private System.Windows.Forms.DataGridViewTextBoxColumn _Platforms; + private System.Windows.Forms.TextBox tbSearchUpdates; + private System.ComponentModel.BackgroundWorker backgroundWorker1; + private System.Windows.Forms.CheckBox chkDarkSkin; + private System.Windows.Forms.Button btnOpenLogcatCmd; + private System.Windows.Forms.Button btnDownloadNewUnity; + private System.Windows.Forms.Button btnPlayerLogFolder; + private System.Windows.Forms.Label lblClearSearchField; } } diff --git a/UnityLauncher/Form1.cs b/UnityLauncher/Form1.cs index a26306e..456283e 100644 --- a/UnityLauncher/Form1.cs +++ b/UnityLauncher/Form1.cs @@ -1,744 +1,1479 @@ -using Microsoft.Win32; -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Drawing; -using System.IO; -using System.Linq; -using System.Net; -using System.Text; -using System.Text.RegularExpressions; -using System.Windows.Forms; - -namespace UnityLauncher -{ - public partial class Form1 : Form - { - // version,exe path (example: 5.6.1f1,c:\prog\unity561\editor\unity.exe) - Dictionary unityList = new Dictionary(); - - public Form1() - { - InitializeComponent(); - } - - private void Form1_Load(object sender, EventArgs e) - { - SetStatus("Initializing.."); - - // check installations folder - var root = GetRootFolder(); - if (root == null || root.Length == 0) - { - SetStatus("Missing root folder.."); - AddRootFolder(); - SetStatus("Ready"); - } - - // update settings window - chkMinimizeToTaskbar.Checked = Properties.Settings.Default.minimizeToTaskbar; - - // update installations folder listbox - lstRootFolders.Items.AddRange(Properties.Settings.Default.rootFolders.Cast().ToArray()); - // update packages folder listbox - lstPackageFolders.Items.AddRange(Properties.Settings.Default.packageFolders.Cast().ToArray()); - - // scan installed unitys, TODO: could cache results, at least fileinfo's - bool foundedUnitys = ScanUnityInstallations(); - if (foundedUnitys == false) - { - SetStatus("Error> Did not found any Unity installations, try setting correct root folder.."); - UpdateRecentProjectsList(); - tabControl1.SelectedIndex = 2; // settings tab - return; - } - - // check if received -projectPath argument (that means, should try open the project) - string[] args = Environment.GetCommandLineArgs(); - if (args != null && args.Length > 2) - { - var commandArg = args[1]; - if (commandArg == "-projectPath") - { - SetStatus("Launching from commandline.."); - - var pathArg = args[2]; - // Console.WriteLine("\nPATH: " + pathArg); - LaunchProject(pathArg); - SetStatus("Ready"); - } - else - { - // Console.WriteLine("Invalid arguments:" + args[1]); - SetStatus("Error> Invalid arguments:" + args[1]); - } - - } - - UpdateRecentProjectsList(); - - // preselect grid - gridRecent.Select(); - } - - /// - /// returns true if we have exact version installed - /// - /// - /// - bool HaveExactVersionInstalled(string version) - { - //Console.WriteLine("checking: '" + version + "'"); - var installedExact = unityList.ContainsKey(version); - //Console.WriteLine("have exact:" + installedExact); - return installedExact; - } - - - // read and parse project settings file - string GetProjectVersion(string path) - { - var version = ""; - if (Directory.Exists(Path.Combine(path, "ProjectSettings"))) - { - var versionPath = Path.Combine(path, "ProjectSettings", "ProjectVersion.txt"); - if (File.Exists(versionPath) == true) - { - var data = File.ReadAllLines(versionPath); - - if (data != null && data.Length > 0) - { - var dd = data[0]; - // check first line - if (dd.Contains("m_EditorVersion")) - { - var t = dd.Split(new string[] { "m_EditorVersion: " }, StringSplitOptions.None); - if (t != null && t.Length > 0) - { - version = t[1].Trim(); - } - else - { - throw new InvalidDataException("invalid version data:" + data); - } - } - else - { - throw new InvalidDataException("Cannot find m_EditorVersion:" + dd); - } - } - else - { - throw new InvalidDataException("invalid projectversion data:" + data.ToString()); - } - } - } - return version; - } - - - void AddRootFolder() - { - folderBrowserDialog1.Description = "Select root folder"; - var d = folderBrowserDialog1.ShowDialog(); - var newRoot = folderBrowserDialog1.SelectedPath; - - if (String.IsNullOrWhiteSpace(newRoot) == false && Directory.Exists(newRoot) == true) - { - lstRootFolders.Items.Add(newRoot); - Properties.Settings.Default.rootFolders.Add(newRoot); - Properties.Settings.Default.Save(); - } - } - - bool ScanUnityInstallations() - { - SetStatus("Scanning unity installations.."); - - // dictionary to keep version and path - unityList.Clear(); - - // installed unitys list in other tab - gridUnityList.Rows.Clear(); - - // iterate all root folders - foreach (string root in lstRootFolders.Items) - { - // var root = GetRootFolder(); - if (String.IsNullOrWhiteSpace(root) == false && Directory.Exists(root) == true) - { - // parse all folders here, and search for unity editor files - var directories = Directory.GetDirectories(root); - for (int i = 0, length = directories.Length; i < length; i++) - { - var uninstallExe = Path.Combine(directories[i], "Editor", "Uninstall.exe"); - if (File.Exists(uninstallExe) == true) - { - var unityExe = Path.Combine(directories[i], "Editor", "Unity.exe"); - if (File.Exists(uninstallExe) == true) - { - var unityVersion = GetUnityVersion(uninstallExe).Replace("Unity", "").Trim(); - if (unityList.ContainsKey(unityVersion) == false) - { - unityList.Add(unityVersion, unityExe); - gridUnityList.Rows.Add(unityVersion, unityExe); - } - //Console.WriteLine(unityVersion); - } // have unity.exe - } // have uninstaller.exe - } // got folders - } // failed check - } // all root folders - - - lbl_unityCount.Text = "Founded " + unityList.Count.ToString() + " versions"; - - SetStatus("Finished scanning"); - - // founded any unity installations? - return unityList.Count > 0; - } - - - private string GetUnityVersion(string path) - { - // todo check path - FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(path); - return fvi.ProductName.Replace("(64-bit)", "").Trim(); - } - - - // returns already sorted list of recent entries - void UpdateRecentProjectsList() - { - SetStatus("Updating recent projects list.."); - - var hklm = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry64); - RegistryKey key = hklm.OpenSubKey(@"SOFTWARE\Unity Technologies\Unity Editor 5.x"); - - //Console.WriteLine(key); - if (key == null) - { - // no recent list founded - Console.WriteLine("No recent projects list founded"); - return; - } - - gridRecent.Rows.Clear(); - - foreach (var valueName in key.GetValueNames()) - { - if (valueName.IndexOf("RecentlyUsedProjectPaths-") == 0) - { - byte[] projectPathBytes = (byte[])key.GetValue(valueName); - string projectPath = Encoding.Default.GetString(projectPathBytes, 0, projectPathBytes.Length - 1); - string projectName = projectPath.Substring(projectPath.LastIndexOf("/") + 1); - - string csprojFile = Path.Combine(projectPath, projectName + ".csproj"); - - // editor only project - if (File.Exists(csprojFile) == false) - { - csprojFile = Path.Combine(projectPath, projectName + ".Editor.csproj"); - } - - DateTime? lastUpdated = GetLastUpdatedTime(csprojFile); - - string projectVersion = GetProjectVersion(projectPath); - // TODO: could display "Today", "Yesterday", "Last week".. - - gridRecent.Rows.Add(projectName, projectVersion, projectPath, lastUpdated); - //gridRecent.Rows[gridRecent.Rows.Count-1].Cells[1].Style.BackColor = HaveExactVersionInstalled(projectVersion) ?Color.Green:Color.Red; - gridRecent.Rows[gridRecent.Rows.Count - 1].Cells[1].Style.ForeColor = HaveExactVersionInstalled(projectVersion) ? Color.Green : Color.Red; - } - } - - SetStatus("Ready"); - } - - DateTime? GetLastUpdatedTime(string path) - { - if (File.Exists(path) == true) - { - DateTime modification = File.GetLastWriteTime(path); - //return modification.ToShortDateString(); - return modification; - } - else - { - return null; - } - } - - void LaunchProject(string pathArg = null) - { - // check if path is unity project folder - if (Directory.Exists(pathArg) == true) - { - // validate folder - if (Directory.Exists(Path.Combine(pathArg, "Assets"))) - { - var version = GetProjectVersion(pathArg); - Console.WriteLine("Detected project version: " + version); - - bool installed = HaveExactVersionInstalled(version); - if (installed == true) - { - // TODO: open? - Console.WriteLine("Opening unity version " + version); - - try - { - Process myProcess = new Process(); - var cmd = "\"" + unityList[version] + "\""; - var pars = " -projectPath " + "\"" + pathArg + "\""; - myProcess.StartInfo.FileName = cmd; - myProcess.StartInfo.Arguments = pars; - myProcess.Start(); - } - catch (Exception ex) - { - Console.WriteLine(ex); - } - - } - else - { - var yesno = MessageBox.Show("Unity version " + version + " is not installed! Yes = Download, No = Open Webpage", "UnityLauncher", MessageBoxButtons.YesNoCancel); - - string url = GetUnityReleaseURL(version); - - // download file - if (yesno == DialogResult.Yes) - { - Console.WriteLine("download unity: " + url); - if (string.IsNullOrEmpty(url) == false) - { - DownloadAndRun(url); - } - } - - // open page - if (yesno == DialogResult.No) - { - if (string.IsNullOrEmpty(url) == false) - { - Process.Start(url); - } - } - } - } - else - { - SetStatus("No Assets folder founded in: " + pathArg); - } - } - else // given path doesnt exists, strange - { - SetStatus("Invalid Path:" + pathArg); - } - } - - /// - /// downloads unity installer and launches it - /// - /// - void DownloadAndRun(string url) - { - ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; - using (WebClient client = new WebClient()) - { - string html = client.DownloadString(url); - - string foundedURL = ""; - var allLines = html.Split('\n'); - for (int i = 0, length = allLines.Length; i < length; i++) - { - if (allLines[i].Contains("UnityDownloadAssistant") && allLines[i].Contains(".exe")) - { - var dlURL = allLines[i].Split('\"'); - if (dlURL.Length > 1) - { - Console.WriteLine(dlURL[1]); - foundedURL = dlURL[1]; - break; - } - break; - } - } - - if (string.IsNullOrEmpty(foundedURL) == false) - { - // download temp file - using (WebClient downloader = new WebClient()) - { - var f = GetFileNameFromUrl(foundedURL); - FileInfo fileInfo = new FileInfo(f); - downloader.DownloadFile(foundedURL, f); - if (File.Exists(fileInfo.FullName)) - { - try - { - Process myProcess = new Process(); - myProcess.StartInfo.FileName = fileInfo.FullName; - myProcess.Start(); - myProcess.WaitForExit(); - } - catch (Exception ex) - { - Console.WriteLine(ex); - } - - } - } - } - else // not found - { - Console.WriteLine("Cannot parse exe.. opening website instead"); - Process.Start(url); - } - } - } - - /// - /// parse unity installer filename from url - /// - /// - /// - string GetFileNameFromUrl(string url) - { - var uri = new Uri(url); - var filename = uri.Segments.Last(); - return filename; - } - - /// - /// get rootfolder from settings, default is c:\program files\ - /// - /// - string[] GetRootFolder() - { - string[] rootFolders = null; - try - { - // if settings exists, use that - rootFolders = new string[Properties.Settings.Default.rootFolders.Count]; - Properties.Settings.Default.rootFolders.CopyTo(rootFolders, 0); - } - catch (Exception e) - { - Console.WriteLine(e); - // this doesnt work? - Properties.Settings.Default.Reset(); - Properties.Settings.Default.Save(); - } - return rootFolders; - } - - /// - /// launch windows explorer to selected project folder - /// - /// - void LaunchExplorer(string folder) - { - if (Directory.Exists(folder) == true) - { - Process.Start(folder); - } - else - { - SetStatus("Error> Directory not found: " + folder); - } - } - - void SetStatus(string msg) - { - toolStripStatusLabel1.Text = msg; - this.Refresh(); - } - - private void ShowForm() - { - this.Show(); - this.WindowState = FormWindowState.Normal; - notifyIcon.Visible = false; - } - - void LaunchSelectedProject() - { - var selected = gridRecent.CurrentCell.RowIndex; - if (selected > -1) - { - SetStatus("Launching project.."); - LaunchProject(gridRecent.Rows[selected].Cells["_path"].Value.ToString()); - SetStatus("Ready"); - } - } - - void LaunchSelectedUnity() - { - var selected = gridUnityList.CurrentCell.RowIndex; - if (selected > -1) - { - SetStatus("Launching Unity.."); - var version = gridUnityList.Rows[selected].Cells["_unityVersion"].Value.ToString(); - try - { - Process myProcess = new Process(); - var cmd = "\"" + unityList[version] + "\""; - myProcess.StartInfo.FileName = cmd; - myProcess.Start(); - } - catch (Exception ex) - { - Console.WriteLine(ex); - } - SetStatus("Ready"); - } - } - - - string GetUnityReleaseURL(string version) - { - string url = ""; - if (version.Contains("f")) // archived - { - version = Regex.Replace(version, @"f.", "", RegexOptions.IgnoreCase); - url = "https://unity3d.com/unity/whats-new/unity-" + version; - } - if (version.Contains("p")) // patch version - { - url = "https://unity3d.com/unity/qa/patch-releases/" + version; - } - if (version.Contains("b")) // beta version - { - url = "https://unity3d.com/unity/beta/unity" + version; - } - return url; - } - - void AddPackageFolder() - { - folderBrowserDialog1.Description = "Select package folder"; - var d = folderBrowserDialog1.ShowDialog(); - var newPackageFolder = folderBrowserDialog1.SelectedPath; - - if (String.IsNullOrWhiteSpace(newPackageFolder) == false && Directory.Exists(newPackageFolder) == true) - { - lstPackageFolders.Items.Add(newPackageFolder); - Properties.Settings.Default.packageFolders.Add(newPackageFolder); - Properties.Settings.Default.Save(); - } - } - - - - #region Buttons and UI events - - private void chkMinimizeToTaskbar_CheckedChanged(object sender, EventArgs e) - { - Properties.Settings.Default.minimizeToTaskbar = chkMinimizeToTaskbar.Checked; - Properties.Settings.Default.Save(); - } - - private void btnAddPackageFolder_Click(object sender, EventArgs e) - { - AddPackageFolder(); - } - - private void btnRemovePackFolder_Click(object sender, EventArgs e) - { - if (lstPackageFolders.SelectedIndex > -1) - { - lstPackageFolders.Items.RemoveAt(lstPackageFolders.SelectedIndex); - } - } - - private void btnOpenReleasePage_Click(object sender, EventArgs e) - { - var selected = gridUnityList.CurrentCell.RowIndex; - if (selected > -1) - { - var version = gridUnityList.Rows[selected].Cells["_unityVersion"].Value.ToString(); - var url = GetUnityReleaseURL(version); - if (string.IsNullOrEmpty(url) == false) - { - Process.Start(url); - } - } - } - - private void btnLaunchUnity_Click(object sender, EventArgs e) - { - LaunchSelectedUnity(); - } - - private void btnExploreUnity_Click(object sender, EventArgs e) - { - var selected = gridUnityList.CurrentCell.RowIndex; - if (selected > -1) - { - var unityPath = Path.GetDirectoryName(gridUnityList.Rows[selected].Cells["_unityPath"].Value.ToString()); - LaunchExplorer(unityPath); - } - } - - private void btnAddUnityFolder_Click(object sender, EventArgs e) - { - AddRootFolder(); - ScanUnityInstallations(); - } - - private void btnRemoveInstallFolder_Click(object sender, EventArgs e) - { - if (lstRootFolders.SelectedIndex > -1) - { - Properties.Settings.Default.rootFolders.Remove(lstRootFolders.Items[lstRootFolders.SelectedIndex].ToString()); - Properties.Settings.Default.Save(); - lstRootFolders.Items.RemoveAt(lstRootFolders.SelectedIndex); - ScanUnityInstallations(); - } - } - - private void unityGridView_KeyDown(object sender, KeyEventArgs e) - { - switch (e.KeyCode) - { - case Keys.Return: // launch selected unity - e.SuppressKeyPress = true; - LaunchSelectedUnity(); - break; - case Keys.F5: // refresh installed unitys list - ScanUnityInstallations(); - break; - default: - break; - } - } - - /// - /// global keys - /// - /// - /// - private void Form1_KeyPress(object sender, KeyPressEventArgs e) - { - switch (e.KeyChar) - { - case '1': - tabControl1.SelectedIndex = 0; - break; - case '2': - tabControl1.SelectedIndex = 1; - break; - case '3': - tabControl1.SelectedIndex = 2; - break; - case '4': - tabControl1.SelectedIndex = 3; - break; - default: - break; - } - } - - /// - /// grid keys - /// - /// - /// - private void gridRecent_KeyDown(object sender, KeyEventArgs e) - { - //Console.WriteLine(e.KeyValue); - switch (e.KeyCode) - { - case Keys.Return: // launch selected project - e.SuppressKeyPress = true; - LaunchSelectedProject(); - break; - case Keys.F5: // refresh recent projects list - UpdateRecentProjectsList(); - break; - default: - break; - } - } - - // set basefolder of all unity installations - private void btn_setinstallfolder_Click(object sender, EventArgs e) - { - AddRootFolder(); - ScanUnityInstallations(); - UpdateRecentProjectsList(); - } - - private void btnLaunch_Click(object sender, EventArgs e) - { - LaunchSelectedProject(); - } - - private void Form1_Resize(object sender, EventArgs e) - { - if (chkMinimizeToTaskbar.Checked == true) - { - if (FormWindowState.Minimized == this.WindowState) - { - notifyIcon.Visible = true; - this.Hide(); - } - else if (FormWindowState.Normal == this.WindowState) - { - notifyIcon.Visible = false; - } - } - } - - private void btnRefresh_Click(object sender, EventArgs e) - { - ScanUnityInstallations(); - } - - private void notifyIcon_MouseClick(object sender, MouseEventArgs e) - { - ShowForm(); - } - - private void btn_openFolder_Click(object sender, EventArgs e) - { - var selected = gridRecent.CurrentCell.RowIndex; - if (selected > -1) - { - LaunchExplorer(gridRecent.Rows[selected].Cells["_path"].Value.ToString()); - } - } - - private void btnExplorePackageFolder_Click(object sender, EventArgs e) - { - var selected = lstPackageFolders.SelectedIndex; - Console.WriteLine(lstPackageFolders.Items[selected].ToString()); - if (selected > -1) - { - var path = lstPackageFolders.Items[selected].ToString(); - LaunchExplorer(path); - } - } - - private void btnAddAssetStoreFolder_Click(object sender, EventArgs e) - { - var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Unity", "Asset Store-5.x"); - if (Directory.Exists(path) == true) - { - if (lstPackageFolders.Items.Contains(path) == false) - { - lstPackageFolders.Items.Add(path); - Properties.Settings.Default.packageFolders.Add(path); - Properties.Settings.Default.Save(); - } - } - } - - - - #endregion - } -} +using Microsoft.Win32; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Net; +using System.Reflection; +using System.Text; +using System.Text.RegularExpressions; +using System.Windows.Forms; +using UnityLauncherTools; + +namespace UnityLauncher +{ + public partial class Form1 : Form + { + public static Dictionary unityList = new Dictionary(); + const string contextRegRoot = "Software\\Classes\\Directory\\Background\\shell"; + const string launcherArgumentsFile = "LauncherArguments.txt"; + const string githubReleasesLinkURL = "https://github.com/unitycoder/UnityLauncher/releases"; + + bool isDownloadingUnityList = false; + string previousGitRelease = "0"; + + + public Form1() + { + InitializeComponent(); + } + + private void Form1_Load(object sender, EventArgs e) + { + Start(); + } + + + + void Start() + { + SetStatus("Initializing ..."); + // check installations folder + var root = GetUnityInstallationsRootFolder(); + if (root == null || root.Length == 0) + { + SetStatus("Missing root folder ..."); + AddUnityInstallationRootFolder(); + SetStatus("Ready"); + } + + LoadSettings(); + + // scan installed unitys + bool foundUnitys = ScanUnityInstallations(); + if (foundUnitys == false) + { + SetStatus("Error> Did not find any Unity installations, try setting correct root folder ..."); + UpdateRecentProjectsList(); + tabControl1.SelectedIndex = tabControl1.TabCount - 1; // last tab is settings + return; + } + + + + // check if received -projectPath argument (that means opening from explorer / cmdline) + string[] args = Environment.GetCommandLineArgs(); + if (args != null && args.Length > 2) + { + // first argument needs to be -projectPath + var commandLineArgs = args[1]; + if (commandLineArgs == "-projectPath") + { + SetStatus("Launching from commandline ..."); + + // path + var projectPathArgument = args[2]; + + // resolve full path if path parameter isn't a rooted path + if (!Path.IsPathRooted(projectPathArgument)) + { + projectPathArgument = Directory.GetCurrentDirectory() + projectPathArgument; + } + + var version = Tools.GetProjectVersion(projectPathArgument); + + // take extra arguments also + var commandLineArguments = ""; + for (int i = 3, len = args.Length; i < len; i++) + { + commandLineArguments += " " + args[i]; + } + + // check if force-update button is down + if ((Control.ModifierKeys & Keys.Shift) != 0) + { + DisplayUpgradeDialog(version, projectPathArgument, launchProject: true, commandLineArguments: commandLineArguments); + } + else + { + // try launching it + LaunchProject(projectPathArgument, version, openProject: true, commandLineArguments: commandLineArguments); + } + + + // quit after launch if enabled in settings + if (Properties.Settings.Default.closeAfterExplorer == true) + { + Application.Exit(); + } + + //SetStatus("Ready"); + } + else + { + SetStatus("Error> Invalid arguments:" + args[1]); + } + } + + UpdateRecentProjectsList(); + + // preselect grid + gridRecent.Select(); + + // get previous version build info string + // this string is release tag for latest release when this app was compiled + using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("UnityLauncher." + "PreviousVersion.txt")) + using (StreamReader reader = new StreamReader(stream)) + { + previousGitRelease = reader.ReadToEnd().Trim(); + } + } + + void LoadSettings() + { + // form size + this.Width = Properties.Settings.Default.formWidth; + this.Height = Properties.Settings.Default.formHeight; + + // update settings window + chkMinimizeToTaskbar.Checked = Properties.Settings.Default.minimizeToTaskbar; + chkQuitAfterCommandline.Checked = Properties.Settings.Default.closeAfterExplorer; + ChkQuitAfterOpen.Checked = Properties.Settings.Default.closeAfterProject; + chkShowLauncherArgumentsColumn.Checked = Properties.Settings.Default.showArgumentsColumn; + chkShowGitBranchColumn.Checked = Properties.Settings.Default.showGitBranchColumn; + chkDarkSkin.Checked = Properties.Settings.Default.useDarkSkin; + + // update optional grid columns, hidden or visible + gridRecent.Columns["_launchArguments"].Visible = chkShowLauncherArgumentsColumn.Checked; + gridRecent.Columns["_gitBranch"].Visible = chkShowGitBranchColumn.Checked; + + // update installations folder listbox + lstRootFolders.Items.Clear(); + lstRootFolders.Items.AddRange(Properties.Settings.Default.rootFolders.Cast().ToArray()); + // update packages folder listbox + lstPackageFolders.Items.AddRange(Properties.Settings.Default.packageFolders.Cast().ToArray()); + + // restore data grid view widths + int[] gridColumnWidths = Properties.Settings.Default.gridColumnWidths; + if (gridColumnWidths != null) + { + + for (int i = 0; i < gridColumnWidths.Length; ++i) + { + gridRecent.Columns[i].Width = gridColumnWidths[i]; + } + } + + // TODO assign colors for dark theme + if (chkDarkSkin.Checked == true) + { + var darkBg = Color.FromArgb(32, 37, 41); + var darkRaised = Color.FromArgb(50, 56, 61); + var darkBright = Color.FromArgb(161, 180, 196); + + + this.BackColor = darkBg; + tabProjects.BackColor = darkRaised; + gridRecent.BackgroundColor = darkRaised; + + gridRecent.GridColor = darkBg; + var dgs = new DataGridViewCellStyle(); + dgs.BackColor = darkRaised; + dgs.ForeColor = darkBright; + gridRecent.DefaultCellStyle = dgs; + + statusStrip1.BackColor = darkRaised; + } + } + + /// + /// returns true if we have exact version installed + /// + /// + /// + bool HaveExactVersionInstalled(string version) + { + return string.IsNullOrEmpty(version) == false && unityList.ContainsKey(version); + } + + + void AddUnityInstallationRootFolder() + { + folderBrowserDialog1.Description = "Select Unity installations root folder"; + var d = folderBrowserDialog1.ShowDialog(); + var newRoot = folderBrowserDialog1.SelectedPath; + + if (String.IsNullOrWhiteSpace(newRoot) == false && Directory.Exists(newRoot) == true) + { + lstRootFolders.Items.Add(newRoot); + Properties.Settings.Default.rootFolders.Add(newRoot); + Properties.Settings.Default.Save(); + } + } + + bool ScanUnityInstallations() + { + SetStatus("Scanning Unity installations ..."); + + // dictionary to keep version and path + unityList.Clear(); + + // installed unitys list in other tab + gridUnityList.Rows.Clear(); + + // iterate all root folders + foreach (string root in lstRootFolders.Items) + { + if (String.IsNullOrWhiteSpace(root) == false && Directory.Exists(root) == true) + { + // parse all folders here, and search for unity editor files + var directories = Directory.GetDirectories(root); + for (int i = 0, length = directories.Length; i < length; i++) + { + var uninstallExe = Path.Combine(directories[i], "Editor", "Uninstall.exe"); + if (File.Exists(uninstallExe) == true) + { + var unityExe = Path.Combine(directories[i], "Editor", "Unity.exe"); + if (File.Exists(unityExe) == true) + { + // get full version number from uninstaller + var unityVersion = Tools.GetFileVersionData(uninstallExe).Replace("Unity", "").Trim(); + if (unityList.ContainsKey(unityVersion) == false) + { + unityList.Add(unityVersion, unityExe); + var dataFolder = Path.Combine(directories[i], "Editor", "Data"); + DateTime? installDate = Tools.GetLastModifiedTime(dataFolder); + // TODO add platforms: PC|iOS|tvOS|Android|UWP|WebGL|Facebook|XBox|PSVita|PS4 + gridUnityList.Rows.Add(unityVersion, unityExe, installDate); + } + } // have unity.exe + } // have uninstaller.exe + else // no uninstaller, probably preview builds + { + var unityExe = Path.Combine(directories[i], "Editor", "Unity.exe"); + if (File.Exists(unityExe) == true) + { + // get full version number from uninstaller + var unityVersion = Tools.GetFileVersionData(unityExe).Replace("Unity", "").Trim(); + if (unityList.ContainsKey(unityVersion) == false) + { + unityList.Add(unityVersion, unityExe); + var dataFolder = Path.Combine(directories[i], "Editor", "Data"); + DateTime? installDate = Tools.GetLastModifiedTime(dataFolder); + // TODO add platforms: PC|iOS|tvOS|Android|UWP|WebGL|Facebook|XBox|PSVita|PS4 + gridUnityList.Rows.Add(unityVersion, unityExe, installDate); + } + } // have unity.exe + } + } // got folders + } // failed check + } // all root folders + + lbl_unityCount.Text = "Found " + unityList.Count.ToString() + " versions"; + + SetStatus("Finished scanning"); + + // found any Unity installations? + return unityList.Count > 0; + } + + + void FilterRecentProject(object sender, EventArgs e) + { + SetStatus("Filtering recent projects list ..."); + string searchString = tbSearchBar.Text; + + foreach (DataGridViewRow row in gridRecent.Rows) + { + if (row.Cells["_project"].Value.ToString().IndexOf(searchString, StringComparison.OrdinalIgnoreCase) > -1) + { + row.Visible = true; + } + else + { + row.Visible = false; + } + } + + lblClearSearchField.Visible = tbSearchBar.Text.Length > 0; + + } + + void FilterUnityUpdates(object sender, EventArgs e) + { + SetStatus("Filtering Unity updates list ..."); + string searchString = tbSearchUpdates.Text; + foreach (DataGridViewRow row in gridUnityUpdates.Rows) + { + if (row.Cells["_UnityUpdateVersion"].Value.ToString().IndexOf(searchString, StringComparison.OrdinalIgnoreCase) > -1) + { + row.Visible = true; + } + else + { + row.Visible = false; + } + } + } + + /// + /// scans registry for recent projects and adds to project grid list + /// + void UpdateRecentProjectsList() + { + SetStatus("Updating recent projects list ..."); + + gridRecent.Rows.Clear(); + + var hklm = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry64); + string[] registryPathsToCheck = new string[] { @"SOFTWARE\Unity Technologies\Unity Editor 5.x", @"SOFTWARE\Unity Technologies\Unity Editor 4.x" }; + + // check each version path + for (int i = 0, len = registryPathsToCheck.Length; i < len; i++) + { + RegistryKey key = hklm.OpenSubKey(registryPathsToCheck[i]); + + if (key == null) + { + continue; + } + else + { + //Console.WriteLine("Null registry key at " + registryPathsToCheck[i]); + } + + // parse recent project path + foreach (var valueName in key.GetValueNames()) + { + if (valueName.IndexOf("RecentlyUsedProjectPaths-") == 0) + { + string projectPath = ""; + // check if binary or not + var valueKind = key.GetValueKind(valueName); + if (valueKind == RegistryValueKind.Binary) + { + byte[] projectPathBytes = (byte[])key.GetValue(valueName); + projectPath = Encoding.UTF8.GetString(projectPathBytes, 0, projectPathBytes.Length - 1); + } + else // should be string then + { + projectPath = (string)key.GetValue(valueName); + } + + // first check if whole folder exists, if not, skip + if (Directory.Exists(projectPath) == false) + { + //Console.WriteLine("Recent project directory not found, skipping: " + projectPath); + continue; + } + + string projectName = ""; + + // get project name from full path + if (projectPath.IndexOf(Path.DirectorySeparatorChar) > -1) + { + projectName = projectPath.Substring(projectPath.LastIndexOf(Path.DirectorySeparatorChar) + 1); + } + else if (projectPath.IndexOf(Path.AltDirectorySeparatorChar) > -1) + { + projectName = projectPath.Substring(projectPath.LastIndexOf(Path.AltDirectorySeparatorChar) + 1); + } + else // no path separator found + { + projectName = projectPath; + } + + string csprojFile = Path.Combine(projectPath, projectName + ".csproj"); + + // solution only + if (File.Exists(csprojFile) == false) + { + csprojFile = Path.Combine(projectPath, projectName + ".sln"); + } + + // editor only project + if (File.Exists(csprojFile) == false) + { + csprojFile = Path.Combine(projectPath, projectName + ".Editor.csproj"); + } + + // maybe 4.x project + if (File.Exists(csprojFile) == false) + { + csprojFile = Path.Combine(projectPath, "Assembly-CSharp.csproj"); + } + + // get last modified date + DateTime? lastUpdated = Tools.GetLastModifiedTime(csprojFile); + + // get project version + string projectVersion = Tools.GetProjectVersion(projectPath); + + // get custom launch arguments, only if column in enabled + string customArgs = ""; + if (chkShowLauncherArgumentsColumn.Checked == true) + { + customArgs = Tools.ReadCustomLaunchArguments(projectPath, launcherArgumentsFile); + } + + // get git branchinfo, only if column in enabled + string gitBranch = ""; + if (chkShowGitBranchColumn.Checked == true) + { + gitBranch = Tools.ReadGitBranchInfo(projectPath); + } + + gridRecent.Rows.Add(projectName, projectVersion, projectPath, lastUpdated, customArgs, gitBranch); + gridRecent.Rows[gridRecent.Rows.Count - 1].Cells[1].Style.ForeColor = HaveExactVersionInstalled(projectVersion) ? Color.Green : Color.Red; + } + } + } + //SetStatus("Ready"); + } + + void LaunchProject(string projectPath, string version, bool openProject = true, string commandLineArguments = "") + { + if (Directory.Exists(projectPath) == true) + { + // no assets path, probably we want to create new project then + var assetsFolder = Path.Combine(projectPath, "Assets"); + if (Directory.Exists(assetsFolder) == false) + { + // TODO could ask if want to create project.. + Directory.CreateDirectory(assetsFolder); + } + + // when opening project, check for crashed backup scene first + if (openProject == true) + { + var cancelLaunch = CheckCrashBackupScene(projectPath); + if (cancelLaunch == true) + { + return; + } + } + + if (HaveExactVersionInstalled(version) == true) + { + if (openProject == true) + { + SetStatus("Launching project in Unity " + version); + } + else + { + SetStatus("Launching Unity " + version); + } + + try + { + Process myProcess = new Process(); + var cmd = "\"" + unityList[version] + "\""; + myProcess.StartInfo.FileName = cmd; + if (openProject == true) + { + var pars = " -projectPath " + "\"" + projectPath + "\""; + + // check for custom launch parameters and append them + string customArguments = GetSelectedRowData("_launchArguments"); + if (string.IsNullOrEmpty(customArguments) == false) + { + pars += " " + customArguments; + } + + myProcess.StartInfo.Arguments = pars + commandLineArguments; + } + myProcess.Start(); + + if (Properties.Settings.Default.closeAfterProject) + { + Environment.Exit(0); + } + } + catch (Exception ex) + { + Console.WriteLine(ex); + } + } + else // we dont have this version installed (or no version info available) + { + SetStatus("Missing Unity version: " + version); + // if only running only, stop here + if (openProject == true) DisplayUpgradeDialog(version, projectPath); + } + } + else // given path doesnt exists, strange + { + SetStatus("Invalid path: " + projectPath); + } + } + + bool CheckCrashBackupScene(string projectPath) + { + var cancelRunningUnity = false; + var recoveryFile = Path.Combine(projectPath, "Temp", "__Backupscenes", "0.backup"); + if (File.Exists(recoveryFile)) + { + DialogResult dialogResult = MessageBox.Show("Crash recovery scene found, do you want to copy it into Assets/_Recovery/-folder?", "UnityLauncher - Scene Recovery", MessageBoxButtons.YesNoCancel); + if (dialogResult == DialogResult.Yes) // restore + { + var restoreFolder = Path.Combine(projectPath, "Assets", "_Recovery"); + if (Directory.Exists(restoreFolder) == false) + { + Directory.CreateDirectory(restoreFolder); + } + if (Directory.Exists(restoreFolder) == true) + { + Int32 unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; + var uniqueFileName = "Recovered_Scene" + unixTimestamp + ".unity"; + File.Copy(recoveryFile, Path.Combine(restoreFolder, uniqueFileName)); + SetStatus("Recovered crashed scene into: " + restoreFolder); + } + else + { + SetStatus("Error: Failed to create restore folder: " + restoreFolder); + cancelRunningUnity = true; + } + } + else if (dialogResult == DialogResult.Cancel) // dont do restore, but run Unity + { + cancelRunningUnity = true; + } + } + return cancelRunningUnity; + } + + // parse Unity installer exe from release page + // thanks to https://github.com/softfruit + string ParseDownloadURLFromWebpage(string version) + { + string url = ""; + + using (WebClient client = new WebClient()) + { + // get correct page url + string website = "https://unity3d.com/get-unity/download/archive"; + if (Tools.VersionIsPatch(version)) website = "https://unity3d.com/unity/qa/patch-releases"; + if (Tools.VersionIsBeta(version)) website = "https://unity3d.com/unity/beta/" + version; + if (Tools.VersionIsAlpha(version)) website = "https://unity3d.com/unity/alpha/" + version; + + // download html + string sourceHTML = client.DownloadString(website); + string[] lines = sourceHTML.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None); + + // patch version download assistant finder + if (Tools.VersionIsPatch(version)) + { + for (int i = 0; i < lines.Length; i++) + { + if (lines[i].Contains("UnityDownloadAssistant-" + version + ".exe")) + { + int start = lines[i].IndexOf('"') + 1; + int end = lines[i].IndexOf('"', start); + url = lines[i].Substring(start, end - start); + break; + } + } + } + else if (Tools.VersionIsArchived(version)) + { + // archived version download assistant finder + for (int i = 0; i < lines.Length; i++) + { + // find line where full installer is (from archive page) + if (lines[i].Contains("UnitySetup64-" + version)) + { + // take previous line, which contains download assistant url + string line = lines[i - 1]; + int start = line.IndexOf('"') + 1; + int end = line.IndexOf('"', start); + url = @"https://unity3d.com" + line.Substring(start, end - start); + break; + } + } + } + else // alpha or beta version download assistant finder + { + for (int i = 0; i < lines.Length; i++) + { + if (lines[i].Contains("UnityDownloadAssistant.exe")) + { + int start = lines[i].IndexOf('"') + 1; + int end = lines[i].IndexOf('"', start); + url = lines[i].Substring(start, end - start) + "#version=" + version; + break; + } + } + } + } + + // didnt find installer + if (string.IsNullOrEmpty(url)) + { + SetStatus("Cannot find UnityDownloadAssistant.exe for this version."); + } + + return url; + } + + /// + /// launches browser to download installer + /// + /// full url to installer + void DownloadInBrowser(string url, string version) + { + string exeURL = ParseDownloadURLFromWebpage(version); + + if (string.IsNullOrEmpty(exeURL) == false) + { + SetStatus("Download installer in browser: " + exeURL); + Process.Start(exeURL); + } + else // not found + { + SetStatus("Error> Cannot find installer executable ... opening website instead"); + url = "https://unity3d.com/get-unity/download/archive"; + Process.Start(url + "#installer-not-found---version-" + version); + } + } + + /// + /// get rootfolder from settings, default is c:\program files\ + /// + /// + string[] GetUnityInstallationsRootFolder() + { + string[] rootFolders = null; + try + { + // if settings exists, use that value + rootFolders = new string[Properties.Settings.Default.rootFolders.Count]; + Properties.Settings.Default.rootFolders.CopyTo(rootFolders, 0); + } + catch (Exception e) + { + MessageBox.Show("Rare error while checking Unity installation folder settings: " + e.Message, "UnityLauncher", MessageBoxButtons.OK); + + // this doesnt work? + Properties.Settings.Default.Reset(); + Properties.Settings.Default.Save(); + } + return rootFolders; + } + + void SetStatus(string msg) + { + toolStripStatusLabel1.Text = msg; + this.Refresh(); + } + + private void ShowForm() + { + this.WindowState = FormWindowState.Minimized; + this.Show(); + this.WindowState = FormWindowState.Normal; + notifyIcon.Visible = false; + } + + void LaunchSelectedProject(bool openProject = true) + { + FixSelectedRow(); + var selected = gridRecent?.CurrentCell?.RowIndex; + + if (selected.HasValue && selected > -1) + { + var projectPath = gridRecent.Rows[(int)selected].Cells["_path"].Value.ToString(); + var version = Tools.GetProjectVersion(projectPath); + Console.WriteLine("version: '" + version + "'"); + LaunchProject(projectPath, version, openProject); + //SetStatus("Ready"); + } + } + + void LaunchSelectedUnity() + { + + var selected = gridUnityList?.CurrentCell?.RowIndex; + if (selected.HasValue && selected > -1) + { + var version = gridUnityList.Rows[(int)selected].Cells["_unityVersion"].Value.ToString(); + SetStatus("Launching Unity: " + version); + try + { + Process myProcess = new Process(); + var cmd = "\"" + unityList[version] + "\""; + myProcess.StartInfo.FileName = cmd; + myProcess.Start(); + } + catch (Exception ex) + { + Console.WriteLine(ex); + } + //SetStatus("Ready"); + } + } + + void AddPackageFolder() + { + folderBrowserDialog1.Description = "Select package folder"; + var d = folderBrowserDialog1.ShowDialog(); + var newPackageFolder = folderBrowserDialog1.SelectedPath; + + if (String.IsNullOrWhiteSpace(newPackageFolder) == false && Directory.Exists(newPackageFolder) == true) + { + lstPackageFolders.Items.Add(newPackageFolder); + Properties.Settings.Default.packageFolders.Add(newPackageFolder); + Properties.Settings.Default.Save(); + } + } + + + #region Buttons and UI events + + private void btnRemoveRegister_Click(object sender, EventArgs e) + { + Tools.RemoveContextMenuRegistry(contextRegRoot); + } + + private void chkMinimizeToTaskbar_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.minimizeToTaskbar = chkMinimizeToTaskbar.Checked; + Properties.Settings.Default.Save(); + } + + + + private void btnAddPackageFolder_Click(object sender, EventArgs e) + { + AddPackageFolder(); + } + + private void btnRemovePackFolder_Click(object sender, EventArgs e) + { + if (lstPackageFolders.SelectedIndex > -1) + { + lstPackageFolders.Items.RemoveAt(lstPackageFolders.SelectedIndex); + } + } + + private void btnOpenReleasePage_Click(object sender, EventArgs e) + { + var selected = gridUnityList?.CurrentCell?.RowIndex; + if (selected.HasValue && selected > -1) + { + var version = gridUnityList.Rows[(int)selected].Cells["_unityVersion"].Value.ToString(); + if (Tools.OpenReleaseNotes(version) == true) + { + SetStatus("Opening release notes for version " + version); + } + else + { + SetStatus("Failed opening Release Notes URL for version " + version); + } + } + } + + private void btnLaunchUnity_Click(object sender, EventArgs e) + { + LaunchSelectedUnity(); + } + + private void btnExploreUnity_Click(object sender, EventArgs e) + { + + var selected = gridUnityList?.CurrentCell?.RowIndex; + if (selected.HasValue && selected > -1) + { + var unityPath = Path.GetDirectoryName(gridUnityList.Rows[(int)selected].Cells["_unityPath"].Value.ToString()); + if (Tools.LaunchExplorer(unityPath) == false) + { + SetStatus("Error> Directory not found: " + unityPath); + } + } + } + + private void btnAddUnityFolder_Click(object sender, EventArgs e) + { + AddUnityInstallationRootFolder(); + ScanUnityInstallations(); + UpdateRecentProjectsList(); + } + + private void btnRemoveInstallFolder_Click(object sender, EventArgs e) + { + if (lstRootFolders.SelectedIndex > -1) + { + Properties.Settings.Default.rootFolders.Remove(lstRootFolders.Items[lstRootFolders.SelectedIndex].ToString()); + Properties.Settings.Default.Save(); + lstRootFolders.Items.RemoveAt(lstRootFolders.SelectedIndex); + ScanUnityInstallations(); + } + } + + private void btnFetchUnityVersions_Click(object sender, EventArgs e) + { + FetchListOfUnityUpdates(); + } + + int lastKnownSelectedRow = -1; + private void unityGridView_KeyDown(object sender, KeyEventArgs e) + { + switch (e.KeyCode) + { + case Keys.Return: // launch selected Unity + e.SuppressKeyPress = true; + LaunchSelectedUnity(); + break; + case Keys.F5: // refresh installed Unity versions list + ScanUnityInstallations(); + UpdateRecentProjectsList(); + break; + default: + break; + } + } + + /// + /// global keys + /// + /// + /// + private void Form1_KeyPress(object sender, KeyPressEventArgs e) + { + // if editing cells, dont focus on search + if (gridRecent.IsCurrentCellInEditMode == true) return; + + switch ((int)e.KeyChar) + { + case 27: // ESCAPE - clear search + if (tabControl1.SelectedIndex == 0 && tbSearchBar.Text != "") + { + tbSearchBar.Text = ""; + lblClearSearchField.Visible = false; + } + else if (tabControl1.SelectedIndex == 3 && tbSearchUpdates.Text != "") + { + tbSearchUpdates.Text = ""; + } + break; + default: // any key + // activate searchbar if not active and we are in tab#1 + if (tabControl1.SelectedIndex == 0 && tbSearchBar.Focused == false) + { + // skip tab key on search field + if ((int)e.KeyChar == 9) + { + break; + } + tbSearchBar.Focus(); + tbSearchBar.Text += e.KeyChar; + tbSearchBar.Select(tbSearchBar.Text.Length, 0); + lblClearSearchField.Visible = tbSearchBar.Text.Length > 0; + } + break; + } + } + + /// + /// grid keys + /// + /// + /// + private void gridRecent_KeyDown(object sender, KeyEventArgs e) + { + // if editing cells, dont search or launch + if (gridRecent.IsCurrentCellInEditMode == true) return; + + switch (e.KeyCode) + { + case Keys.Return: // launch selected project + e.SuppressKeyPress = true; + LaunchSelectedProject(); + break; + case Keys.F5: // refresh recent projects list + lastKnownSelectedRow = GetSelectedRowIndex(); + Console.WriteLine(lastKnownSelectedRow); + UpdateRecentProjectsList(); + SetSelectedRowIndex(lastKnownSelectedRow); + break; + default: + break; + } + } + + //Checks if you are doubleclicking the current cell + private void GridRecent_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) + { + if (e.Button == MouseButtons.Left && e.RowIndex == gridRecent.CurrentCell.RowIndex) + { + LaunchSelectedProject(); + } + } + + // set basefolder of all Unity installations + private void btn_setinstallfolder_Click(object sender, EventArgs e) + { + AddUnityInstallationRootFolder(); + ScanUnityInstallations(); + UpdateRecentProjectsList(); + } + + private void btnLaunch_Click(object sender, EventArgs e) + { + LaunchSelectedProject(); + } + + private void Form1_Resize(object sender, EventArgs e) + { + if (chkMinimizeToTaskbar.Checked == true) + { + if (FormWindowState.Minimized == this.WindowState) + { + notifyIcon.Visible = true; + this.Hide(); + } + else if (FormWindowState.Normal == this.WindowState) + { + notifyIcon.Visible = false; + } + } + } + + private void btnRefresh_Click(object sender, EventArgs e) + { + ScanUnityInstallations(); + UpdateRecentProjectsList(); + } + + private void notifyIcon_MouseClick(object sender, MouseEventArgs e) + { + ShowForm(); + } + + private void btn_openFolder_Click(object sender, EventArgs e) + { + FixSelectedRow(); + var selected = gridRecent?.CurrentCell?.RowIndex; + if (selected.HasValue && selected > -1) + { + string folder = gridRecent.Rows[(int)selected].Cells["_path"].Value.ToString(); + if (Tools.LaunchExplorer(folder) == false) + { + SetStatus("Error> Directory not found: " + folder); + } + } + } + + private void btnExplorePackageFolder_Click(object sender, EventArgs e) + { + var selected = lstPackageFolders.SelectedIndex; + //Console.WriteLine(lstPackageFolders.Items[selected].ToString()); + if (selected > -1) + { + string folder = lstPackageFolders.Items[selected].ToString(); + if (Tools.LaunchExplorer(folder) == false) + { + SetStatus("Error> Directory not found: " + folder); + } + } + } + + private void btnAddAssetStoreFolder_Click(object sender, EventArgs e) + { + var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Unity", "Asset Store-5.x"); + if (Directory.Exists(path) == true) + { + if (lstPackageFolders.Items.Contains(path) == false) + { + lstPackageFolders.Items.Add(path); + Properties.Settings.Default.packageFolders.Add(path); + Properties.Settings.Default.Save(); + } + } + } + + private void btnAddRegister_Click(object sender, EventArgs e) + { + Tools.AddContextMenuRegistry(contextRegRoot); + } + + private void ChkQuitAfterOpen_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.closeAfterProject = ChkQuitAfterOpen.Checked; + Properties.Settings.Default.Save(); + } + + private void chkQuitAfterCommandline_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.closeAfterExplorer = chkQuitAfterCommandline.Checked; + Properties.Settings.Default.Save(); + } + + private void chkDarkSkin_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.useDarkSkin = chkDarkSkin.Checked; + Properties.Settings.Default.Save(); + } + + private void btnRunUnityOnly_Click(object sender, EventArgs e) + { + LaunchSelectedProject(openProject: false); + } + + private void btnUpgradeProject_Click(object sender, EventArgs e) + { + UpgradeProject(); + } + + private void btnOpenLogFolder_Click(object sender, EventArgs e) + { + var logfolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Unity", "Editor"); + if (Directory.Exists(logfolder) == true) + { + if (Tools.LaunchExplorer(logfolder) == false) + { + SetStatus("Error> Directory not found: " + logfolder); + } + } + } + + private void btnOpenUpdateWebsite_Click(object sender, EventArgs e) + { + FixSelectedRow(); + var selected = gridUnityUpdates?.CurrentCell?.RowIndex; + if (selected.HasValue && selected > -1) + { + var version = gridUnityUpdates.Rows[(int)selected].Cells["_UnityUpdateVersion"].Value.ToString(); + Tools.OpenReleaseNotes(version); + } + } + + private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) + { + // if enter Updates tab, then automatically fetch list of Unity versions if list is empty (not fetched) + if (((TabControl)sender).SelectedIndex == 3) // FIXME: fixed index 3 for this tab.. + { + if (gridUnityUpdates.Rows.Count == 0) + { + FetchListOfUnityUpdates(); + } + } + } + + private void Form1_ResizeEnd(object sender, EventArgs e) + { + var form = (Form)sender; + Properties.Settings.Default.formWidth = form.Size.Width; + Properties.Settings.Default.formHeight = form.Size.Height; + Properties.Settings.Default.Save(); + } + + private void checkShowLauncherArgumentsColumn_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.showArgumentsColumn = chkShowLauncherArgumentsColumn.Checked; + Properties.Settings.Default.Save(); + gridRecent.Columns["_launchArguments"].Visible = chkShowLauncherArgumentsColumn.Checked; + // reload list data, if enabled (otherwise missing data) + if (chkShowLauncherArgumentsColumn.Checked == true) UpdateRecentProjectsList(); + } + + private void checkShowGitBranchColumn_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.showGitBranchColumn = chkShowGitBranchColumn.Checked; + Properties.Settings.Default.Save(); + gridRecent.Columns["_gitBranch"].Visible = chkShowGitBranchColumn.Checked; + // reload list data, if enabled (otherwise missing data) + if (chkShowGitBranchColumn.Checked == true) UpdateRecentProjectsList(); + } + + + private void linkArgumentsDocs_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + Tools.OpenURL("https://docs.unity3d.com/Manual/CommandLineArguments.html"); + } + + private void linkProjectGithub_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + Tools.OpenURL("https://github.com/unitycoder/UnityLauncher/releases"); + } + + + // after editing launch arguments cell + private void gridRecent_CellEndEdit(object sender, DataGridViewCellEventArgs e) + { + string path = GetSelectedRowData("_path"); + if (string.IsNullOrEmpty(path)) return; + + string arguments = GetSelectedRowData("_launchArguments"); + + // check folder first + string outputFolder = Path.Combine(path, "ProjectSettings"); + if (Directory.Exists(outputFolder) == false) + { + Directory.CreateDirectory(outputFolder); + } + + // save arguments to projectsettings folder + string outputFile = Path.Combine(path, "ProjectSettings", launcherArgumentsFile); + + try + { + StreamWriter sw = new StreamWriter(outputFile); + sw.WriteLine(arguments); + sw.Close(); + } + catch (Exception exception) + { + SetStatus("File error: " + exception.Message); + } + + // select the same row again (dont move to next), doesnt work here + // var previousRow = gridRecent.CurrentCell.RowIndex; + // gridRecent.Rows[previousRow].Selected = true; + } + + private void btnCheckUpdates_Click(object sender, EventArgs e) + { + Tools.OpenURL("https://github.com/unitycoder/UnityLauncher/releases"); + } + + private void btnRefreshProjectList_Click(object sender, EventArgs e) + { + UpdateRecentProjectsList(); + } + + private void btnBrowseForProject_Click(object sender, EventArgs e) + { + BrowseForExistingProjectFolder(); + } + + private void Form1_FormClosing(object sender, FormClosingEventArgs e) + { + SaveSettingsOnExit(); + } + + #endregion UI events + + + + + // displays version selector to upgrade project + void UpgradeProject() + { + FixSelectedRow(); + var selected = gridRecent?.CurrentCell?.RowIndex; + if (selected.HasValue && selected > -1) + { + SetStatus("Upgrading project ..."); + + var projectPath = gridRecent.Rows[(int)selected].Cells["_path"].Value.ToString(); + var currentVersion = Tools.GetProjectVersion(projectPath); + + if (string.IsNullOrEmpty(currentVersion) == true) + { + // TODO no version info available, should handle errors? + } + else // have version info + { + bool haveExactVersion = HaveExactVersionInstalled(currentVersion); + if (haveExactVersion == true) + { + // you already have exact version, are you sure about upgrade? + } + } + DisplayUpgradeDialog(currentVersion, projectPath, true); + } + } + + void DisplayUpgradeDialog(string currentVersion, string projectPath, bool launchProject = true, string commandLineArguments = "") + { + // display upgrade dialog (version selector) + Form2 upgradeDialog = new Form2(); + Form2.currentVersion = currentVersion; + + // check what user selected + var results = upgradeDialog.ShowDialog(this); + switch (results) + { + case DialogResult.Ignore: // view release notes page + Tools.OpenReleaseNotes(currentVersion); + // display window again for now.. + DisplayUpgradeDialog(currentVersion, projectPath, launchProject, commandLineArguments); + break; + case DialogResult.Cancel: // cancelled + SetStatus("Cancelled project upgrade"); + break; + case DialogResult.Retry: // download and install missing version + SetStatus("Download and install missing version " + currentVersion); + string url = Tools.GetUnityReleaseURL(currentVersion); + if (string.IsNullOrEmpty(url) == false) + { + DownloadInBrowser(url, currentVersion); + } + else + { + SetStatus("Failed getting Unity Installer URL"); + } + break; + case DialogResult.Yes: // upgrade + SetStatus("Upgrading project to " + Form2.currentVersion); + if (launchProject == true) LaunchProject(projectPath, Form2.currentVersion); + break; + default: + Console.WriteLine("Unknown DialogResult: " + results); + break; + } + upgradeDialog.Close(); + } + + private void FetchListOfUnityUpdates() + { + if (isDownloadingUnityList == true) + { + SetStatus("We are already downloading ..."); + return; + } + isDownloadingUnityList = true; + SetStatus("Downloading list of Unity versions ..."); + + // download list of Unity versions + using (WebClient webClient = new WebClient()) + { + webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(UnityVersionsListDownloaded); + var unityVersionsURL = @"http://symbolserver.unity3d.com/000Admin/history.txt"; + webClient.DownloadStringAsync(new Uri(unityVersionsURL)); + } + } + + private void UnityVersionsListDownloaded(object sender, DownloadStringCompletedEventArgs e) + { + // TODO check for error.. + SetStatus("Downloading list of Unity versions ... done"); + isDownloadingUnityList = false; + + // parse to list + var receivedList = e.Result.Split(new[] { Environment.NewLine }, StringSplitOptions.None); + Array.Reverse(receivedList); + gridUnityUpdates.Rows.Clear(); + // fill in, TODO: show only top 50 or so + for (int i = 0, len = receivedList.Length; i < len; i++) + { + var row = receivedList[i].Split(','); + var versionTemp = row[6].Trim('"'); + gridUnityUpdates.Rows.Add(row[3], versionTemp); + + // set color if we already have it installed + gridUnityUpdates.Rows[i].Cells[1].Style.ForeColor = unityList.ContainsKey(versionTemp) ? Color.Green : Color.Black; + } + } + + // returns currently selected rows path string + string GetSelectedRowData(string key) + { + string path = null; + FixSelectedRow(); + var selected = gridRecent?.CurrentCell?.RowIndex; + if (selected.HasValue && selected > -1) + { + path = gridRecent.Rows[(int)selected].Cells[key].Value?.ToString(); + } + return path; + } + + void BrowseForExistingProjectFolder() + { + folderBrowserDialog1.Description = "Select existing project folder"; + var d = folderBrowserDialog1.ShowDialog(); + var projectPath = folderBrowserDialog1.SelectedPath; + + // NOTE: if user didnt click enter or deselect-select newly created folder, this fails as it returns "new folder" instead of actual name + // https://social.msdn.microsoft.com/Forums/vstudio/en-US/cc7f1d54-c1a0-45de-9611-7f69873f32df/folderbrowserdialog-bug-when-click-ok-while-modify-new-folders-name?forum=netfxbcl + + if (String.IsNullOrWhiteSpace(projectPath) == false && Directory.Exists(projectPath) == true) + { + // TODO: remove duplicate code (from UpdateRecentList()) + string projectName = ""; + + // get project name from full path + if (projectPath.IndexOf(Path.DirectorySeparatorChar) > -1) + { + projectName = projectPath.Substring(projectPath.LastIndexOf(Path.DirectorySeparatorChar) + 1); + } + else if (projectPath.IndexOf(Path.AltDirectorySeparatorChar) > -1) + { + projectName = projectPath.Substring(projectPath.LastIndexOf(Path.AltDirectorySeparatorChar) + 1); + } + else // no path separator found + { + projectName = projectPath; + } + + string csprojFile = Path.Combine(projectPath, projectName + ".csproj"); + + // editor only project + if (File.Exists(csprojFile) == false) + { + csprojFile = Path.Combine(projectPath, projectName + ".Editor.csproj"); + } + + // maybe 4.x project + if (File.Exists(csprojFile) == false) + { + csprojFile = Path.Combine(projectPath, "Assembly-CSharp.csproj"); + } + + // get last modified date + DateTime? lastUpdated = Tools.GetLastModifiedTime(csprojFile); + + // get project version + string projectVersion = Tools.GetProjectVersion(projectPath); + + // get custom launch arguments, only if column in enabled + string customArgs = ""; + if (chkShowLauncherArgumentsColumn.Checked == true) + { + customArgs = Tools.ReadCustomLaunchArguments(projectPath, launcherArgumentsFile); + } + + // get git branchinfo, only if column in enabled + string gitBranch = ""; + if (chkShowGitBranchColumn.Checked == true) + { + gitBranch = Tools.ReadGitBranchInfo(projectPath); + } + + // NOTE: list item will disappear if you dont open the project once.. + + // TODO: dont add if not a project?? + + gridRecent.Rows.Insert(0, projectName, projectVersion, projectPath, lastUpdated, customArgs, gitBranch); + gridRecent.Rows[0].Cells[1].Style.ForeColor = HaveExactVersionInstalled(projectVersion) ? Color.Green : Color.Red; + gridRecent.Rows[0].Selected = true; + gridRecent.CurrentCell = gridRecent[0, 0]; // reset position to first item + } + } + + private void SaveSettingsOnExit() + { + // save list column widths + List gridWidths; + if (Properties.Settings.Default.gridColumnWidths != null) + { + gridWidths = new List(Properties.Settings.Default.gridColumnWidths); + } + else + { + gridWidths = new List(); + } + + // restore data grid view widths + var colum = gridRecent.Columns[0]; + for (int i = 0; i < gridRecent.Columns.Count; ++i) + { + if (Properties.Settings.Default.gridColumnWidths != null && Properties.Settings.Default.gridColumnWidths.Length > i) + { + gridWidths[i] = gridRecent.Columns[i].Width; + } + else + { + gridWidths.Add(gridRecent.Columns[i].Width); + } + } + Properties.Settings.Default.gridColumnWidths = gridWidths.ToArray(); + Properties.Settings.Default.Save(); + } + + void FixSelectedRow() + { + if (gridRecent.CurrentCell == null) + { + if (gridRecent.SelectedRows.Count != 0) + { + DataGridViewRow row = gridRecent.SelectedRows[0]; + gridRecent.CurrentCell = row.Cells[0]; + } + } + } + + private void btnOpenLogcatCmd_Click(object sender, EventArgs e) + { + try + { + Process myProcess = new Process(); + var cmd = "cmd.exe"; + myProcess.StartInfo.FileName = cmd; + // NOTE windows 10 cmd line supports ansi colors, otherwise remove -v color + var pars = " /c adb logcat -s Unity ActivityManager PackageManager dalvikvm DEBUG -v color"; + myProcess.StartInfo.Arguments = pars; + myProcess.Start(); + } + catch (Exception ex) + { + Console.WriteLine(ex); + } + } + + int GetSelectedRowIndex() + { + var selected = gridRecent?.CurrentCell?.RowIndex; + if (selected.HasValue && selected > -1) + { + return (int)selected; + } + else + { + return -1; + } + } + + void SetSelectedRowIndex(int index) + { + if (index > -1 && index < gridRecent.Rows.Count) gridRecent.Rows[index].Selected = true; + } + + private void btnDownloadNewUnity_Click(object sender, EventArgs e) + { + FixSelectedRow(); + var selected = gridUnityUpdates?.CurrentCell?.RowIndex; + if (selected.HasValue && selected > -1) + { + var version = gridUnityUpdates.Rows[(int)selected].Cells["_UnityUpdateVersion"].Value.ToString(); + string url = Tools.GetUnityReleaseURL(version); + if (string.IsNullOrEmpty(url) == false) + { + DownloadInBrowser(url, version); + } + } + + } + + // open LocalLow folder + private void btnPlayerLogFolder_Click(object sender, EventArgs e) + { + var logfolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "/../LocalLow"); + if (Directory.Exists(logfolder) == true) + { + if (Tools.LaunchExplorer(logfolder) == false) + { + SetStatus("Error> Directory not found: " + logfolder); + } + } + } + + private void lblClearSearchField_Click(object sender, EventArgs e) + { + tbSearchBar.Text = ""; + } + + private void lblClearSearchField_MouseEnter(object sender, EventArgs e) + { + ((Label)sender).ForeColor = Color.FromArgb(255, 0, 0, 0); + } + + private void lblClearSearchField_MouseLeave(object sender, EventArgs e) + { + ((Label)sender).ForeColor = Color.FromArgb(128, 128, 128, 128); + } + } // class Form +} // namespace \ No newline at end of file diff --git a/UnityLauncher/Form1.resx b/UnityLauncher/Form1.resx index f48841a..83ebd0f 100644 --- a/UnityLauncher/Form1.resx +++ b/UnityLauncher/Form1.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 376, 18 - 14, 20 @@ -135,6 +132,12 @@ True + + True + + + True + True @@ -147,18 +150,48 @@ True + + True + + + True + True True + + True + + + True + True True + + True + + + True + + + True + + + True + + + True + + + True + 14, 20 @@ -171,789 +204,1781 @@ - AAABAAUAEBAAAAEAIABoBAAAVgAAABgYAAABACAAiAkAAL4EAAAgIAAAAQAgAKgQAABGDgAAMDAAAAEA - IACoJQAA7h4AAEBAAAABAAgAKBYAAJZEAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAAAAAAAAAAAAAAAA - AAAAAAAACAgI/wcHB/8EBAT/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wQE - BP8HBwf/CAgI/wcHB/8cHBz/TExM/01NTf9NTU3/TU1N/01NTf9NTU3/TU1N/01NTf9NTU3/TU1N/01N - Tf9MTEz/HBwc/wcHB/8EBAT/TExM//Pz8//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3 - 9//39/f/8/Pz/0xMTP8EBAT/AwMD/01NTf/39/f//f39//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//f39//f39/9NTU3/AwMD/wMDA/9NTU3/9/f3//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/39/f/TU1N/wMDA/8DAwP/TU1N//f39//8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz/9/f3/01NTf8DAwP/AwMD/01NTf/39/f//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//f39/9NTU3/AwMD/wMDA/9NTU3/9/f3//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/39/f/TU1N/wMDA/8DAwP/TU1N//f39//8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/9/f3/01NTf8DAwP/AwMD/01NTf/39/f//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//f39/9NTU3/AwMD/wMDA/9NTU3/9/f3//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/39/f/TU1N/wMDA/8DAwP/TU1N//f3 - 9//8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/9/f3/01NTf8DAwP/AwMD/01N - Tf/39/f//f39//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//f39//f39/9NTU3/AwMD/wQE - BP9MTEz/8/Pz//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//z8/P/TExM/wQE - BP8HBwf/HBwc/0xMTP9NTU3/TU1N/01NTf9NTU3/TU1N/01NTf9NTU3/TU1N/01NTf9NTU3/TExM/xwc - HP8HBwf/CAgI/wcHB/8EBAT/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wQE - BP8HBwf/CAgI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAoAAAAGAAAADAAAAABACAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAACAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8GBgb/AwMD/wMDA/8DAwP/AwMD/wMD - A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BgYG/wgI - CP8ICAj/CAgI/wYGBv8tLS3/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dn - Z/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/LS0t/wYGBv8ICAj/CAgI/wMDA/9nZ2f///////7+ - /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ - /v//////Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMD - A/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMD - A/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMD - A/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMD - A/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMD - A/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMD - A/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMD - A/9nZ2f///////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ - /v/+/v7//v7+//7+/v//////Z2dn/wMDA/8ICAj/CAgI/wYGBv8tLS3/Z2dn/2dnZ/9nZ2f/Z2dn/2dn - Z/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/LS0t/wYG - Bv8ICAj/CAgI/wgICP8GBgb/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD - A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BgYG/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAA - AABAAAAAAQAgAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8GBgb/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD - A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BgYG/wgICP8ICAj/CAgI/wgI - CP8ICAj/BgYG/0VFRf+EhIT/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KC - gv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4SEhP9FRUX/BgYG/wgI - CP8ICAj/CAgI/wgICP8DAwP/hISE//////////////////////////////////////////////////// - /////////////////////////////////////////////////////////////////////////////4SE - hP8DAwP/CAgI/wgICP8ICAj/CAgI/wMDA/+CgoL///////z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P//////goKC/wMDA/8ICAj/CAgI/wgICP8ICAj/AwMD/4KCgv///////Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+CgoL/AwMD/wgICP8ICAj/CAgI/wgICP8DAwP/goKC///////8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//////4KCgv8DAwP/CAgI/wgICP8ICAj/CAgI/wMDA/+CgoL///////z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P//////goKC/wMDA/8ICAj/CAgI/wgICP8ICAj/AwMD/4KC - gv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+CgoL/AwMD/wgICP8ICAj/CAgI/wgI - CP8DAwP/goKC///////8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//////4KCgv8DAwP/CAgI/wgI - CP8ICAj/CAgI/wMDA/+CgoL///////z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P//////goKC/wMD - A/8ICAj/CAgI/wgICP8ICAj/AwMD/4KCgv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+CgoL/AwMD/wgICP8ICAj/CAgI/wgICP8DAwP/goKC///////8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//////4KCgv8DAwP/CAgI/wgICP8ICAj/CAgI/wMDA/+CgoL///////z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P//////goKC/wMDA/8ICAj/CAgI/wgICP8ICAj/AwMD/4KCgv///////Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+CgoL/AwMD/wgICP8ICAj/CAgI/wgICP8DAwP/goKC//// - ///8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//////4KCgv8DAwP/CAgI/wgICP8ICAj/CAgI/wMD - A/+CgoL///////z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P//////goKC/wMDA/8ICAj/CAgI/wgI - CP8ICAj/AwMD/4KCgv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+CgoL/AwMD/wgI - CP8ICAj/CAgI/wgICP8DAwP/goKC///////8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//////4KC - gv8DAwP/CAgI/wgICP8ICAj/CAgI/wMDA/+CgoL///////z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P//////goKC/wMDA/8ICAj/CAgI/wgICP8ICAj/AwMD/4KCgv///////Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+CgoL/AwMD/wgICP8ICAj/CAgI/wgICP8DAwP/goKC///////8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//////4KCgv8DAwP/CAgI/wgICP8ICAj/CAgI/wMDA/+CgoL///////z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P//////goKC/wMDA/8ICAj/CAgI/wgICP8ICAj/AwMD/4KC - gv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+CgoL/AwMD/wgICP8ICAj/CAgI/wgI - CP8DAwP/goKC///////8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//////4KCgv8DAwP/CAgI/wgI - CP8ICAj/CAgI/wMDA/+CgoL///////z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P//////goKC/wMD - A/8ICAj/CAgI/wgICP8ICAj/AwMD/4SEhP////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - //+EhIT/AwMD/wgICP8ICAj/CAgI/wgICP8GBgb/RUVF/4SEhP+CgoL/goKC/4KCgv+CgoL/goKC/4KC - gv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KC - gv+CgoL/hISE/0VFRf8GBgb/CAgI/wgICP8ICAj/CAgI/wgICP8GBgb/AwMD/wMDA/8DAwP/AwMD/wMD - A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD - A/8DAwP/AwMD/wMDA/8DAwP/BgYG/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8AAAAAAAAAAAAA + AAABAA0AICAQAAEABADoAgAA1gAAABAQEAABAAQAKAEAAL4DAAAwMAAAAQAIAKgOAADmBAAAICAAAAEA + CACoCAAAjhMAABAQAAABAAgAaAUAADYcAAAAAAAAAQAgABwFAACeIQAAQEAAAAEAIAAoQgAAuiYAADAw + AAABACAAqCUAAOJoAAAoKAAAAQAgAGgaAACKjgAAICAAAAEAIACoEAAA8qgAABgYAAABACAAiAkAAJq5 + AAAUFAAAAQAgALgGAAAiwwAAEBAAAAEAIABoBAAA2skAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAA + AAAAAAAAEAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD/ + /wD/AAAA/wD/AP//AAD///8A////////////////////////////////////////////AAAAAAAAAAAA + AAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AA//////////////8AD//wAP//// + //////////AA//8AD//////////////wAP//AA//////////////8AD//wAP//////////////AA//8A + D//////////////wAP//AA//////////////8AD//wAP//////////////AA//8AD//////////////w + AP//AA//////////////8AD//wAP//////////////AA//8AD//////////////wAP//AA////////// + ////8AD//wAP//////////////AA//8AD//////////////wAP//AA//////////////8AD//wAP//// + //////////AA//8AD//////////////wAP//AA//////////////8AD//wAP//////////////AA//8A + D//////////////wAP//AA//////////////8AD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAA + AP//AAAAAAAAAAAAAAAAAAD///////////////////////////////////////////8AAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA - AAAwAAAAYAAAAAEAIAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAICAj/CAgI/wgICP8ICAj/CAgI/wgI + AAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAA + gACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8A///////////wAAAAAAAAD/D/ + //////8P8P///////w/w////////D/D///////8P8P///////w/w////////D/D///////8P8P////// + /w/w////////D/D///////8P8P///////w/w////////D/AAAAAAAAAP//////////8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADAA + AABgAAAAAQAIAAAAAACACgAAAAAAAAAAAAAAAQAAAAAAAAgICAD8/PwAAA5QAAAUcAAAGpAAACCwAAAm + zwAALPAAET3/ADFX/wBRcf8AcYv/AJGl/wCxv/8A0dr/AP///wAAAAAAABovAAAtUAAAP3AAAFGQAABj + sAAAds8AAIjwABGY/wAxpv8AUbP/AHHB/wCRz/8Asd3/ANHr/wD///8AAAAAAAAsLwAAS1AAAGhwAACG + kAAApbAAAMPPAADh8AAR7/8AMfH/AFHz/wBx9f8Akff/ALH5/wDR+/8A////AAAAAAAALyEAAFA3AABw + TAAAkGMAALB5AADPjwAA8KYAEf+0ADH/vgBR/8gAcf/TAJH/3ACx/+UA0f/wAP///wAAAAAAAC8OAABQ + GAAAcCIAAJAsAACwNgAAz0AAAPBKABH/WwAx/3EAUf+HAHH/nQCR/7IAsf/JANH/3wD///8AAAAAAAIv + AAAEUAAABnAAAAiQAAAKsAAAC88AAA7wAAAg/xIAPf8xAFv/UQB5/3EAmP+RALX/sQDU/9EA////AAAA + AAAULwAAIlAAADBwAAA9kAAATLAAAFnPAABn8AAAeP8RAIr/MQCc/1EArv9xAMD/kQDS/7EA5P/RAP// + /wAAAAAAJi8AAEBQAABacAAAdJAAAI6wAACpzwAAwvAAANH/EQDY/zEA3v9RAOP/cQDp/5EA7/+xAPb/ + 0QD///8AAAAAAC8mAABQQQAAcFsAAJB0AACwjgAAz6kAAPDDAAD/0hEA/9gxAP/dUQD/5HEA/+qRAP/w + sQD/9tEA////AAAAAAAvFAAAUCIAAHAwAACQPgAAsE0AAM9bAADwaQAA/3kRAP+KMQD/nVEA/69xAP/B + kQD/0rEA/+XRAP///wAAAAAALwMAAFAEAABwBgAAkAkAALAKAADPDAAA8A4AAP8gEgD/PjEA/1xRAP96 + cQD/l5EA/7axAP/U0QD///8AAAAAAC8ADgBQABcAcAAhAJAAKwCwADYAzwBAAPAASQD/EVoA/zFwAP9R + hgD/cZwA/5GyAP+xyAD/0d8A////AAAAAAAvACAAUAA2AHAATACQAGIAsAB4AM8AjgDwAKQA/xGzAP8x + vgD/UccA/3HRAP+R3AD/seUA/9HwAP///wAAAAAALAAvAEsAUABpAHAAhwCQAKUAsADEAM8A4QDwAPAR + /wDyMf8A9FH/APZx/wD3kf8A+bH/APvR/wD///8AAAAAABsALwAtAFAAPwBwAFIAkABjALAAdgDPAIgA + 8ACZEf8ApjH/ALRR/wDCcf8Az5H/ANyx/wDr0f8A////AAAAAAAIAC8ADgBQABUAcAAbAJAAIQCwACYA + zwAsAPAAPhH/AFgx/wBxUf8AjHH/AKaR/wC/sf8A2tH/AP///wABAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA + AQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA + AQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA + AQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA + AQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA + AQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA + AQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA + AQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAAB + AAAAAAAACAgIAPz8/AAADlAAABRwAAAakAAAILAAACbPAAAs8AARPf8AMVf/AFFx/wBxi/8AkaX/ALG/ + /wDR2v8A////AAAAAAAAGi8AAC1QAAA/cAAAUZAAAGOwAAB2zwAAiPAAEZj/ADGm/wBRs/8AccH/AJHP + /wCx3f8A0ev/AP///wAAAAAAACwvAABLUAAAaHAAAIaQAAClsAAAw88AAOHwABHv/wAx8f8AUfP/AHH1 + /wCR9/8Asfn/ANH7/wD///8AAAAAAAAvIQAAUDcAAHBMAACQYwAAsHkAAM+PAADwpgAR/7QAMf++AFH/ + yABx/9MAkf/cALH/5QDR//AA////AAAAAAAALw4AAFAYAABwIgAAkCwAALA2AADPQAAA8EoAEf9bADH/ + cQBR/4cAcf+dAJH/sgCx/8kA0f/fAP///wAAAAAAAi8AAARQAAAGcAAACJAAAAqwAAALzwAADvAAACD/ + EgA9/zEAW/9RAHn/cQCY/5EAtf+xANT/0QD///8AAAAAABQvAAAiUAAAMHAAAD2QAABMsAAAWc8AAGfw + AAB4/xEAiv8xAJz/UQCu/3EAwP+RANL/sQDk/9EA////AAAAAAAmLwAAQFAAAFpwAAB0kAAAjrAAAKnP + AADC8AAA0f8RANj/MQDe/1EA4/9xAOn/kQDv/7EA9v/RAP///wAAAAAALyYAAFBBAABwWwAAkHQAALCO + AADPqQAA8MMAAP/SEQD/2DEA/91RAP/kcQD/6pEA//CxAP/20QD///8AAAAAAC8UAABQIgAAcDAAAJA+ + AACwTQAAz1sAAPBpAAD/eREA/4oxAP+dUQD/r3EA/8GRAP/SsQD/5dEA////AAAAAAAvAwAAUAQAAHAG + AACQCQAAsAoAAM8MAADwDgAA/yASAP8+MQD/XFEA/3pxAP+XkQD/trEA/9TRAP///wAAAAAALwAOAFAA + FwBwACEAkAArALAANgDPAEAA8ABJAP8RWgD/MXAA/1GGAP9xnAD/kbIA/7HIAP/R3wD///8AAAAAAC8A + IABQADYAcABMAJAAYgCwAHgAzwCOAPAApAD/EbMA/zG+AP9RxwD/cdEA/5HcAP+x5QD/0fAA////AAAA + AAAsAC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP// + /wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAsAB2AM8AiADwAJkR/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR + /wD///8AAAAAAAgALwAOAFAAFQBwABsAkAAhALAAJgDPACwA8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x + /wDa0f8A////AAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEAAAAB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEB + AAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAA + AQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQAAAAEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEAAAABAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEAAAABAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAAAAAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAAAAAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQAAAAEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQAAAAEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEAAAAB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEB + AAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAA + AQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAA + AAAICAgA/Pz8AAAOUAAAFHAAABqQAAAgsAAAJs8AACzwABE9/wAxV/8AUXH/AHGL/wCRpf8Asb//ANHa + /wD///8AAAAAAAAaLwAALVAAAD9wAABRkAAAY7AAAHbPAACI8AARmP8AMab/AFGz/wBxwf8Akc//ALHd + /wDR6/8A////AAAAAAAALC8AAEtQAABocAAAhpAAAKWwAADDzwAA4fAAEe//ADHx/wBR8/8AcfX/AJH3 + /wCx+f8A0fv/AP///wAAAAAAAC8hAABQNwAAcEwAAJBjAACweQAAz48AAPCmABH/tAAx/74AUf/IAHH/ + 0wCR/9wAsf/lANH/8AD///8AAAAAAAAvDgAAUBgAAHAiAACQLAAAsDYAAM9AAADwSgAR/1sAMf9xAFH/ + hwBx/50Akf+yALH/yQDR/98A////AAAAAAACLwAABFAAAAZwAAAIkAAACrAAAAvPAAAO8AAAIP8SAD3/ + MQBb/1EAef9xAJj/kQC1/7EA1P/RAP///wAAAAAAFC8AACJQAAAwcAAAPZAAAEywAABZzwAAZ/AAAHj/ + EQCK/zEAnP9RAK7/cQDA/5EA0v+xAOT/0QD///8AAAAAACYvAABAUAAAWnAAAHSQAACOsAAAqc8AAMLw + AADR/xEA2P8xAN7/UQDj/3EA6f+RAO//sQD2/9EA////AAAAAAAvJgAAUEEAAHBbAACQdAAAsI4AAM+p + AADwwwAA/9IRAP/YMQD/3VEA/+RxAP/qkQD/8LEA//bRAP///wAAAAAALxQAAFAiAABwMAAAkD4AALBN + AADPWwAA8GkAAP95EQD/ijEA/51RAP+vcQD/wZEA/9KxAP/l0QD///8AAAAAAC8DAABQBAAAcAYAAJAJ + AACwCgAAzwwAAPAOAAD/IBIA/z4xAP9cUQD/enEA/5eRAP+2sQD/1NEA////AAAAAAAvAA4AUAAXAHAA + IQCQACsAsAA2AM8AQADwAEkA/xFaAP8xcAD/UYYA/3GcAP+RsgD/scgA/9HfAP///wAAAAAALwAgAFAA + NgBwAEwAkABiALAAeADPAI4A8ACkAP8RswD/Mb4A/1HHAP9x0QD/kdwA/7HlAP/R8AD///8AAAAAACwA + LwBLAFAAaQBwAIcAkAClALAAxADPAOEA8ADwEf8A8jH/APRR/wD2cf8A95H/APmx/wD70f8A////AAAA + AAAbAC8ALQBQAD8AcABSAJAAYwCwAHYAzwCIAPAAmRH/AKYx/wC0Uf8AwnH/AM+R/wDcsf8A69H/AP// + /wAAAAAACAAvAA4AUAAVAHAAGwCQACEAsAAmAM8ALADwAD4R/wBYMf8AcVH/AIxx/wCmkf8Av7H/ANrR + /wD///8AAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQABAQABAQEB + AQEBAQEBAQEAAQEAAQEBAQEBAQEBAQEBAAEBAAEBAQEBAQEBAQEBAQABAQABAQEBAQEBAQEBAQEAAQEA + AQEBAQEBAQEBAQEBAAEBAAEBAQEBAQEBAQEBAQABAQABAQEBAQEBAQEBAQEAAQEAAQEBAQEBAQEBAQEB + AAEBAAEBAQEBAQEBAQEBAQABAQABAQEBAQEBAQEBAQEAAQEAAQEBAQEBAQEBAQEBAAEBAAAAAAAAAAAA + AAAAAAABAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJUE5HDQoaCgAAAA1JSERSAAABAAAAAQAIBgAAAFxyqGYA + AATjSURBVHja7dQxTgNAEARByP3/lzq0BDkZBEPLW5WfdBtMf75er68P4KRPAYC7BAAOEwA4TADgMAGA + wwQADhMAOEwA4DABgMMEAA4TADhMAOCwPwXg8Xj897+BH57P56/fCAC8CQGAwwQADhMAOEwA4DABgMME + AA4TADhMAOAwAYDDBAAOEwA4TADgMAGAwwQADhMAOEwA4DABgMMEAA4TADhMAOAwAYDDBAAOEwA47K0C + 8JdjoKq6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsR + ABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAG + qpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepm + BAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGA + gepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6 + GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYA + YKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABio + bkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsR + ABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAG + qpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepm + BAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGA + gepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6 + GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYA + YKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABio + bkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsR + ABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobiYbAOB3BAAOEwA4TADg + MAGAwwQADhMAOEwA4DABgMMEAA4TADhMAOAwAYDDBAAOEwA4TADgMAGAwwQADhMAOEwA4DABgMMEAA4T + ADhMAOAwAYDDZgEA3oMAwGECAIcJABwmAHCYAMBhAgCHCQAcJgBwmADAYQIAhwkAHCYAcNg33r/CedAG + F2MAAAAASUVORK5CYIIoAAAAQAAAAIAAAAABACAAAAAAAABCAAAAAAAAAAAAAAAAAAAAAAAA/Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/4uL - i/++vr7/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6 - uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6 - uv+6urr/urq6/7q6uv+6urr/urq6/76+vv+Li4v/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/729vf////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////+9vb3/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6 - uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6 - uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6 - uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6 - uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6 - uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6 - uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAA + AAAAAAAAAAAAAPz8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6 - uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/729vf////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////+9vb3/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/4uLi/++vr7/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6 - uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6 - uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/76+vv+Li4v/CAgI/wgI + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACgAAAAoAAAAUAAAAAEAIAAAAAAAQBoAAAAAAAAAAAAAAAAAAAAAAAD8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAQAAAAIAAAAABAAgAAAAAAAAQ - AAAAAAAAAAAAAAABAAAAAQAAAAAAAAEBAQACAgIAAwMDAAQEBAAFBQUABgYGAAcHBwAICAgACQkJAAoK - CgALCwsADAwMAA0NDQAODg4ADw8PABAQEAAREREAEhISABMTEwAUFBQAFRUVABYWFgAXFxcAGBgYABkZ - GQAaGhoAGxsbABwcHAAdHR0AHh4eAB8fHwAgICAAISEhACIiIgAjIyMAJCQkACUlJQAmJiYAJycnACgo - KAApKSkAKioqACsrKwAsLCwALS0tAC4uLgAvLy8AMDAwADExMQAyMjIAMzMzADQ0NAA1NTUANjY2ADc3 - NwA4ODgAOTk5ADo6OgA7OzsAPDw8AD09PQA+Pj4APz8/AEBAQABBQUEAQkJCAENDQwBEREQARUVFAEZG - RgBHR0cASEhIAElJSQBKSkoAS0tLAExMTABNTU0ATk5OAE9PTwBQUFAAUVFRAFJSUgBTU1MAVFRUAFVV - VQBWVlYAV1dXAFhYWABZWVkAWlpaAFtbWwBcXFwAXV1dAF5eXgBfX18AYGBgAGFhYQBiYmIAY2NjAGRk - ZABlZWUAZmZmAGdnZwBoaGgAaWlpAGpqagBra2sAbGxsAG1tbQBubm4Ab29vAHBwcABxcXEAcnJyAHNz - cwB0dHQAdXV1AHZ2dgB3d3cAeHh4AHl5eQB6enoAe3t7AHx8fAB9fX0Afn5+AH9/fwCAgIAAgYGBAIKC - ggCDg4MAhISEAIWFhQCGhoYAh4eHAIiIiACJiYkAioqKAIuLiwCMjIwAjY2NAI6OjgCPj48AkJCQAJGR - kQCSkpIAk5OTAJSUlACVlZUAlpaWAJeXlwCYmJgAmZmZAJqamgCbm5sAnJycAJ2dnQCenp4An5+fAKCg - oAChoaEAoqKiAKOjowCkpKQApaWlAKampgCnp6cAqKioAKmpqQCqqqoAq6urAKysrACtra0Arq6uAK+v - rwCwsLAAsbGxALKysgCzs7MAtLS0ALW1tQC2trYAt7e3ALi4uAC5ubkAurq6ALu7uwC8vLwAvb29AL6+ - vgC/v78AwMDAAMHBwQDCwsIAw8PDAMTExADFxcUAxsbGAMfHxwDIyMgAycnJAMrKygDLy8sAzMzMAM3N - zQDOzs4Az8/PANDQ0ADR0dEA0tLSANPT0wDU1NQA1dXVANbW1gDX19cA2NjYANnZ2QDa2toA29vbANzc - 3ADd3d0A3t7eAN/f3wDg4OAA4eHhAOLi4gDj4+MA5OTkAOXl5QDm5uYA5+fnAOjo6ADp6ekA6urqAOvr - 6wDs7OwA7e3tAO7u7gDv7+8A8PDwAPHx8QDy8vIA8/PzAPT09AD19fUA9vb2APf39wD4+PgA+fn5APr6 - +gD7+/sA/Pz8AP39/QD+/v4A////AAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgI - CPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgI - CAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgI - CAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwI - CAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgI - CPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgI - CAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgI - CAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwI - CAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgI - CPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgI - CAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgI - CAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwI - CAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgI - CPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgI - CAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgI - CAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwI - CAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAA== + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAA + AAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAA/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAABgA + AAAwAAAAAQAgAAAAAABgCQAAAAAAAAAAAAAAAAAAAAAAAPz8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8 + /P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8 + /P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8 + /P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAUAAAAKAAAAAEAIAAAAAAAkAYAAAAA + AAAAAAAAAAAAAAAAAAD8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABACAAAAAAAEAEAAAAAAAAAAAAAAAAAAAAAAAA/Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8 + /P/8/Pz/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP/8/Pz//Pz8/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj//Pz8//z8/P8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI//z8/P/8/Pz/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP/8/Pz//Pz8/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj//Pz8//z8/P8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI//z8/P/8/Pz/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP/8/Pz//Pz8/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj//Pz8//z8/P8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI//z8/P/8/Pz/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP/8/Pz//Pz8/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj//Pz8//z8/P8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA= + + 374, 17 + + + 17, 56 + - 43 + 25 - AAABAAUAEBAAAAEAIABoBAAAVgAAABgYAAABACAAiAkAAL4EAAAgIAAAAQAgAKgQAABGDgAAMDAAAAEA - IACoJQAA7h4AAEBAAAABAAgAKBYAAJZEAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAAAAAAAAAAAAAAAA - AAAAAAAACAgI/wcHB/8EBAT/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wQE - BP8HBwf/CAgI/wcHB/8cHBz/TExM/01NTf9NTU3/TU1N/01NTf9NTU3/TU1N/01NTf9NTU3/TU1N/01N - Tf9MTEz/HBwc/wcHB/8EBAT/TExM//Pz8//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3 - 9//39/f/8/Pz/0xMTP8EBAT/AwMD/01NTf/39/f//f39//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//f39//f39/9NTU3/AwMD/wMDA/9NTU3/9/f3//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/39/f/TU1N/wMDA/8DAwP/TU1N//f39//8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz/9/f3/01NTf8DAwP/AwMD/01NTf/39/f//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//f39/9NTU3/AwMD/wMDA/9NTU3/9/f3//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/39/f/TU1N/wMDA/8DAwP/TU1N//f39//8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/9/f3/01NTf8DAwP/AwMD/01NTf/39/f//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//f39/9NTU3/AwMD/wMDA/9NTU3/9/f3//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/39/f/TU1N/wMDA/8DAwP/TU1N//f3 - 9//8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/9/f3/01NTf8DAwP/AwMD/01N - Tf/39/f//f39//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//f39//f39/9NTU3/AwMD/wQE - BP9MTEz/8/Pz//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//z8/P/TExM/wQE - BP8HBwf/HBwc/0xMTP9NTU3/TU1N/01NTf9NTU3/TU1N/01NTf9NTU3/TU1N/01NTf9NTU3/TExM/xwc - HP8HBwf/CAgI/wcHB/8EBAT/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wQE - BP8HBwf/CAgI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAoAAAAGAAAADAAAAABACAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAACAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8GBgb/AwMD/wMDA/8DAwP/AwMD/wMD - A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BgYG/wgI - CP8ICAj/CAgI/wYGBv8tLS3/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dn - Z/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/LS0t/wYGBv8ICAj/CAgI/wMDA/9nZ2f///////7+ - /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ - /v//////Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMD - A/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMD - A/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMD - A/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMD - A/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMD - A/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMD - A/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMDA/9nZ2f//v7+//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/+/v7/Z2dn/wMDA/8ICAj/CAgI/wMD - A/9nZ2f///////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ - /v/+/v7//v7+//7+/v//////Z2dn/wMDA/8ICAj/CAgI/wYGBv8tLS3/Z2dn/2dnZ/9nZ2f/Z2dn/2dn - Z/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/LS0t/wYG - Bv8ICAj/CAgI/wgICP8GBgb/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD - A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BgYG/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAA - AABAAAAAAQAgAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8GBgb/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD - A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BgYG/wgICP8ICAj/CAgI/wgI - CP8ICAj/BgYG/0VFRf+EhIT/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KC - gv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4SEhP9FRUX/BgYG/wgI - CP8ICAj/CAgI/wgICP8DAwP/hISE//////////////////////////////////////////////////// - /////////////////////////////////////////////////////////////////////////////4SE - hP8DAwP/CAgI/wgICP8ICAj/CAgI/wMDA/+CgoL///////z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P//////goKC/wMDA/8ICAj/CAgI/wgICP8ICAj/AwMD/4KCgv///////Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+CgoL/AwMD/wgICP8ICAj/CAgI/wgICP8DAwP/goKC///////8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//////4KCgv8DAwP/CAgI/wgICP8ICAj/CAgI/wMDA/+CgoL///////z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P//////goKC/wMDA/8ICAj/CAgI/wgICP8ICAj/AwMD/4KC - gv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+CgoL/AwMD/wgICP8ICAj/CAgI/wgI - CP8DAwP/goKC///////8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//////4KCgv8DAwP/CAgI/wgI - CP8ICAj/CAgI/wMDA/+CgoL///////z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P//////goKC/wMD - A/8ICAj/CAgI/wgICP8ICAj/AwMD/4KCgv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+CgoL/AwMD/wgICP8ICAj/CAgI/wgICP8DAwP/goKC///////8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//////4KCgv8DAwP/CAgI/wgICP8ICAj/CAgI/wMDA/+CgoL///////z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P//////goKC/wMDA/8ICAj/CAgI/wgICP8ICAj/AwMD/4KCgv///////Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+CgoL/AwMD/wgICP8ICAj/CAgI/wgICP8DAwP/goKC//// - ///8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//////4KCgv8DAwP/CAgI/wgICP8ICAj/CAgI/wMD - A/+CgoL///////z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P//////goKC/wMDA/8ICAj/CAgI/wgI - CP8ICAj/AwMD/4KCgv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+CgoL/AwMD/wgI - CP8ICAj/CAgI/wgICP8DAwP/goKC///////8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//////4KC - gv8DAwP/CAgI/wgICP8ICAj/CAgI/wMDA/+CgoL///////z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P//////goKC/wMDA/8ICAj/CAgI/wgICP8ICAj/AwMD/4KCgv///////Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+CgoL/AwMD/wgICP8ICAj/CAgI/wgICP8DAwP/goKC///////8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//////4KCgv8DAwP/CAgI/wgICP8ICAj/CAgI/wMDA/+CgoL///////z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P//////goKC/wMDA/8ICAj/CAgI/wgICP8ICAj/AwMD/4KC - gv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+CgoL/AwMD/wgICP8ICAj/CAgI/wgI - CP8DAwP/goKC///////8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//////4KCgv8DAwP/CAgI/wgI - CP8ICAj/CAgI/wMDA/+CgoL///////z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P//////goKC/wMD - A/8ICAj/CAgI/wgICP8ICAj/AwMD/4SEhP////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - //+EhIT/AwMD/wgICP8ICAj/CAgI/wgICP8GBgb/RUVF/4SEhP+CgoL/goKC/4KCgv+CgoL/goKC/4KC - gv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KCgv+CgoL/goKC/4KC - gv+CgoL/hISE/0VFRf8GBgb/CAgI/wgICP8ICAj/CAgI/wgICP8GBgb/AwMD/wMDA/8DAwP/AwMD/wMD - A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD - A/8DAwP/AwMD/wMDA/8DAwP/BgYG/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8AAAAAAAAAAAAA + AAABAA0AICAQAAEABADoAgAA1gAAABAQEAABAAQAKAEAAL4DAAAwMAAAAQAIAKgOAADmBAAAICAAAAEA + CACoCAAAjhMAABAQAAABAAgAaAUAADYcAAAAAAAAAQAgABwFAACeIQAAQEAAAAEAIAAoQgAAuiYAADAw + AAABACAAqCUAAOJoAAAoKAAAAQAgAGgaAACKjgAAICAAAAEAIACoEAAA8qgAABgYAAABACAAiAkAAJq5 + AAAUFAAAAQAgALgGAAAiwwAAEBAAAAEAIABoBAAA2skAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAA + AAAAAAAAEAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD/ + /wD/AAAA/wD/AP//AAD///8A////////////////////////////////////////////AAAAAAAAAAAA + AAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AA//////////////8AD//wAP//// + //////////AA//8AD//////////////wAP//AA//////////////8AD//wAP//////////////AA//8A + D//////////////wAP//AA//////////////8AD//wAP//////////////AA//8AD//////////////w + AP//AA//////////////8AD//wAP//////////////AA//8AD//////////////wAP//AA////////// + ////8AD//wAP//////////////AA//8AD//////////////wAP//AA//////////////8AD//wAP//// + //////////AA//8AD//////////////wAP//AA//////////////8AD//wAP//////////////AA//8A + D//////////////wAP//AA//////////////8AD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAA + AP//AAAAAAAAAAAAAAAAAAD///////////////////////////////////////////8AAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA - AAAwAAAAYAAAAAEAIAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAICAj/CAgI/wgICP8ICAj/CAgI/wgI + AAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAA + gACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8A///////////wAAAAAAAAD/D/ + //////8P8P///////w/w////////D/D///////8P8P///////w/w////////D/D///////8P8P////// + /w/w////////D/D///////8P8P///////w/w////////D/AAAAAAAAAP//////////8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADAA + AABgAAAAAQAIAAAAAACACgAAAAAAAAAAAAAAAQAAAAAAAAgICAD8/PwAAA5QAAAUcAAAGpAAACCwAAAm + zwAALPAAET3/ADFX/wBRcf8AcYv/AJGl/wCxv/8A0dr/AP///wAAAAAAABovAAAtUAAAP3AAAFGQAABj + sAAAds8AAIjwABGY/wAxpv8AUbP/AHHB/wCRz/8Asd3/ANHr/wD///8AAAAAAAAsLwAAS1AAAGhwAACG + kAAApbAAAMPPAADh8AAR7/8AMfH/AFHz/wBx9f8Akff/ALH5/wDR+/8A////AAAAAAAALyEAAFA3AABw + TAAAkGMAALB5AADPjwAA8KYAEf+0ADH/vgBR/8gAcf/TAJH/3ACx/+UA0f/wAP///wAAAAAAAC8OAABQ + GAAAcCIAAJAsAACwNgAAz0AAAPBKABH/WwAx/3EAUf+HAHH/nQCR/7IAsf/JANH/3wD///8AAAAAAAIv + AAAEUAAABnAAAAiQAAAKsAAAC88AAA7wAAAg/xIAPf8xAFv/UQB5/3EAmP+RALX/sQDU/9EA////AAAA + AAAULwAAIlAAADBwAAA9kAAATLAAAFnPAABn8AAAeP8RAIr/MQCc/1EArv9xAMD/kQDS/7EA5P/RAP// + /wAAAAAAJi8AAEBQAABacAAAdJAAAI6wAACpzwAAwvAAANH/EQDY/zEA3v9RAOP/cQDp/5EA7/+xAPb/ + 0QD///8AAAAAAC8mAABQQQAAcFsAAJB0AACwjgAAz6kAAPDDAAD/0hEA/9gxAP/dUQD/5HEA/+qRAP/w + sQD/9tEA////AAAAAAAvFAAAUCIAAHAwAACQPgAAsE0AAM9bAADwaQAA/3kRAP+KMQD/nVEA/69xAP/B + kQD/0rEA/+XRAP///wAAAAAALwMAAFAEAABwBgAAkAkAALAKAADPDAAA8A4AAP8gEgD/PjEA/1xRAP96 + cQD/l5EA/7axAP/U0QD///8AAAAAAC8ADgBQABcAcAAhAJAAKwCwADYAzwBAAPAASQD/EVoA/zFwAP9R + hgD/cZwA/5GyAP+xyAD/0d8A////AAAAAAAvACAAUAA2AHAATACQAGIAsAB4AM8AjgDwAKQA/xGzAP8x + vgD/UccA/3HRAP+R3AD/seUA/9HwAP///wAAAAAALAAvAEsAUABpAHAAhwCQAKUAsADEAM8A4QDwAPAR + /wDyMf8A9FH/APZx/wD3kf8A+bH/APvR/wD///8AAAAAABsALwAtAFAAPwBwAFIAkABjALAAdgDPAIgA + 8ACZEf8ApjH/ALRR/wDCcf8Az5H/ANyx/wDr0f8A////AAAAAAAIAC8ADgBQABUAcAAbAJAAIQCwACYA + zwAsAPAAPhH/AFgx/wBxUf8AjHH/AKaR/wC/sf8A2tH/AP///wABAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA + AQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA + AQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA + AQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA + AQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA + AQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA + AQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA + AQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAAB + AAAAAAAACAgIAPz8/AAADlAAABRwAAAakAAAILAAACbPAAAs8AARPf8AMVf/AFFx/wBxi/8AkaX/ALG/ + /wDR2v8A////AAAAAAAAGi8AAC1QAAA/cAAAUZAAAGOwAAB2zwAAiPAAEZj/ADGm/wBRs/8AccH/AJHP + /wCx3f8A0ev/AP///wAAAAAAACwvAABLUAAAaHAAAIaQAAClsAAAw88AAOHwABHv/wAx8f8AUfP/AHH1 + /wCR9/8Asfn/ANH7/wD///8AAAAAAAAvIQAAUDcAAHBMAACQYwAAsHkAAM+PAADwpgAR/7QAMf++AFH/ + yABx/9MAkf/cALH/5QDR//AA////AAAAAAAALw4AAFAYAABwIgAAkCwAALA2AADPQAAA8EoAEf9bADH/ + cQBR/4cAcf+dAJH/sgCx/8kA0f/fAP///wAAAAAAAi8AAARQAAAGcAAACJAAAAqwAAALzwAADvAAACD/ + EgA9/zEAW/9RAHn/cQCY/5EAtf+xANT/0QD///8AAAAAABQvAAAiUAAAMHAAAD2QAABMsAAAWc8AAGfw + AAB4/xEAiv8xAJz/UQCu/3EAwP+RANL/sQDk/9EA////AAAAAAAmLwAAQFAAAFpwAAB0kAAAjrAAAKnP + AADC8AAA0f8RANj/MQDe/1EA4/9xAOn/kQDv/7EA9v/RAP///wAAAAAALyYAAFBBAABwWwAAkHQAALCO + AADPqQAA8MMAAP/SEQD/2DEA/91RAP/kcQD/6pEA//CxAP/20QD///8AAAAAAC8UAABQIgAAcDAAAJA+ + AACwTQAAz1sAAPBpAAD/eREA/4oxAP+dUQD/r3EA/8GRAP/SsQD/5dEA////AAAAAAAvAwAAUAQAAHAG + AACQCQAAsAoAAM8MAADwDgAA/yASAP8+MQD/XFEA/3pxAP+XkQD/trEA/9TRAP///wAAAAAALwAOAFAA + FwBwACEAkAArALAANgDPAEAA8ABJAP8RWgD/MXAA/1GGAP9xnAD/kbIA/7HIAP/R3wD///8AAAAAAC8A + IABQADYAcABMAJAAYgCwAHgAzwCOAPAApAD/EbMA/zG+AP9RxwD/cdEA/5HcAP+x5QD/0fAA////AAAA + AAAsAC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP// + /wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAsAB2AM8AiADwAJkR/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR + /wD///8AAAAAAAgALwAOAFAAFQBwABsAkAAhALAAJgDPACwA8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x + /wDa0f8A////AAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEAAAAB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEB + AAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAA + AQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQAAAAEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEAAAABAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEAAAABAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAAAAAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAAAAAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQAAAAEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQAAAAEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEAAAAB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEB + AAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAA + AQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAA + AAAICAgA/Pz8AAAOUAAAFHAAABqQAAAgsAAAJs8AACzwABE9/wAxV/8AUXH/AHGL/wCRpf8Asb//ANHa + /wD///8AAAAAAAAaLwAALVAAAD9wAABRkAAAY7AAAHbPAACI8AARmP8AMab/AFGz/wBxwf8Akc//ALHd + /wDR6/8A////AAAAAAAALC8AAEtQAABocAAAhpAAAKWwAADDzwAA4fAAEe//ADHx/wBR8/8AcfX/AJH3 + /wCx+f8A0fv/AP///wAAAAAAAC8hAABQNwAAcEwAAJBjAACweQAAz48AAPCmABH/tAAx/74AUf/IAHH/ + 0wCR/9wAsf/lANH/8AD///8AAAAAAAAvDgAAUBgAAHAiAACQLAAAsDYAAM9AAADwSgAR/1sAMf9xAFH/ + hwBx/50Akf+yALH/yQDR/98A////AAAAAAACLwAABFAAAAZwAAAIkAAACrAAAAvPAAAO8AAAIP8SAD3/ + MQBb/1EAef9xAJj/kQC1/7EA1P/RAP///wAAAAAAFC8AACJQAAAwcAAAPZAAAEywAABZzwAAZ/AAAHj/ + EQCK/zEAnP9RAK7/cQDA/5EA0v+xAOT/0QD///8AAAAAACYvAABAUAAAWnAAAHSQAACOsAAAqc8AAMLw + AADR/xEA2P8xAN7/UQDj/3EA6f+RAO//sQD2/9EA////AAAAAAAvJgAAUEEAAHBbAACQdAAAsI4AAM+p + AADwwwAA/9IRAP/YMQD/3VEA/+RxAP/qkQD/8LEA//bRAP///wAAAAAALxQAAFAiAABwMAAAkD4AALBN + AADPWwAA8GkAAP95EQD/ijEA/51RAP+vcQD/wZEA/9KxAP/l0QD///8AAAAAAC8DAABQBAAAcAYAAJAJ + AACwCgAAzwwAAPAOAAD/IBIA/z4xAP9cUQD/enEA/5eRAP+2sQD/1NEA////AAAAAAAvAA4AUAAXAHAA + IQCQACsAsAA2AM8AQADwAEkA/xFaAP8xcAD/UYYA/3GcAP+RsgD/scgA/9HfAP///wAAAAAALwAgAFAA + NgBwAEwAkABiALAAeADPAI4A8ACkAP8RswD/Mb4A/1HHAP9x0QD/kdwA/7HlAP/R8AD///8AAAAAACwA + LwBLAFAAaQBwAIcAkAClALAAxADPAOEA8ADwEf8A8jH/APRR/wD2cf8A95H/APmx/wD70f8A////AAAA + AAAbAC8ALQBQAD8AcABSAJAAYwCwAHYAzwCIAPAAmRH/AKYx/wC0Uf8AwnH/AM+R/wDcsf8A69H/AP// + /wAAAAAACAAvAA4AUAAVAHAAGwCQACEAsAAmAM8ALADwAD4R/wBYMf8AcVH/AIxx/wCmkf8Av7H/ANrR + /wD///8AAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQABAQABAQEB + AQEBAQEBAQEAAQEAAQEBAQEBAQEBAQEBAAEBAAEBAQEBAQEBAQEBAQABAQABAQEBAQEBAQEBAQEAAQEA + AQEBAQEBAQEBAQEBAAEBAAEBAQEBAQEBAQEBAQABAQABAQEBAQEBAQEBAQEAAQEAAQEBAQEBAQEBAQEB + AAEBAAEBAQEBAQEBAQEBAQABAQABAQEBAQEBAQEBAQEAAQEAAQEBAQEBAQEBAQEBAAEBAAAAAAAAAAAA + AAAAAAABAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJUE5HDQoaCgAAAA1JSERSAAABAAAAAQAIBgAAAFxyqGYA + AATjSURBVHja7dQxTgNAEARByP3/lzq0BDkZBEPLW5WfdBtMf75er68P4KRPAYC7BAAOEwA4TADgMAGA + wwQADhMAOEwA4DABgMMEAA4TADhMAOCwPwXg8Xj897+BH57P56/fCAC8CQGAwwQADhMAOEwA4DABgMME + AA4TADhMAOAwAYDDBAAOEwA4TADgMAGAwwQADhMAOEwA4DABgMMEAA4TADhMAOAwAYDDBAAOEwA47K0C + 8JdjoKq6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsR + ABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAG + qpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepm + BAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGA + gepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6 + GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYA + YKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABio + bkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsR + ABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAG + qpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepm + BAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGA + gepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6 + GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYA + YKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABio + bkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsR + ABiobkYAYKC6GQGAgepmBAAGqpsRABiobkYAYKC6GQGAgepmBAAGqpsRABiobiYbAOB3BAAOEwA4TADg + MAGAwwQADhMAOEwA4DABgMMEAA4TADhMAOAwAYDDBAAOEwA4TADgMAGAwwQADhMAOEwA4DABgMMEAA4T + ADhMAOAwAYDDZgEA3oMAwGECAIcJABwmAHCYAMBhAgCHCQAcJgBwmADAYQIAhwkAHCYAcNg33r/CedAG + F2MAAAAASUVORK5CYIIoAAAAQAAAAIAAAAABACAAAAAAAABCAAAAAAAAAAAAAAAAAAAAAAAA/Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/4uL - i/++vr7/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6 - uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6 - uv+6urr/urq6/7q6uv+6urr/urq6/76+vv+Li4v/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/729vf////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////+9vb3/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6 - uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6 - uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6 - uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6 - uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6 - uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6 - uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//// - //+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6uv///////Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/7q6 - uv///////Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 - /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//////+6urr/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/729vf////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////+9vb3/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8ICAj/CAgI/4uLi/++vr7/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6 - uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6 - uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/7q6uv+6urr/urq6/76+vv+Li4v/CAgI/wgI + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI - CP8ICAj/CAgI/wgICP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAA + AAAAAAAAAAAAAPz8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACgAAAAoAAAAUAAAAAEAIAAAAAAAQBoAAAAAAAAAAAAAAAAAAAAAAAD8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAA + AAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAA/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgI + CP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAABgA + AAAwAAAAAQAgAAAAAABgCQAAAAAAAAAAAAAAAAAAAAAAAPz8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8 + /P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8 + /P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8 + /P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgI + CP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgI + CP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8 + /P8ICAj/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAUAAAAKAAAAAEAIAAAAAAAkAYAAAAA + AAAAAAAAAAAAAAAAAAD8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8/wgI + CP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP8ICAj//Pz8//z8/P8ICAj/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI/wgICP/8/Pz//Pz8/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI//z8/P/8/Pz/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/AAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABACAAAAAAAEAEAAAAAAAAAAAAAAAAAAAAAAAA/Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI//z8 + /P/8/Pz/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgI + CP/8/Pz//Pz8/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P8ICAj//Pz8//z8/P8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz/CAgI//z8/P/8/Pz/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8/wgICP/8/Pz//Pz8/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P8ICAj//Pz8//z8/P8ICAj//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/CAgI//z8/P/8/Pz/CAgI//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP/8/Pz//Pz8/wgICP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj//Pz8//z8/P8ICAj//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI//z8/P/8/Pz/CAgI//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wgICP/8/Pz//Pz8/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P8ICAj//Pz8//z8/P8ICAj//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/CAgI//z8/P/8/Pz/CAgI/wgI + CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/wAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAQAAAAIAAAAABAAgAAAAAAAAQ - AAAAAAAAAAAAAAABAAAAAQAAAAAAAAEBAQACAgIAAwMDAAQEBAAFBQUABgYGAAcHBwAICAgACQkJAAoK - CgALCwsADAwMAA0NDQAODg4ADw8PABAQEAAREREAEhISABMTEwAUFBQAFRUVABYWFgAXFxcAGBgYABkZ - GQAaGhoAGxsbABwcHAAdHR0AHh4eAB8fHwAgICAAISEhACIiIgAjIyMAJCQkACUlJQAmJiYAJycnACgo - KAApKSkAKioqACsrKwAsLCwALS0tAC4uLgAvLy8AMDAwADExMQAyMjIAMzMzADQ0NAA1NTUANjY2ADc3 - NwA4ODgAOTk5ADo6OgA7OzsAPDw8AD09PQA+Pj4APz8/AEBAQABBQUEAQkJCAENDQwBEREQARUVFAEZG - RgBHR0cASEhIAElJSQBKSkoAS0tLAExMTABNTU0ATk5OAE9PTwBQUFAAUVFRAFJSUgBTU1MAVFRUAFVV - VQBWVlYAV1dXAFhYWABZWVkAWlpaAFtbWwBcXFwAXV1dAF5eXgBfX18AYGBgAGFhYQBiYmIAY2NjAGRk - ZABlZWUAZmZmAGdnZwBoaGgAaWlpAGpqagBra2sAbGxsAG1tbQBubm4Ab29vAHBwcABxcXEAcnJyAHNz - cwB0dHQAdXV1AHZ2dgB3d3cAeHh4AHl5eQB6enoAe3t7AHx8fAB9fX0Afn5+AH9/fwCAgIAAgYGBAIKC - ggCDg4MAhISEAIWFhQCGhoYAh4eHAIiIiACJiYkAioqKAIuLiwCMjIwAjY2NAI6OjgCPj48AkJCQAJGR - kQCSkpIAk5OTAJSUlACVlZUAlpaWAJeXlwCYmJgAmZmZAJqamgCbm5sAnJycAJ2dnQCenp4An5+fAKCg - oAChoaEAoqKiAKOjowCkpKQApaWlAKampgCnp6cAqKioAKmpqQCqqqoAq6urAKysrACtra0Arq6uAK+v - rwCwsLAAsbGxALKysgCzs7MAtLS0ALW1tQC2trYAt7e3ALi4uAC5ubkAurq6ALu7uwC8vLwAvb29AL6+ - vgC/v78AwMDAAMHBwQDCwsIAw8PDAMTExADFxcUAxsbGAMfHxwDIyMgAycnJAMrKygDLy8sAzMzMAM3N - zQDOzs4Az8/PANDQ0ADR0dEA0tLSANPT0wDU1NQA1dXVANbW1gDX19cA2NjYANnZ2QDa2toA29vbANzc - 3ADd3d0A3t7eAN/f3wDg4OAA4eHhAOLi4gDj4+MA5OTkAOXl5QDm5uYA5+fnAOjo6ADp6ekA6urqAOvr - 6wDs7OwA7e3tAO7u7gDv7+8A8PDwAPHx8QDy8vIA8/PzAPT09AD19fUA9vb2APf39wD4+PgA+fn5APr6 - +gD7+/sA/Pz8AP39/QD+/v4A////AAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgI - CPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgI - CAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgI - CAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwI - CAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgI - CPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgI - CAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgI - CAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwI - CAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgI - CPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgI - CAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgI - CAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwI - CAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgICAgICAj8/Pz8/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgICAgICAgICAgI/Pz8 - /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwICAgICAgICAgICAgI - CPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8CAgICAgICAgI - CAgICAj8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/AgICAgI - CAgICAgICAgI/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PwI - CAgICAgICAgICAgICPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 - /Pz8CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAA== + AAA= \ No newline at end of file diff --git a/UnityLauncher/Form2.Designer.cs b/UnityLauncher/Form2.Designer.cs new file mode 100644 index 0000000..5f5e19c --- /dev/null +++ b/UnityLauncher/Form2.Designer.cs @@ -0,0 +1,154 @@ +namespace UnityLauncher +{ + partial class Form2 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label1 = new System.Windows.Forms.Label(); + this.lstUnityVersions = new System.Windows.Forms.ListBox(); + this.btnCancelUpgrade = new System.Windows.Forms.Button(); + this.btnConfirmUpgrade = new System.Windows.Forms.Button(); + this.txtUpgradeCurrentVersion = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.btn_GoInstallMissingVersion = new System.Windows.Forms.Button(); + this.btn_OpenMissingVersionReleasePage = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(16, 21); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(118, 13); + this.label1.TabIndex = 0; + this.label1.Text = "Current Project Version:"; + // + // lstUnityVersions + // + this.lstUnityVersions.FormattingEnabled = true; + this.lstUnityVersions.Location = new System.Drawing.Point(12, 104); + this.lstUnityVersions.Name = "lstUnityVersions"; + this.lstUnityVersions.Size = new System.Drawing.Size(235, 303); + this.lstUnityVersions.TabIndex = 1; + this.lstUnityVersions.KeyDown += new System.Windows.Forms.KeyEventHandler(this.lstUnityVersions_KeyDown); + // + // btnCancelUpgrade + // + this.btnCancelUpgrade.Location = new System.Drawing.Point(12, 413); + this.btnCancelUpgrade.Name = "btnCancelUpgrade"; + this.btnCancelUpgrade.Size = new System.Drawing.Size(95, 56); + this.btnCancelUpgrade.TabIndex = 2; + this.btnCancelUpgrade.Text = "Cancel"; + this.btnCancelUpgrade.UseVisualStyleBackColor = true; + this.btnCancelUpgrade.Click += new System.EventHandler(this.btnCancelUpgrade_Click); + // + // btnConfirmUpgrade + // + this.btnConfirmUpgrade.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnConfirmUpgrade.Location = new System.Drawing.Point(113, 413); + this.btnConfirmUpgrade.Name = "btnConfirmUpgrade"; + this.btnConfirmUpgrade.Size = new System.Drawing.Size(136, 56); + this.btnConfirmUpgrade.TabIndex = 3; + this.btnConfirmUpgrade.Text = "Upgrade Project"; + this.btnConfirmUpgrade.UseVisualStyleBackColor = true; + this.btnConfirmUpgrade.Click += new System.EventHandler(this.btnConfirmUpgrade_Click); + // + // txtUpgradeCurrentVersion + // + this.txtUpgradeCurrentVersion.Enabled = false; + this.txtUpgradeCurrentVersion.Location = new System.Drawing.Point(136, 18); + this.txtUpgradeCurrentVersion.Name = "txtUpgradeCurrentVersion"; + this.txtUpgradeCurrentVersion.Size = new System.Drawing.Size(111, 20); + this.txtUpgradeCurrentVersion.TabIndex = 4; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(9, 85); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(120, 13); + this.label2.TabIndex = 5; + this.label2.Text = "Available Unity Versions"; + // + // btn_GoInstallMissingVersion + // + this.btn_GoInstallMissingVersion.Location = new System.Drawing.Point(136, 44); + this.btn_GoInstallMissingVersion.Name = "btn_GoInstallMissingVersion"; + this.btn_GoInstallMissingVersion.Size = new System.Drawing.Size(111, 22); + this.btn_GoInstallMissingVersion.TabIndex = 6; + this.btn_GoInstallMissingVersion.Text = "Download"; + this.btn_GoInstallMissingVersion.UseVisualStyleBackColor = true; + this.btn_GoInstallMissingVersion.Click += new System.EventHandler(this.btn_GoInstallMissingVersion_Click); + // + // btn_OpenMissingVersionReleasePage + // + this.btn_OpenMissingVersionReleasePage.Location = new System.Drawing.Point(19, 44); + this.btn_OpenMissingVersionReleasePage.Name = "btn_OpenMissingVersionReleasePage"; + this.btn_OpenMissingVersionReleasePage.Size = new System.Drawing.Size(111, 22); + this.btn_OpenMissingVersionReleasePage.TabIndex = 7; + this.btn_OpenMissingVersionReleasePage.Text = "Open Release Page"; + this.btn_OpenMissingVersionReleasePage.UseVisualStyleBackColor = true; + this.btn_OpenMissingVersionReleasePage.Click += new System.EventHandler(this.btn_OpenMissingVersionReleasePage_Click); + // + // Form2 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(259, 476); + this.Controls.Add(this.btn_OpenMissingVersionReleasePage); + this.Controls.Add(this.btn_GoInstallMissingVersion); + this.Controls.Add(this.label2); + this.Controls.Add(this.txtUpgradeCurrentVersion); + this.Controls.Add(this.btnConfirmUpgrade); + this.Controls.Add(this.btnCancelUpgrade); + this.Controls.Add(this.lstUnityVersions); + this.Controls.Add(this.label1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "Form2"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Missing Exact Unity Version"; + this.TopMost = true; + this.Load += new System.EventHandler(this.Form2_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.ListBox lstUnityVersions; + private System.Windows.Forms.Button btnCancelUpgrade; + private System.Windows.Forms.Button btnConfirmUpgrade; + private System.Windows.Forms.TextBox txtUpgradeCurrentVersion; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button btn_GoInstallMissingVersion; + private System.Windows.Forms.Button btn_OpenMissingVersionReleasePage; + } +} \ No newline at end of file diff --git a/UnityLauncher/Form2.cs b/UnityLauncher/Form2.cs new file mode 100644 index 0000000..d8df7aa --- /dev/null +++ b/UnityLauncher/Form2.cs @@ -0,0 +1,118 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using UnityLauncherTools; + +namespace UnityLauncher +{ + public partial class Form2 : Form + { + public static string currentVersion = ""; + + public Form2() + { + InitializeComponent(); + } + + private void Form2_Load(object sender, EventArgs e) + { + Start(); + } + + void Start() + { + // update unity installations list + lstUnityVersions.Items.AddRange(Form1.unityList.Keys.ToArray()); + + // show available versions, autoselect nearest one + if (string.IsNullOrEmpty(currentVersion) == false) + { + string nearestVersion = Tools.FindNearestVersion(currentVersion, Form1.unityList.Keys.ToList()); + + // preselect most likely version + int likelyIndex = lstUnityVersions.FindString(nearestVersion); + if (likelyIndex > -1) + { + lstUnityVersions.SetSelected(likelyIndex, true); + } + else + { + // just select first item then + lstUnityVersions.SetSelected(0, true); + } + + // enable release and dl buttons + btn_GoInstallMissingVersion.Enabled = true; + btn_OpenMissingVersionReleasePage.Enabled = true; + + } + else // we dont have current version + { + btn_GoInstallMissingVersion.Enabled = false; + btn_OpenMissingVersionReleasePage.Enabled = false; + + currentVersion = "None"; + // just select first item then + if (lstUnityVersions != null && lstUnityVersions.Items.Count > 0) lstUnityVersions.SetSelected(0, true); + } + + // fill textbox + txtUpgradeCurrentVersion.Text = currentVersion; + } + + #region UI Events + + private void btnConfirmUpgrade_Click(object sender, EventArgs e) + { + UpgradeToSelected(); + } + + private void btnCancelUpgrade_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.Cancel; + } + + private void btn_OpenMissingVersionReleasePage_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.Ignore; // opens release notes + } + + private void btn_GoInstallMissingVersion_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.Retry; // download package + } + + #endregion + + private void lstUnityVersions_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Return) + { + UpgradeToSelected(); + } + else if (e.KeyCode == Keys.Escape) + { + DialogResult = DialogResult.Cancel; + } + } + + void UpgradeToSelected() + { + if (lstUnityVersions.SelectedIndex > -1) + { + currentVersion = lstUnityVersions.Items[lstUnityVersions.SelectedIndex].ToString(); + DialogResult = DialogResult.Yes; + } + else + { + // no version selected + } + } + } +} diff --git a/UnityLauncher/Form2.resx b/UnityLauncher/Form2.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/UnityLauncher/Form2.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/UnityLauncher/PreviousVersion.txt b/UnityLauncher/PreviousVersion.txt new file mode 100644 index 0000000..03acb06 Binary files /dev/null and b/UnityLauncher/PreviousVersion.txt differ diff --git a/UnityLauncher/Program.cs b/UnityLauncher/Program.cs index 8ed1598..eeeb145 100644 --- a/UnityLauncher/Program.cs +++ b/UnityLauncher/Program.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; @@ -14,9 +13,23 @@ static class Program [STAThread] static void Main() { + /* + // TODO allow only single instance https://stackoverflow.com/a/6486341/5452781 + bool result = false; + var mutex = new System.Threading.Mutex(true, "UniqueAppId", out result); + + if (result == false) + { + // another instance already running, decide what to do + MessageBox.Show("Another instance is already running."); + return; + }*/ + Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); + + //GC.KeepAlive(mutex); } } } diff --git a/UnityLauncher/Properties/AssemblyInfo.cs b/UnityLauncher/Properties/AssemblyInfo.cs index 002ed6b..721ded3 100644 --- a/UnityLauncher/Properties/AssemblyInfo.cs +++ b/UnityLauncher/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("UnityCoder.com")] [assembly: AssemblyProduct("UnityLauncher")] -[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyCopyright("Copyright © 2017")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/UnityLauncher/Properties/Settings.Designer.cs b/UnityLauncher/Properties/Settings.Designer.cs index 7b435b4..89b70cd 100644 --- a/UnityLauncher/Properties/Settings.Designer.cs +++ b/UnityLauncher/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace UnityLauncher.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.1.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.8.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); @@ -61,5 +61,100 @@ public bool minimizeToTaskbar { this["packageFolders"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool closeAfterExplorer { + get { + return ((bool)(this["closeAfterExplorer"])); + } + set { + this["closeAfterExplorer"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool closeAfterProject { + get { + return ((bool)(this["closeAfterProject"])); + } + set { + this["closeAfterProject"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("600")] + public int formWidth { + get { + return ((int)(this["formWidth"])); + } + set { + this["formWidth"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("650")] + public int formHeight { + get { + return ((int)(this["formHeight"])); + } + set { + this["formHeight"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public int[] gridColumnWidths { + get { + return ((int[])(this["gridColumnWidths"])); + } + set { + this["gridColumnWidths"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool showArgumentsColumn { + get { + return ((bool)(this["showArgumentsColumn"])); + } + set { + this["showArgumentsColumn"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool showGitBranchColumn { + get { + return ((bool)(this["showGitBranchColumn"])); + } + set { + this["showGitBranchColumn"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool useDarkSkin { + get { + return ((bool)(this["useDarkSkin"])); + } + set { + this["useDarkSkin"] = value; + } + } } } diff --git a/UnityLauncher/Properties/Settings.settings b/UnityLauncher/Properties/Settings.settings index 7a8ab9b..b18b7e0 100644 --- a/UnityLauncher/Properties/Settings.settings +++ b/UnityLauncher/Properties/Settings.settings @@ -15,5 +15,29 @@ <?xml version="1.0" encoding="utf-16"?> <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" /> + + True + + + False + + + 600 + + + 650 + + + + + + False + + + False + + + False + \ No newline at end of file diff --git a/UnityLauncher/Tools.cs b/UnityLauncher/Tools.cs new file mode 100644 index 0000000..1dc5e63 --- /dev/null +++ b/UnityLauncher/Tools.cs @@ -0,0 +1,418 @@ +using Microsoft.Win32; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Net; +using System.Text; +using System.Text.RegularExpressions; +using System.Windows.Forms; + +namespace UnityLauncherTools +{ + public static class Tools + { + /// + /// open url with default browser + /// + /// + public static void OpenURL(string url) + { + Process.Start(url); + } + + /// + /// reads .git/HEAD file from the project to get current branch name + /// + /// + /// + public static string ReadGitBranchInfo(string projectPath) + { + string results = null; + DirectoryInfo gitDirectory = FindDir(".git", projectPath); + if (gitDirectory != null) + { + string branchFile = Path.Combine(gitDirectory.FullName, "HEAD"); + if (File.Exists(branchFile)) + { + results = File.ReadAllText(branchFile); + // get branch only + int pos = results.LastIndexOf("/") + 1; + results = results.Substring(pos, results.Length - pos); + } + } + return results; + } + + /// + /// Searches for a directory beginning with "startPath". + /// If the directory is not found, then parent folders are searched until + /// either it is found or the root folder has been reached. + /// Null is returned if the directory was not found. + /// + /// + /// + /// + public static DirectoryInfo FindDir(string dirName, string startPath) + { + DirectoryInfo dirInfo = new DirectoryInfo(Path.Combine(startPath, dirName)); + while (!dirInfo.Exists) + { + if (dirInfo.Parent.Parent == null) + { + return null; + } + dirInfo = new DirectoryInfo(Path.Combine(dirInfo.Parent.Parent.FullName, dirName)); + } + return dirInfo; + } + + /// + /// returns last-write-time for a file or folder + /// + /// full path to file or folder + /// + public static DateTime? GetLastModifiedTime(string path) + { + if (File.Exists(path) == true || Directory.Exists(path) == true) + { + DateTime modification = File.GetLastWriteTime(path); + return modification; + } + else + { + return null; + } + } + + /// + /// reads LauncherArguments.txt file from ProjectSettings-folder + /// + /// full project root path + /// default filename is "LauncherArguments.txt" + /// + public static string ReadCustomLaunchArguments(string projectPath, string launcherArgumentsFile) + { + string results = null; + string argumentsFile = Path.Combine(projectPath, "ProjectSettings", launcherArgumentsFile); + if (File.Exists(argumentsFile) == true) + { + results = File.ReadAllText(argumentsFile); + } + return results; + } + + /// + /// tries to find next higher version + /// + /// + /// + /// + public static string FindNearestVersion(string currentVersion, List allAvailable) + { + if (currentVersion.Contains("2019")) + { + return FindNearestVersionFromSimilarVersions(currentVersion, allAvailable.Where(x => x.Contains("2019"))); + } + if (currentVersion.Contains("2018")) + { + return FindNearestVersionFromSimilarVersions(currentVersion, allAvailable.Where(x => x.Contains("2018"))); + } + if (currentVersion.Contains("2017")) + { + return FindNearestVersionFromSimilarVersions(currentVersion, allAvailable.Where(x => x.Contains("2017"))); + } + return FindNearestVersionFromSimilarVersions(currentVersion, allAvailable.Where(x => !x.Contains("2017"))); + } + + private static string FindNearestVersionFromSimilarVersions(string version, IEnumerable allAvailable) + { + Dictionary stripped = new Dictionary(); + var enumerable = allAvailable as string[] ?? allAvailable.ToArray(); + + foreach (var t in enumerable) + { + stripped.Add(new Regex("[a-zA-z]").Replace(t, "."), t); + } + + var comparableVersion = new Regex("[a-zA-z]").Replace(version, "."); + if (!stripped.ContainsKey(comparableVersion)) + { + stripped.Add(comparableVersion, version); + } + + var comparables = stripped.Keys.OrderBy(x => x).ToList(); + var actualIndex = comparables.IndexOf(comparableVersion); + + if (actualIndex < stripped.Count - 1) return stripped[comparables[actualIndex + 1]]; + return null; + } + + /// + /// opens release notes url in default browser + /// + /// + /// + public static bool OpenReleaseNotes(string version) + { + bool result = false; + var url = GetUnityReleaseURL(version); + if (string.IsNullOrEmpty(url) == false) + { + Process.Start(url); + result = true; + } + else + { + } + return result; + } + + /// + /// returns release page URL to given version + /// NOTE: doesnt parse alpha versions, since they are not visible + /// + /// + /// + public static string GetUnityReleaseURL(string version) + { + string url = ""; + if (VersionIsArchived(version)) + { + // remove f# + version = Regex.Replace(version, @"f.", "", RegexOptions.IgnoreCase); + + string padding = "unity-"; + string whatsnew = "whats-new"; + + if (version.Contains("5.6")) padding = ""; + if (version.Contains("2017.1")) whatsnew = "whatsnew"; + if (version.Contains("2018.2")) whatsnew = "whatsnew"; + if (version.Contains("2018.3")) padding = ""; + if (version.Contains("2018.1")) whatsnew = "whatsnew"; // doesnt work + if (version.Contains("2017.4.")) padding = ""; // doesnt work for all versions + if (version.Contains("2018.4.")) padding = ""; + if (version.Contains("2019")) padding = ""; + url = "https://unity3d.com/unity/" + whatsnew + "/" + padding + version; + } + else + if (VersionIsPatch(version)) + { + url = "https://unity3d.com/unity/qa/patch-releases/" + version; + } + else + if (VersionIsBeta(version)) + { + url = "https://unity3d.com/unity/beta/" + version; + } + else + if (VersionIsAlpha(version)) + { + url = "https://unity3d.com/unity/alpha/" + version; + } + + Console.WriteLine(url); + + return url; + } + + // if version contains *f* its archived version + public static bool VersionIsArchived(string version) + { + return version.Contains("f"); + } + + public static bool VersionIsPatch(string version) + { + return version.Contains("p"); + } + + public static bool VersionIsBeta(string version) + { + return version.Contains("b"); + } + + public static bool VersionIsAlpha(string version) + { + return version.Contains("a"); + } + + /// + /// uninstall context menu item from registry + /// + /// + public static void RemoveContextMenuRegistry(string contextRegRoot) + { + RegistryKey key = Registry.CurrentUser.OpenSubKey(contextRegRoot, true); + if (key != null) + { + var appName = "UnityLauncher"; + RegistryKey appKey = Registry.CurrentUser.OpenSubKey(contextRegRoot + "\\" + appName, false); + if (appKey != null) + { + key.DeleteSubKeyTree(appName); + //SetStatus("Removed context menu registry items"); + } + else + { + //SetStatus("Nothing to uninstall.."); + } + } + else + { + //SetStatus("Error> Cannot find registry key: " + contextRegRoot); + } + } + + /// + /// install context menu item to registry + /// + /// + public static void AddContextMenuRegistry(string contextRegRoot) + { + RegistryKey key = Registry.CurrentUser.OpenSubKey(contextRegRoot, true); + + // add folder if missing + if (key == null) + { + key = Registry.CurrentUser.CreateSubKey(@"Software\Classes\Directory\Background\Shell"); + } + + if (key != null) + { + var appName = "UnityLauncher"; + key.CreateSubKey(appName); + + key = key.OpenSubKey(appName, true); + key.SetValue("", "Open with UnityLauncher"); + key.SetValue("Icon", "\"" + Application.ExecutablePath + "\""); + + key.CreateSubKey("command"); + key = key.OpenSubKey("command", true); + var executeString = "\"" + Application.ExecutablePath + "\""; + executeString += " -projectPath \"%V\""; + key.SetValue("", executeString); + } + else + { + Console.WriteLine("Error> Cannot find registry key: " + contextRegRoot); + } + } + + + /// + /// parse project version from ProjectSettings/ data + /// + /// project base path + /// + public static string GetProjectVersion(string path) + { + var version = ""; + + if (File.Exists(Path.Combine(path, "ProjectVersionOverride.txt"))) + { + version = File.ReadAllText(Path.Combine(path, "ProjectVersionOverride.txt")); + } + else if (Directory.Exists(Path.Combine(path, "ProjectSettings"))) + { + var versionPath = Path.Combine(path, "ProjectSettings", "ProjectVersion.txt"); + if (File.Exists(versionPath) == true) // 5.x and later + { + var data = File.ReadAllLines(versionPath); + + if (data != null && data.Length > 0) + { + var dd = data[0]; + // check first line + if (dd.Contains("m_EditorVersion")) + { + var t = dd.Split(new string[] { "m_EditorVersion: " }, StringSplitOptions.None); + if (t != null && t.Length > 0) + { + version = t[1].Trim(); + } + else + { + throw new InvalidDataException("invalid version data:" + data); + } + } + else + { + MessageBox.Show("Cannot find m_EditorVersion in '" + versionPath + "'.\n\nFile Content:\n" + string.Join("\n", data).ToString()); + } + } + else + { + MessageBox.Show("Invalid projectversion data found in '" + versionPath + "'.\n\nFile Content:\n" + string.Join("\n", data).ToString()); + } + } + else // maybe its 4.x + { + versionPath = Path.Combine(path, "ProjectSettings", "ProjectSettings.asset"); + if (File.Exists(versionPath) == true) + { + // first try if its ascii format + var data = File.ReadAllLines(versionPath); + if (data != null && data.Length > 0 && data[0].IndexOf("YAML") > -1) + { + // in text format, then we need to try library file instead + var newVersionPath = Path.Combine(path, "Library", "AnnotationManager"); + if (File.Exists(newVersionPath) == true) + { + versionPath = newVersionPath; + } + } + + // try to get version data out from binary asset + var binData = File.ReadAllBytes(versionPath); + if (binData != null && binData.Length > 0) + { + int dataLen = 7; + int startIndex = 20; + var bytes = new byte[dataLen]; + for (int i = 0; i < dataLen; i++) + { + bytes[i] = binData[startIndex + i]; + } + version = Encoding.UTF8.GetString(bytes); + } + } + } + } + return version; + } + + /// + /// checks file version info + /// + /// + /// + public static string GetFileVersionData(string path) + { + FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(path); + return fvi.ProductName.Replace("(64-bit)", "").Trim(); + //return fvi.FileVersion.Replace("(64-bit)", "").Trim(); + } + + /// + /// launch windows explorer to selected project folder + /// + /// + public static bool LaunchExplorer(string folder) + { + bool result = false; + if (Directory.Exists(folder) == true) + { + Process.Start(folder); + result = true; + } + else + { + result = false; + } + return result; + } + + } +} diff --git a/UnityLauncher/UnityLauncher.csproj b/UnityLauncher/UnityLauncher.csproj index 9f523e1..8bd73a9 100644 --- a/UnityLauncher/UnityLauncher.csproj +++ b/UnityLauncher/UnityLauncher.csproj @@ -56,7 +56,10 @@ true - true + false + + + unitylauncher.ico @@ -72,17 +75,27 @@ + Form Form1.cs + + Form + + + Form2.cs + Form1.cs + + Form2.cs + ResXFileCodeGenerator Resources.Designer.cs @@ -113,5 +126,13 @@ false + + + + + + + + \ No newline at end of file diff --git a/UnityLauncher/unitylauncher.ico b/UnityLauncher/unitylauncher.ico new file mode 100644 index 0000000..9aa7a18 Binary files /dev/null and b/UnityLauncher/unitylauncher.ico differ