From eb6a8c90691bca03ac0d1c9707d7d90bed382ec8 Mon Sep 17 00:00:00 2001 From: givememystuffplease Date: Sun, 15 Aug 2010 04:24:31 +0000 Subject: [PATCH] Added a few "Extras". Script naming now covered. --- NUS Downloader/Form1.Designer.cs | 182 ++++++++++++------ NUS Downloader/Form1.cs | 74 +++++-- NUS Downloader/Form1.resx | 2 +- NUS Downloader/Latest/NUS Downloader.exe | Bin 428032 -> 432128 bytes NUS Downloader/NUS Downloader.csproj | 2 + NUS Downloader/NusClient.cs | 4 + .../Properties/Resources.Designer.cs | 14 ++ NUS Downloader/Properties/Resources.resx | 28 +-- 8 files changed, 219 insertions(+), 87 deletions(-) diff --git a/NUS Downloader/Form1.Designer.cs b/NUS Downloader/Form1.Designer.cs index a7dd108..3e0d1ef 100644 --- a/NUS Downloader/Form1.Designer.cs +++ b/NUS Downloader/Form1.Designer.cs @@ -72,6 +72,12 @@ namespace NUS_Downloader this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); this.proxySettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); + this.moreExtrasToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.runFolderFixToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.wiiBrewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.mainPageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.databasePageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.openNUSDDirectoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.aboutNUSDToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.proxyBox = new System.Windows.Forms.GroupBox(); this.label13 = new System.Windows.Forms.Label(); @@ -103,17 +109,17 @@ namespace NUS_Downloader this.iosPatchesListBox = new System.Windows.Forms.CheckedListBox(); this.iosPatchGroupBoxOKbtn = new System.Windows.Forms.Button(); this.richPanel = new System.Windows.Forms.Panel(); + this.databaseButton = new System.Windows.Forms.Button(); + this.titleversion = new wmgCMS.WaterMarkTextBox(); + this.titleidbox = new wmgCMS.WaterMarkTextBox(); + this.dlprogress = new wyDay.Controls.Windows7ProgressBar(); this.saveaswadbtn = new System.Windows.Forms.Button(); this.iosPatchCheckbox = new System.Windows.Forms.CheckBox(); - this.databaseButton = new System.Windows.Forms.Button(); this.keepenccontents = new System.Windows.Forms.CheckBox(); this.clearButton = new System.Windows.Forms.Button(); this.packbox = new System.Windows.Forms.CheckBox(); this.decryptbox = new System.Windows.Forms.CheckBox(); this.localuse = new System.Windows.Forms.CheckBox(); - this.titleversion = new wmgCMS.WaterMarkTextBox(); - this.titleidbox = new wmgCMS.WaterMarkTextBox(); - this.dlprogress = new wyDay.Controls.Windows7ProgressBar(); this.databaseStrip.SuspendLayout(); this.extrasStrip.SuspendLayout(); this.proxyBox.SuspendLayout(); @@ -371,41 +377,93 @@ namespace NUS_Downloader this.toolStripSeparator3, this.proxySettingsToolStripMenuItem, this.toolStripSeparator6, + this.moreExtrasToolStripMenuItem, + this.openNUSDDirectoryToolStripMenuItem, this.aboutNUSDToolStripMenuItem}); this.extrasStrip.Name = "extrasStrip"; - this.extrasStrip.Size = new System.Drawing.Size(170, 82); + this.extrasStrip.Size = new System.Drawing.Size(178, 148); + this.extrasStrip.Opening += new System.ComponentModel.CancelEventHandler(this.extrasStrip_Opening); // // loadInfoFromTMDToolStripMenuItem // this.loadInfoFromTMDToolStripMenuItem.Image = global::NUS_Downloader.Properties.Resources.page_white_magnify; this.loadInfoFromTMDToolStripMenuItem.Name = "loadInfoFromTMDToolStripMenuItem"; - this.loadInfoFromTMDToolStripMenuItem.Size = new System.Drawing.Size(169, 22); + this.loadInfoFromTMDToolStripMenuItem.Size = new System.Drawing.Size(177, 22); this.loadInfoFromTMDToolStripMenuItem.Text = "Load Info from TMD"; this.loadInfoFromTMDToolStripMenuItem.Click += new System.EventHandler(this.loadInfoFromTMDToolStripMenuItem_Click); // // toolStripSeparator3 // this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(166, 6); + this.toolStripSeparator3.Size = new System.Drawing.Size(174, 6); // // proxySettingsToolStripMenuItem // this.proxySettingsToolStripMenuItem.Image = global::NUS_Downloader.Properties.Resources.server_link; this.proxySettingsToolStripMenuItem.Name = "proxySettingsToolStripMenuItem"; - this.proxySettingsToolStripMenuItem.Size = new System.Drawing.Size(169, 22); + this.proxySettingsToolStripMenuItem.Size = new System.Drawing.Size(177, 22); this.proxySettingsToolStripMenuItem.Text = "Proxy Settings"; this.proxySettingsToolStripMenuItem.Click += new System.EventHandler(this.proxySettingsToolStripMenuItem_Click); // // toolStripSeparator6 // this.toolStripSeparator6.Name = "toolStripSeparator6"; - this.toolStripSeparator6.Size = new System.Drawing.Size(166, 6); + this.toolStripSeparator6.Size = new System.Drawing.Size(174, 6); + // + // moreExtrasToolStripMenuItem + // + this.moreExtrasToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.runFolderFixToolStripMenuItem, + this.wiiBrewToolStripMenuItem}); + this.moreExtrasToolStripMenuItem.Image = global::NUS_Downloader.Properties.Resources.wrench; + this.moreExtrasToolStripMenuItem.Name = "moreExtrasToolStripMenuItem"; + this.moreExtrasToolStripMenuItem.Size = new System.Drawing.Size(177, 22); + this.moreExtrasToolStripMenuItem.Text = "More Extras..."; + this.moreExtrasToolStripMenuItem.Visible = false; + // + // runFolderFixToolStripMenuItem + // + this.runFolderFixToolStripMenuItem.Name = "runFolderFixToolStripMenuItem"; + this.runFolderFixToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.runFolderFixToolStripMenuItem.Text = "Run \'FolderFix\'"; + this.runFolderFixToolStripMenuItem.Click += new System.EventHandler(this.runFolderFixToolStripMenuItem_Click); + // + // wiiBrewToolStripMenuItem + // + this.wiiBrewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mainPageToolStripMenuItem, + this.databasePageToolStripMenuItem}); + this.wiiBrewToolStripMenuItem.Name = "wiiBrewToolStripMenuItem"; + this.wiiBrewToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.wiiBrewToolStripMenuItem.Text = "WiiBrew"; + // + // mainPageToolStripMenuItem + // + this.mainPageToolStripMenuItem.Name = "mainPageToolStripMenuItem"; + this.mainPageToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.mainPageToolStripMenuItem.Text = "Main Page"; + this.mainPageToolStripMenuItem.Click += new System.EventHandler(this.mainPageToolStripMenuItem_Click); + // + // databasePageToolStripMenuItem + // + this.databasePageToolStripMenuItem.Name = "databasePageToolStripMenuItem"; + this.databasePageToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.databasePageToolStripMenuItem.Text = "Database Page"; + this.databasePageToolStripMenuItem.Click += new System.EventHandler(this.databasePageToolStripMenuItem_Click); + // + // openNUSDDirectoryToolStripMenuItem + // + this.openNUSDDirectoryToolStripMenuItem.Image = global::NUS_Downloader.Properties.Resources.folder; + this.openNUSDDirectoryToolStripMenuItem.Name = "openNUSDDirectoryToolStripMenuItem"; + this.openNUSDDirectoryToolStripMenuItem.Size = new System.Drawing.Size(177, 22); + this.openNUSDDirectoryToolStripMenuItem.Text = "Open NUSD Directory"; + this.openNUSDDirectoryToolStripMenuItem.Click += new System.EventHandler(this.openNUSDDirectoryToolStripMenuItem_Click); // // aboutNUSDToolStripMenuItem // this.aboutNUSDToolStripMenuItem.Image = global::NUS_Downloader.Properties.Resources.information; this.aboutNUSDToolStripMenuItem.Name = "aboutNUSDToolStripMenuItem"; - this.aboutNUSDToolStripMenuItem.Size = new System.Drawing.Size(169, 22); + this.aboutNUSDToolStripMenuItem.Size = new System.Drawing.Size(177, 22); this.aboutNUSDToolStripMenuItem.Text = "About NUSD"; this.aboutNUSDToolStripMenuItem.Click += new System.EventHandler(this.aboutNUSDToolStripMenuItem_Click); // @@ -713,6 +771,52 @@ namespace NUS_Downloader this.richPanel.Size = new System.Drawing.Size(250, 268); this.richPanel.TabIndex = 56; // + // databaseButton + // + this.databaseButton.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.databaseButton.Location = new System.Drawing.Point(12, 5); + this.databaseButton.Name = "databaseButton"; + this.databaseButton.Size = new System.Drawing.Size(85, 27); + this.databaseButton.TabIndex = 20; + this.databaseButton.Text = "Database..."; + this.databaseButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.databaseButton.UseVisualStyleBackColor = true; + this.databaseButton.Click += new System.EventHandler(this.DatabaseButton_Click); + // + // titleversion + // + this.titleversion.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.titleversion.Location = new System.Drawing.Point(204, 38); + this.titleversion.MaxLength = 8; + this.titleversion.Name = "titleversion"; + this.titleversion.Size = new System.Drawing.Size(58, 21); + this.titleversion.TabIndex = 50; + this.titleversion.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.titleversion.WaterMarkColor = System.Drawing.Color.Silver; + this.titleversion.WaterMarkText = "Version"; + this.titleversion.TextChanged += new System.EventHandler(this.titleversion_TextChanged); + // + // titleidbox + // + this.titleidbox.Font = new System.Drawing.Font("Tahoma", 8.25F); + this.titleidbox.Location = new System.Drawing.Point(12, 38); + this.titleidbox.MaxLength = 16; + this.titleidbox.Name = "titleidbox"; + this.titleidbox.Size = new System.Drawing.Size(176, 21); + this.titleidbox.TabIndex = 49; + this.titleidbox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.titleidbox.WaterMarkColor = System.Drawing.Color.Silver; + this.titleidbox.WaterMarkText = "Title ID"; + this.titleidbox.TextChanged += new System.EventHandler(this.titleidbox_TextChanged); + // + // dlprogress + // + this.dlprogress.ContainerControl = this; + this.dlprogress.Location = new System.Drawing.Point(12, 95); + this.dlprogress.Name = "dlprogress"; + this.dlprogress.Size = new System.Drawing.Size(250, 15); + this.dlprogress.TabIndex = 47; + // // saveaswadbtn // this.saveaswadbtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); @@ -749,18 +853,6 @@ namespace NUS_Downloader this.iosPatchCheckbox.UseVisualStyleBackColor = true; this.iosPatchCheckbox.CheckedChanged += new System.EventHandler(this.iosPatchCheckbox_CheckedChanged); // - // databaseButton - // - this.databaseButton.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.databaseButton.Location = new System.Drawing.Point(12, 5); - this.databaseButton.Name = "databaseButton"; - this.databaseButton.Size = new System.Drawing.Size(85, 27); - this.databaseButton.TabIndex = 20; - this.databaseButton.Text = "Database..."; - this.databaseButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.databaseButton.UseVisualStyleBackColor = true; - this.databaseButton.Click += new System.EventHandler(this.DatabaseButton_Click); - // // keepenccontents // this.keepenccontents.Checked = true; @@ -817,9 +909,9 @@ namespace NUS_Downloader this.decryptbox.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; this.decryptbox.Location = new System.Drawing.Point(12, 462); this.decryptbox.Name = "decryptbox"; - this.decryptbox.Size = new System.Drawing.Size(195, 26); + this.decryptbox.Size = new System.Drawing.Size(231, 26); this.decryptbox.TabIndex = 19; - this.decryptbox.Text = "Create Decrypted Contents"; + this.decryptbox.Text = "Create Decrypted Contents (*.app)"; this.decryptbox.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; this.decryptbox.UseVisualStyleBackColor = true; // @@ -839,40 +931,6 @@ namespace NUS_Downloader this.localuse.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; this.localuse.UseVisualStyleBackColor = true; // - // titleversion - // - this.titleversion.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.titleversion.Location = new System.Drawing.Point(204, 38); - this.titleversion.MaxLength = 8; - this.titleversion.Name = "titleversion"; - this.titleversion.Size = new System.Drawing.Size(58, 21); - this.titleversion.TabIndex = 50; - this.titleversion.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.titleversion.WaterMarkColor = System.Drawing.Color.Silver; - this.titleversion.WaterMarkText = "Version"; - this.titleversion.TextChanged += new System.EventHandler(this.titleversion_TextChanged); - // - // titleidbox - // - this.titleidbox.Font = new System.Drawing.Font("Tahoma", 8.25F); - this.titleidbox.Location = new System.Drawing.Point(12, 38); - this.titleidbox.MaxLength = 16; - this.titleidbox.Name = "titleidbox"; - this.titleidbox.Size = new System.Drawing.Size(176, 21); - this.titleidbox.TabIndex = 49; - this.titleidbox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.titleidbox.WaterMarkColor = System.Drawing.Color.Silver; - this.titleidbox.WaterMarkText = "Title ID"; - this.titleidbox.TextChanged += new System.EventHandler(this.titleidbox_TextChanged); - // - // dlprogress - // - this.dlprogress.ContainerControl = this; - this.dlprogress.Location = new System.Drawing.Point(12, 95); - this.dlprogress.Name = "dlprogress"; - this.dlprogress.Size = new System.Drawing.Size(250, 15); - this.dlprogress.TabIndex = 47; - // // Form1 // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -905,7 +963,7 @@ namespace NUS_Downloader this.Text = "NUSD"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); this.Load += new System.EventHandler(this.Form1_Load); - this.MouseWheel += new System.Windows.Forms.MouseEventHandler(Form1_MouseWheel); + this.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseWheel); this.databaseStrip.ResumeLayout(false); this.extrasStrip.ResumeLayout(false); this.proxyBox.ResumeLayout(false); @@ -1000,6 +1058,12 @@ namespace NUS_Downloader private System.Windows.Forms.ToolStripMenuItem iosFakeMenuItem; private System.Windows.Forms.ToolStripMenuItem vcFakeMenuItem; private System.Windows.Forms.ToolStripMenuItem wwFakeMenuItem; + private System.Windows.Forms.ToolStripMenuItem openNUSDDirectoryToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem moreExtrasToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem runFolderFixToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem wiiBrewToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem mainPageToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem databasePageToolStripMenuItem; } } diff --git a/NUS Downloader/Form1.cs b/NUS Downloader/Form1.cs index 4897f71..c2ebc88 100644 --- a/NUS Downloader/Form1.cs +++ b/NUS Downloader/Form1.cs @@ -109,8 +109,8 @@ namespace NUS_Downloader /* Fix proxy entry. if (!(String.IsNullOrEmpty(proxy_url))) while (String.IsNullOrEmpty(proxy_pwd)) - Thread.Sleep(1000);*/ - + Thread.Sleep(1000); + if ((args.Length == 1) && (args[0] == "folderfix")) { // Organizing folders from past NUSD releases... @@ -120,11 +120,14 @@ namespace NUS_Downloader Debug.WriteLine("folderfix active"); WriteStatus("Organizing your old folder structure..."); folder_fixer.RunWorkerAsync(); - } + }*/ if ((args.Length == 1) && (File.Exists(args[0]))) { string script_content = File.ReadAllText(args[0]); + FileInfo script_file = new FileInfo(args[0]); + script_content += String.Format(";{0}", script_file.Name.Replace("." + script_file.Extension, "")); + BackgroundWorker scripter = new BackgroundWorker(); scripter.DoWork += new DoWorkEventHandler(RunScriptBg); scripter.RunWorkerAsync(script_content); @@ -147,15 +150,11 @@ namespace NUS_Downloader statusbox.SelectionColor = statusbox.ForeColor = normalcolor; if (version.StartsWith("SVN")) { - WriteStatus("!!!!! THIS IS A DEBUG BUILD FROM SVN !!!!!", warningcolor); - WriteStatus("Features CAN and WILL be broken in this build", warningcolor); - WriteStatus("REMEMBER TO CHANGE TO THE RELEASE CONFIGURATION AND CHANGE VERSION NUMBER BEFORE BUILDING!", warningcolor); + WriteStatus("!!!!! THIS IS A DEBUG BUILD FROM SVN !!!!!"); + WriteStatus("Features CAN and WILL be broken in this build!"); + WriteStatus("Devs: REMEMBER TO CHANGE TO THE RELEASE CONFIGURATION AND CHANGE VERSION NUMBER BEFORE BUILDING!"); WriteStatus("\r\n"); } - /* - KoreaMassUpdate.DropDownItemClicked += new ToolStripItemClickedEventHandler(upditem_itemclicked); - NTSCMassUpdate.DropDownItemClicked += new ToolStripItemClickedEventHandler(upditem_itemclicked); - PALMassUpdate.DropDownItemClicked += new ToolStripItemClickedEventHandler(upditem_itemclicked);*/ // Database BGLoader this.fds = new BackgroundWorker(); @@ -887,7 +886,6 @@ namespace NUS_Downloader Debug.WriteLine("Database: IosTitles added"); worker.ReportProgress(50); - // This has been tested and is not the hanging code... ToolStripMenuItem[][] vcItems = databaseObj.LoadVirtualConsoleTitles(); for (int a = 0; a < vcItems.Length; a++) { @@ -1896,6 +1894,8 @@ namespace NUS_Downloader if (ofd.ShowDialog() != DialogResult.Cancel) { string script_content = File.ReadAllText(ofd.FileName); + FileInfo script_file = new FileInfo(ofd.FileName); + script_content += String.Format(";{0}", script_file.Name.Replace("." + script_file.Extension, "")); BackgroundWorker scripter = new BackgroundWorker(); scripter.DoWork += new DoWorkEventHandler(RunScriptBg); scripter.RunWorkerAsync(script_content); @@ -1915,7 +1915,9 @@ namespace NUS_Downloader if (scriptArgs.Length < 2) RunScript(scriptArgs[0], "random"); else - RunScript(scriptArgs[0], scriptArgs[1]); + { + RunScript(scriptArgs[0], RemoveIllegalCharacters(scriptArgs[1])); + } /* script_mode = true; SetTextThreadSafe(statusbox, ""); @@ -2192,6 +2194,7 @@ namespace NUS_Downloader } folderpath = Path.Combine(this.CURRENT_DIR, Path.Combine("scripts", Path.Combine(folderpath, tsmi.Text))); string script_content = File.ReadAllText(folderpath); + script_content += String.Format(";{0}", tsmi.Text.Replace(".nus", "")); BackgroundWorker scripter = new BackgroundWorker(); scripter.DoWork += new DoWorkEventHandler(RunScriptBg); scripter.RunWorkerAsync(script_content); @@ -2262,7 +2265,7 @@ namespace NUS_Downloader // Scripts from database are stored in tooltips... ToolStripMenuItem tsmi = (ToolStripMenuItem)sender; string script_content = tsmi.ToolTipText; - // Debug.WriteLine(script_content); + script_content += String.Format(";{0}", tsmi.Text); BackgroundWorker scripter = new BackgroundWorker(); scripter.DoWork += new DoWorkEventHandler(RunScriptBg); @@ -2376,12 +2379,11 @@ namespace NUS_Downloader if (!File.Exists(scriptdir)) Directory.CreateDirectory(scriptdir); - Debug.WriteLine(" - Output: " + scriptdir.Replace(CURRENT_DIR, "")); - // Parse entries string[] NUS_Entries = scriptstr.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries); WriteStatus(String.Format(" - Script loaded ({0} Titles)", NUS_Entries.Length)); + WriteStatus(" - Output: " + scriptdir.Replace(CURRENT_DIR, "")); for (int a = 0; a < NUS_Entries.Length; a++) { @@ -2441,7 +2443,7 @@ namespace NUS_Downloader void Form1_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e) { - Debug.WriteLine("Delta: " + e.Delta.ToString()); + //Debug.WriteLine("Delta: " + e.Delta.ToString()); if (SystemMenuList.DropDown.DisplayRectangle.Contains(e.Location) || SystemMenuList.DropDown.Bounds.Contains(e.Location) || @@ -2471,5 +2473,45 @@ namespace NUS_Downloader } } + + private void openNUSDDirectoryToolStripMenuItem_Click(object sender, EventArgs e) + { + // Opens the directory NUSD is working in... (CURREND_DIR) + Process.Start(CURRENT_DIR); + } + + private void mainPageToolStripMenuItem_Click(object sender, EventArgs e) + { + Process.Start("http://www.wiibrew.org/wiki/NUS_Downloader"); + } + + private void databasePageToolStripMenuItem_Click(object sender, EventArgs e) + { + Process.Start("http://www.wiibrew.org/wiki/NUS_Downloader/database"); + } + + private void extrasStrip_Opening(object sender, CancelEventArgs e) + { + // Show additional features based on held keys... + #if DEBUG + moreExtrasToolStripMenuItem.Visible = true; + #else + moreExtrasToolStripMenuItem.Visible = Control.ModifierKeys == Keys.Control; // If Ctrl Pressed. + #endif + } + + private void runFolderFixToolStripMenuItem_Click(object sender, EventArgs e) + { + // Run folderfix to make \titles\ + // Organizing folders from past NUSD releases... + BackgroundWorker folder_fixer = new BackgroundWorker(); + folder_fixer.DoWork += new DoWorkEventHandler(ReorganizePreviousFolderStructure); + folder_fixer.RunWorkerCompleted += new RunWorkerCompletedEventHandler(ReorganizePreviousFolderStructure_Completed); + Debug.WriteLine("folderfix active"); + WriteStatus("Organizing your old folder structure..."); + folder_fixer.RunWorkerAsync(); + } + + } } \ No newline at end of file diff --git a/NUS Downloader/Form1.resx b/NUS Downloader/Form1.resx index c4cbda7..3a65736 100644 --- a/NUS Downloader/Form1.resx +++ b/NUS Downloader/Form1.resx @@ -127,7 +127,7 @@ 285, 17 - 386, 21 + 394, 17 diff --git a/NUS Downloader/Latest/NUS Downloader.exe b/NUS Downloader/Latest/NUS Downloader.exe index 3086b7a8c5bd9da5ada10ef92edb8cd2e4fb995a..48ef65e15598458f80f735a9ebe45b19f524ca52 100644 GIT binary patch delta 63606 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

hZP3*R;l|EJUzN}lFW*L?# zr&GQ?buy`&6IjaoxV&O`oY`n;aeS9UU!VSBL&xYYnlC#Hebf&pw zF?*Z1*pOOa5*;N4vZyjiF38^ROp}|E4?AaKBhsWdQ%^egkh1IunkLs~%SsV=LXXKa z*%2V`&d!#b_^a7bN)tbvZD39OpP;`&zRVu26wAIjnM#=)nv)ASHfM@b1)Av~y9?qB z%p(svNs}O-oJ<>?xX4 zb}Q@1ZYY~39nLwRtb=Ajm#}f`7%qP|5Am;kd!z6o%hoa&x%TDeMYnb4{1 zk>^ji0J3mxB@a*N^o2p0@PJ$-FG&|Wk~3LH$$qkJ!g@zLX`3(^Cf(~3WWPP~P9+fV zD+t#i{|vZC7K6A))?$iidt}?haKBSn{T_MH#Aevjrc89f%9}RPZMA{x#GCv&;$|5*9n>lrJqiGz|SLpKk-4oBGNlv^)nl`W<2V*pWAY4+%V_EbDN=OiMf-B*mb_- zCswYP{5tR;q7y4?!i`M~%IkhjJU7?h?j*P5p7jecXxmPCZVjybt44k6S4G$7{^-}o zfX5SjGeqtXJ7xb4h#cnMj)yHS>ABoxur$4#TkC-N|61;8TL?X!dzXKUbS0(Izk_^& znlE$9$q<8_H{P6NQ1brZpM*D8rD2shfGhlmXsa7y4q^e|YX2gXixJZh%Mhy&U5Fhd zB@Z&{=7o6=`450_T<##nd5=K#6?x6174`)}BNn9&vLr8pw(#Y7VnY(WFEVV;+XlOw z19^v~E`BDj#lMSR0&5a=OxgkwdQXDsMq(#zvvu**NwAS4L%<&*aMw~$&Www0exIpAMR>%m%NcmOnM^pQ#a_C91gXk6&uLEf9x?q5c` zpn@_gy0MOb57shR36A@F47J(sfYmwK-`+{aPJYk7$dES~cE_@4ZWX;{G90kVwQg{7 zQK4$#uE`(z_aRSC{uCO~3a%ZbeexAZa_8i4!TRLnpP^?`zSxZ_fGxaF{?GntG$G#* z&_Tw4rj^dlw*@4TMfp2mIbWCWAJ9af&hG`9UHOrKujE7iu<1$U4y7Hog_H1XusDP+fn%Qe0VQNcL3Myfo>#C8(pXi{Ov1oA z%^F6oq>K&>!y_VbRM;+8L4>)1U4|D5mLa}p5ORm11}Ak5sm-3|w$|Wr*%fHSNpjV| zri2IOpqU!Q+;)=KDf5B~q|7M`f|_9BR0BSpe}9k@td9hFQw0=$EvfQUO63dmE1!t;5+DyRnL5a4>pDf}+b#QsqT`*`+YVNJ*t z$iY1!SIL#aBA=_|r^1uOW$ZPzE5yaVpExDd1sitCTy@=P>2Y@|pJp_XvHUi`41NdT zoqP>oIS=I~c-yAX)bIxZYq<)z8ue>Yzn&XRCen=ln^6B0>bIbN8=efgVC%gDu z@calpFYr*aiCl!AkT#LaZXOEX56>9u&GF=Z(!WE}pieeTL$`42u$E$${q#1@#{-M;@AyAVoj+mfv zd@dO$2g8SBMDSc*?WhEtOU48@@OvDt-~+O7Eis5dtIQJ}EkRomODsZTwoA^$kTSc) zd9zyeo)qG4=`Gy%BX%N2MGD8LD1ni{>psS%zVr~fj;3rQ9h|Y^L!rjIqgF&v2M#mOSR>X zmLrzWEEa2+HO87?9c~?C&9F|k&bF3XE39{0ms!_ZAG1DV-D^E*{n+}W)oANwi?j`} zCD@W}V{JLM+iml0ciZZ0585`{n0R0Ju|I3yWq;lNzWpov z&vvtKU*D0wV|^$2PV>FZ*Ins*pYJB$=Y89KfAa0)80biHWI1ke%yTq3jyOJWTypq3 z2Rd_{mCkj}4bCT>pE+$xfHF`iQGTziQyx*aD6cAiQ$AO|Q!IW%{HFWW`aR*d!>`@% zBfro6B!8QKU;iBcIsQxhhXU@N~e@fU5yMfzH6Fz>L7cz@j;U^8;%FYXesX zHU<7Ua93b(&^+rIUwS%V0en@j zfO7&h@K)y~FdtXIqgVH~^*t-SM%~T*dcnD|7yFF^R0ie%h7Ozz*bgxgaRlOM#EFPS zh$VScG^d zVh!TZ*yT{_wb;)A{~q@h;9GGM;QD@NTo&Lbao>UFQk-}}w#_0m?!i`JUNcx=Wukhn zQwp50H1Qmq^|=pGMSK!*2jX7DcEl5i=Mqz(^rwj;M&Qr|fPb}!`?^Yps$)Npj)&aA zg5lA)*?^3s!nqj}+|&{ZnmKI)K9nefE$1h)3~WEDLqC@0yT73-kndqv%*YS)Q8CWAW+_W;`90Z&Hk>=i&?H+u~}9Be?Ypl;(-*iry8*n(FKF~nng|s$GHti?y*vS^anRLtRgv_EV4-j%Yz4IU; zchE|}*|Zk0nAQQ#p}bC;;r*7>^SucXuB zOK-EyW9OZ|^n6>>1EYi6ML1yuHSw(*Fywa&LJ!&f{t|^{VTwRLh zYu2{!to&Z7ZLxz()Ms94%^gb?l~&BXQ>}IKO{!Dj2Mn5`?Jb2T1w^H#rza+*r;Uiq zN*FmLZrIS_nQ=F#r)9+@jU1kyJ}iA?R@#WfwuJt?l%`E7EiOqbFP{oIBUxqTr8yP9 zTZlrTs~S3wR8%;rctI%<0%W4JqPlEh1({M>SzbI>eP{q5Ag5KkD(0%vKwhf8Fo2Ix zJ3g2EH!mH?C3Sfm-`AEG&l6=;9m;FfkYPMNS_H}{Ew3pig{2iG6H8syD3JU`3+I+r z1F0!qRMR$f7(BZb;WfJ1#T6yxrHe>$Ny)W=RUaPCFRQ0V@cwGSNbVn84Ut7>(#p%` zRbYb)%gPs*E>f3|;Mpo0$tSl}j^wZ{j8qrj47o~*8$zO@7L?Z9xv(Umc0@u#!jO{U zwu3kG4tUC&#FfD-a2ApZ_01F>({><*Zy9GXr@&!U0xXS0Qa^X|ujwrHqdI<@vkxJ4 z`!nD@Jd5G5DVao)wlojFFwg{tV-@6XQr*^X8~+_upWe<>)iv9Bu-dtuZwWNtL#Dwy zvml!79yp;nncPYyk!9*KH?L`HeGY!o#DC-hXn}aYPbR5_T_yCMRI43(c+}YNJlzuM zZ6opcmt-!4R{)hl-IJh(LWrFKUzuWecYHI_jg`S3YUEq;N= z4D`#>b&;ADx<^t;9p=GJav}E~mO*;bZ8~w%1rGH?E&F&Q zwc5O1mDCpfI&U)#9TEwH9|zd7i^E@O5J{?DqN{j>fQ)5L{bXe zidws~KpfAF~kl7oOHRSdRsQ3L0|{UZ>#2${I0Z9S{qM6T%}GYXMi~C zI)w#3kgV6pdbz)FLp%cr=C)lY`Tf-A5@qP(iB@w?@j7EB{MMl2NmGxX;&F~?QY7)= z5Ka~?^AxML)4V?|Q%9WU{ruCy!bcW=q}fCL zh#|n~@u-pSLM)G(_AU?c^-z|Cmi^FHD@aby8;I?;NKO^cek&-P9+7{irvqMI?)03p ziz19#g}dVEgkgrU%2PZaJ3VKdMmSxhc#c7_fHP16+%eOhE-~|*o=fUGXLwfZRV`^h ziU{@85-Cw-I0(*qGXw~i!)3*D1-O!=)XQr2`}}RW#iV#z)SJ%ozBEnEI?D(4>2?tQ zK}NIqxUt~6vphJ!=`3;2=B z^3n4LK%z}1IAXTT@Z($scId9%ZpV()j}ikKW;SxWQa@ao#Y8IXTIR5;qQ?ZHZPoqL zv|^biqXZ`AEC3z`qlRjj#eY1<1KiW(NUD^H*&selBHQ%~jD(r&&iX2=(WulHE0HE< zF`7-0Oq7N;8)apt$;86La2U2iJf+@c7a_vJ!o!R(@OSFQ`em5s6^N@4*MPgTzR3h{ z3Q(3Q!FA2y&bmL@6;BRSspKjdVay~c^{dphPVS%9Vue8ogUuV_nwV%7Z0A)bLx58M zG!f4q24)xC;@Th__ zcCnod$Cg}y0T7ebQygiuDfL~NpP0Ru!ey8eUkmXnB+|}c?m)MC8w0Qn0E$a%bgSC? zLk_BhD@z!j`(mp8}c+NHYkWY zP5UUqkNPH!L4Sm;7_t$jwXLC4sFVi1mId%~b)_L1`kWUYCK4`&2&a{p1J{U{>J3%Q zE+)738L2ux=7GtrB6(uA?XlY#jwYlYR4`JC@DG=6GAbD6myYUeC|}wtc4wwvk6;ou zjNyO*tRri*95{%L*}k1_4Hi=Ab|ezmEK zPqM%=r!U}D>X%&{e(y%j`IJ8s=e%nkyr@asfkNQaBs}IFB$Ie!W3xz~P? ex7jbs|7tQjWVqf($fldy=v9_S)%@*j>;D6=hMtMfEB)2t^6WEq>&N(M+oFlkR%La@rk4;*FZEV`m zV2m+l$r%~EiiGKrrj6e$z2BWXUV*ett-)fh8b`@nbq0HYZ2pBtC3I6GoIz}mA5jYF)w{mbA; z|Bb*uS@KDFH+iHt7chx<|3Q+Jv#(^*HEm?#)uCyEe7npFjbFXxY^)LWMb-AQq-3Tk zS`5DdMa@NqkT)KcWOV^BS#r8sDoFwLSkn^UIWjx1>3#nenT>7I0_CjjG)ZE6gZ_NE zAzhNZS|<>0o@U&X@iXMxliBxo(!a^P)lP||qg1(?vD=~() z>6vjAA(Wuv(XKNtZZnlFH{NR#&R+?vBsVA!X-zd$A~$4{bf+6xIYsPZqeITB@MH)c zP{N+QuJX4`Gw#f3$EF#tDI6cx1MB90Ie`K{)$85AD5o)86DKc~O9HUQu zZ`jG%`7^^wX2F1q(Wm)Q&M43LB|ihP_62{0+FmHQ1vav_urCA9RP=6^&|yYI*}5DS za&2)HxISGxjeTYml|0CfG`&_bg28A?qungi$Y^F7%c3U{uU)YNY*y34vhx}Htm(7z z6~Hx3uBh~~Ta0yTH-vYqpFoQDJA{lkrf29|-sEwh^DcF`G% ze5LCY$oKW!5@SWT4o#<>beOR(jj`QEBfJ{nG2>%|M~yDsDQx87v)y+9Keq>AZsXw( zJRDRlpcT4f_z7dG&0&#ox- z*Pb^+tUvZz$QCxG^=?Np*7O<9jy0|6lOZF0V?UDZ1%$_p{QgwpA|Bqu!(aPv2Y%~- zw|kJf8lgb1>{uCLNFZ4$wCs*BJvpY>w!}RHJGSBSr=!I!@!uWTeg0T7PQ{48@P}qHNNoDNqOF(4++^m;z(L zLljx3ssp>*`(eQfOIONN2n@FnjN zyY|aQaTyvHQ3dpZVq?$pxUq402x*TlTNmP1w}jFht20I}ABCcJET2I|9bK_5L_MK# z6(=gR?8jKQasw*x)5>-Ti%;v3cLVeh_o;uR(N=C)3}W?5W9exxw3^T~{Pa^9)PM7; z3dsJ#sse*yc>bKMQuSH<)2eT;JAs?94}jU4PaF zguk4%4TI$7vpX>MMbiW8&Y@wnO9SQF-(Vmdz5X?XWsM1h*Eenl?MWNTiFR7zK{C{w zP5;7ln0@X_9)^u==c??IrU%c>XF#kvKWuz<-UV!0)2j2k67}^LjAmaLM=v-IC*#P4 zQ-MjlD4HXj48K-_T4eauoyHk|7yyF%{?MF&ybz0^)>w2=6U4~B7$tpSbh%^!!W}&P z@sjfqUw`Q|+mFD=cRuu`J%OIRd0Nw_myToXT%-GzL1^7|TOJ1StgDNSiCg=#smAuL zm!qZ?myJcJ^YDqwCgeFo(0RlM4w`~t^v>;LjWf0#0js&&JAu{K?WM?c=l1syZn=Cf zD%aUK6*j!h=!x(-qedZ9(*_%*JBooQ*inYC_l}_`f76b9knh|vv+xU$*fY4?fU(%C z4Fu{iEFtTPR+9%=$s4a|EEYq(7h|PMP~P(1d}FpzZuGwL8_3(y>z`$;k|O*dXw$e=))%r`>@Yck)GjBZUv zFH1(ZIZ?7m&AI}7S?T!5`{0!rv8wvlxjrG7!yJ>1)K|ixa zF|%w;rd{xC8P_|E)9jf8^Kw*hBx&Y5XovnQ2vnqPZ|GFVbRjg`zoNeY7J9Pq@f zB@L{97X;d!L?z3zdI*uqfc752iguWO^p#Zp`-tWpXBmFfL~b}D&6K?Q1xV07AR4*h z092-5;X-^ti0fSlqNvn91bMW>Ozk7eCdG^7hC7Jx84yCA!vpHyHAdc5y8L5GPSZZ2 zpAEZ+;%j0x6);o^DTbgDKLaH<+=x_lHK|9|#}93exxEEu!7y8$l3f3q@z`DAQOUND z8}@=7G`S+RK^*)_!oxHI+Gix2z(=%yZ~*K|?+z#2>~0Y3ZfM3%J&gpeehxA(gFL*7 z>SM%K=u_4{2cSZUR0a&g8`h2xP%VWz%TfeQm&RMNVJFf&>QSODLlB5d#{GBaCXOKv zO@*)ss;!dr4OD4iPsbH9-1-9u0$i>7OHnzNHM!z`N7 z4o%o%bV-t^97M*R``WhM<>0D&p~c8_wZ9wB-B+ak3}F=Qp9npoe$pXdl_X)b!1{Iu z1~pEh{bFP_bv^Z0kj>Ekg^*jTB8`?MX$e_t{c#`zihdUr^cxW<`b!kY9t({(3_tnD zSyp4zcvdcr0vwswF*-G z;HEz1V)O!MWRYzkGGDGwrF!w6eRvM|4c0-ndTJ(yGXP-BU#H#(uB3FB%ozeyn2u%V^`si#=Q>| zC#V_pMX0bn&!U$^Wc^H1foo2vE5^v?p~@5eBQ||)#KFB}8M!*`$IJvOQ;P+@CK5cNdBhvt>PRjLjxK%aLsrAuT^b zkZnwoo#c>x)q+eO>u|%6xyXU4B_r~u+QdE}IQN zkR>v~%OWwkcb6~&uO%~l$;f%Icsw^lXUK`S^=LT|(x(Lxdc1jBE`BlANGu1{kcy>P zAIXQl%ZfTHQnn&V%W3clt05x8>}51OSeocJ-X4eR^MI$Ra63xGFxM8Kej1YXbBQKQ zx$5Wf1(l+W!LNiV>MmO$+AxlZXd~!X%+*>1dC=_mKa>&7s7?24V<|OW>ZC7|0+A$v z->;1mjE^g4Q@tOCaJXw?{VpV6OZXycrh`N@2{E^o(0DI5U=oBW z7=s?J?R^MTer*Vtgfeq8RTxn~D}3nZDl$D#M7LnNFky2Zbz5$&vAh5=5536Gw zQRD{4Lbzznmm5iA`Qv`QF^3|uejgA)EFQo$=vOy^jTj&zA)ge_mG#ez!H;%is&VYm z(v$w{%yTCie}1%@?V{ZOebMh2{T?f1?Tnd^_3c_Q2{zslfoL@8KWMeTJf`;jKWQ~| zF`B$bOfqU8FJtSC@sHDnQT^kU1=LTe*It9>%Es@l_$|QiMC0DaJ4GpV5*qJyG@kHf zwBBU1*3#Da?eUXqo~9an03};=VL_r^hBC$2ivf%ngteZ=sZSJ4OZH9-WyQ!v{m60L zXxy^^B$4aQyR+!6$Z)EaA*@xvbR6IZO&ADj-0 z?b?H-K7|r3Pl}FRYBT+siUh3#0?B-(7YiA${yDFEHNa@DtkJL58+D6@X7VZ8!%@*( z@tcyQ#f_4u3;$op`smYTiDgvv6;wN#m*_C;0aESemiYa@ga6a-;IRntMq1(Xog1HU z6^x}vs~OO~E%AI!1qZ#=HI<^hh00`vGvga1f7(t=x)%bjuc1b%r3MRU#Ya+#Hl7+W zUF(Q&O)*qK3qR4Yzo7BL$7PyrB_{Llg6qMhrdr1S*r<1DJhg zT5YC23y2(6_d3e-=<5M+mq(=Ldi3*&p0+7KgSi1TyHaT~^?icF4m&mBW|3|s$JcrE z&xlvD>~#GY&l#WV(KDx}6r8SC0FlGugFX7V=1HqXlIqcSHcxtpl4=-~pnrg7HkrlioKW&UC(hB%|t4a5|G)-Dve-dZ{dbu6V&?ni^OvS5V^E)7BmTrjA$b`EM zz2Jh7AR>`m0DTEE>8lV}PHSY#EaSK5qvI`Kf-i1$BnQ2bo$k#!F0pIkwU~AX&kfkB z@OF&2F+St)i+Kq+gVrihxEqf5AY29RH`vl~MwmpKGXjP$8L&#F8r2rddIB1?3hRO5 zxdw%=Df#WX0F3FOsuN9Wfby$|7L!LiXkqPX`rDzg$sV#J2^c>XJ?vPf~^qS*=vDq!) z=vZ^N0@fUkJ#q?%ETt*@w4Aamv*-kEL8>3;QoX~irT(S(BHPp)s+2NaMT)&1Yp17` z&R{d*Cgj!xw@_?bQtx*4mH6P495ez5Z^XLlgyQBUfBD7yt(8_p<6NF z|9UiOCTc4z|LZM653 zKa0qxIq4#rlMaaaU7T;kC;ywXh4(<63Fij)^&0+%?1(&>G`Mnnfieg{m2hFxwl0TQ z@P3VgR|gEGfz34(SY1ubW87$I_VP&Bgq7+^SV98^#|4O^*_oGYnC#_m_cY>09H ztJUlS$|&&F*BBGuD8+Sw)o*lSqm4ap3`rCK zjf0X4phc;E3;T?akZk0n9IA%GBjfKZ7PUJ$nW14=|2Pbu-9QvC!(=(LS!w26ZL zdYc}^Sx6&Tn?z{}PFLs`*T}RfOzH&g`g&B!@;2f%NKvPPf>Lq&FQQH3 zXX?EXX8AFk%mUKSHx4X7Y%FB>!wG*nPfh2kGq_stTrILn1-Ks;K` zPhR+TCbbdhE+#tDq4WB+*+`&`=puCbOW|dmLzVPurvQz5OhhC7M~9q>`X;)2maJa` z=0d@;{x0GvXPtV4^3-cPBF`8nk2tW5XxR23i~a}}={`D+N3%hGi9?RN4%Rt9mb7WBq&{E_ ze7kr6@0YUv7l$l)8{={sUSW~0+ZYC+FnC$FF|e6nT>ExOA~py0n2UO?!KxakvifEq zv{R{~ia0Bn$K%?3{ODIAF>$!7nTa+8#p}|cfhWa?5ah!-SL%#@N zrh8T|;3Gv=y1tn*TTAayPB5od(RTm^4~Nz`3CQb>W^BPBGz$fT!LYsyiF<>=h#x_| z{>D5G6)1oTb^m-06{Q0z*1HL)B3r`}R zPW{@r?@(#tT_+`;i+&MWY!lWs$Z!$#4i3UPt*AePcw+Y^sAxLrBABMn1QB=bupJZ% z)M3nnHq&up;<$OC43Rxk{A7hg+3|T&Fe8Bz7fw`9TyulDHG_h=dOa0NdaKO=be;p{ z#Vdjtb`I_VX2$cHVY1?K9HnPtt1LU19n7#jLsI``vTlG`Ff*8?ZUTGt4CAHul#$N$ zl$thjFjKt>y_t71oL%x(E0Fd3k}!#oA1(o%pG2R@q}dL>Ac;TAMP3+egG?%}IR|hu z#m8t_f6$RpZotJW92k6sbkq(@RO@1ltiNZ>d%q|#eW}%wGz6sw)3NnMdtsrpx}RYr z9(`TQblR^%`ddinwuW(&8b~`EVo8Ofw_xWutY3q?dxL=p-#{ z$wsn9g|?D=f&(niTL%Y)<}zP8Hl>p$s)R%Sx(AVhZCMO7NwdU}Y|pC*ouS`t%UkQK zBUdU(N#^KrIy+U>7YU8^#pkDzgrnJfbkJ$(&1Y9nOB82Qlb=lKO#821Eyzs)RRDK;=lz_`3t`ex=G6d+6Smn^7%i_-MPXF1s`J)()tN-#*UxdoX9l5s) zN;)D-Wn(!LvL0V%i`0x;Sj9|2ef4jU(QzXL@B=Te;WeIO0WZ1%BGZ1vVw2oDTFPM) zQbO;cxg}K)ULW)dNIA4+;&&(rXX&ISCA?EiM)-y&!VgZ6h4@jMC=n}>lu9}g0vlaF zDPi9m6F!M1)}aNXS(_ilB%_{#IA2TSC=WMLrb7iA8h}%GQH`s+OZsBc%6g!x_&rq< z(r+N?t(#b34ZVrHmtD)zBYzXx;PpxlWIcgJy|5sNV1sl&S8=31ft z0`ze&_P?9L8FAcHNuI)p6CdZsqjNfA;{`+X+KhJa@0?^U$&rq=`49{y#`BOfwHdg3 z-WjuaM^b>8g7njpabc3lJiQ<))&iWPb@T#^by`O|$c4_W7#B?kYDTiZooEKH?y%D@ zK}lh{Ocn_F!x++09}Gglw4G!@TY2IpByL@vETPu{(7>5K7x;|&^AOVJ&iVMYzWyUK z?gyd7MNk~S;B;TR0O`o3Z%sH%xhE2zOLP3~wX3*hfFr9DikYY@sv`n!NB=Q>Ui@Zdy+@!e3W=9hwz9rx5eFy8tiYf#l`$&8M>B?!hiNpX~RkpsEzV*tO` z`0a~G;_ptXtV^dSS#EH}_qpQvtCBQpT=74-;xR2rv&$K?8n{aRJvK{z1b7 z-NC>Fx%Wssl$`c3aL`>&gO{J4t$c=?P;8B$;jAsv>=l&bj3J&zVYPINTLpP zvrOw^MENdh9{L#J`R=Bldz%?7130jtbKK-&s- zcHt94Ivi%fO_(qFnxc}JKvI&l%Z!fS6xD5mZZL0k&Pvy|i|BFLlC9RCreco>^F&<} zq)e@svFV#g*pbv#Wk`0{HxahUIPgs;dFC0$kKarS)2;1LmR*M|ae@1PsRprsR|BK$ zyYfEsp*-O?z)0v^eS|DY7m|&@81H~F^5s0OPhp<=We&AhkF78g-$j!Ch+LvR04n_- zM8hW?TC)b?WtP1-UW2zeiNZZ)zIgO2VwtS}3@-K^CB9oz2vrHT+@?IL0fcrJ+`>SF zZuti?WId=`W=K9nat)6q;z+V4Ssx1m94GOmGPhSE+=R?R1z18_2adG-qyxtQ4jlP` z)lPfQoQvtJgZs|+suLJL<)D|}6sD2%_wNc@P6@v*45y>{ec_ zelIzD;ey@ik)6p84UD`WdW7lp0UxO52mRJ2Kt=&hAdLAxl(O;0#vcm%UW0mDtxUV^ zSgz3f6&OeO@oE5WtBM7*{y50whFhrBDatp+wH?Oaf2f-CC=_@RA3DBAidVY=+7IBY zY9lF+w>EDUxdA)+UVbQ}T?vwmT;|nGYPzcs^g2SV;3BzNkQn`cj3nqFr?osc@jP_X zN3gZ>xY?e^Nx1v`J6vjU1tpo@l11&{gt))=d!pC2bEmgtfQbPo{h4XK(052w(vNU@ zF?aQrbYDGMU?-5j7oFBB1s%)iZIXHaizsb-V+%0$bCO%>nUv? zN03k7NM;~&XT0&-Wb}b#6dlMWpoXz%u{mQ$pG-#4m2E6mxpwrSWb|PS12+1JWb~0_ z^zmf$&&lXh$>{gVDA}4N4_pI8_fn0XPGbKjiTzMuX-(Ql2N4)GNu~8%AJ2$HO8X0s zaz@W4vCk#3ZzQpw@#qbdjTZcJJ-n(wNN zEN$XO2BKUEpCqw|lF|2)(Zk8;`^hMrS#aQ$AxF+q&DXRnmFsUJ3CU%%>PQZqTz@lR zze!>-1_8@!jtR=9ZAxOlNMa8pvE*4=+3rh5@8Z$>P`=XmcPozQTRhqoOU}mEDJnJ# zZh<5i{>UmcD^Bfe$NA2Zg(p?oc&ex!r+Qd%)gq;C8d;&;Dwq=#gIP;O^|t||-JV42 zB^XCEEOki;qKgiR7S-QLRCgtjVeRfDpm(7xP`aHZqTOSB`L9UgUO_|SLc}hbfM{lP zKuW=c)Q7qXCPeI?5HMPhQa0fW?Xr0;_bq-xplrKT#S)3 z&P$Pn@X??x3(Xn!$LHRG;ev4eLsV^aH>w?_@@pW`%q`pCtl`XF_z!#iS8QWT6J15w zoXK^rvI$|`3K2}WAh9EmCPfySro!68f(rrq!^Gv0BqE0OrW6f}T=0TODo*$o2oqv^ zNpAQSS;ZH`e5Xnv^iN&9h@v%Kgx86en^jo*TGXE=Og(E&QY1no*v6JT z^Z5>xDIyUJH1U0KPk(BF0CBt&aDIpO!N zoaBY*|8jD|cO*<}Svh6fwaJ>2*P_=F!ZI>Kw3d?-j&|jIm~zf^w2nXr7gFa>9%=lR6>~ zO>a*KOGkugEhi_OcqYDuu?>klI{kE4RzkFvl@ng(D)f60rt}v==#RQs5u!C~{yssJ zZgVC|r^AptslV;wLx|S+aKc|)BK-iu6p;v_XPlK(3?X8>QGWA&!YP~cazr9uR`1~A zLx|WlU{jnj(2=97Pjt}{qNV7te@=M@QCdBk5ZDmJ4x{_?A-RDZX8lqZOG30#G&$3% z&)KxMuK6^%G7^Q51(ODMW2~W&67b>!$zrbdvq-;-#IQ|{S6F*23H<)N!+kV55-QrV z&HNuft4WYkzSl24{t!N#{w)b(`BRi32B%7jPD+_z$nRHkT-6|io^f`v2?-IynxT0M za>B7hNE%I`pAZHr#nRG!SRpsif*yD#{;iPHimMegt-e}8(@M;Z zjz+m7oZ?rJEc!~SoMl*qh#f@vQdCc|EJ}#h+HMp>Fpmg_E3F)Gn;OI43( zmZM2PakNK@4207gT`~ZX@J3_Jd`cpV#%uw2rY)4oDw9;{6hlC9v?Qe%!s%DLiXlX_ zqFE^%8PyWjs)T2{)m6+3yco;dCm`A*+AXCVLhAcn(&{DiyDXMtFRjR6on-+5&~56vl8}1b zRUjc+(=FkhrRCoMs86{%CLyej`8lEqyO+4|v`f(n`qkFa2U|zK)(njvcnDfdX;qY& z@albCbs{Oy1+fOafQa2IW=e{7v{gxv(+LUCXA>K%Lx@zX6H+yuMHT^0V*@~EOOGx~ zk%~z4O)jAb5yK=aMI$K^5k6XBOT@D^xr88u)7k`J;KUAzHE>$X`UEN4>AM6#o)IbX z5K@1|B@ZEDm<6S1X^K2NcRO1ip6z3oJcMxMApr8+WF~T0dg9MwFryZBltTbyiKoay zNPT`o(&`D(nr?XRa$6RjZ4+g)8i){%EU%jWV6rEWJvj;?pg7t#MFzs@O)eP-5$)G( zFyqKFTL7Nt&n^MTJe~eVKr}Ht8cHdLu=?AsatIOo1L-|=Fyq;s(V3u#_O#F_0Z=pc zdX@VBpNvp|hfp-jqfaucHL5gsCk*hRL zG_~307e}6C7sm7SSU)pq9fWbLg8;~aUEb85^9~hdJ*C%jH-l37ZU%Xkr-j%__QIKG z8|#vg5YGMu0Wl2IQglIzem>?zUx_J!05#X;P!U33N<6Ja6e04p7lqOYh`rd#!hvTq zDBCxJ@u#44?tc=XhFql(LT_@FLWme zCJ}yP9?D~p-j;(;o67n+7Xw1Xo`W!{jxff2@jX`|+M#n>R&BQfC8%MSNQBU@cX1>{ zYa(&NN4ZEsZG?b@;Or}P{qr7i{MyBl5Q(VXYzfcF+HFWS!(qyYR~ekv)4UGjP%s7P{ zQ}e@UxRk+<*yu;8ILkRE1fQ9s^(j4r@X;Q2Una*LE66YG7=TK)i;Su7OuDvP> zCCD)p0>awCWJ=23y-3B547u(Cuuf|TP!*ZJp!?SBU(DJj+=n)tG@36&LeF-x+c*po zHct0#Oj;ymjON=^*5M9Ec1x*Dj`mto1}9wBtQs8I-L6K0 zXBtSEtnN$*UKP72$CfAsRe&{HRj?e)Cg2^rCLo%b>OT-ppY0Ni6LJ5cAF5=Zo^foR zEg8==4!7rR!3g09MgRmezbZ&B`M%(|3ZWzc{5=V%nKUhZD_WdVlM3ZfW(;fKRD}{= zU+0pW5HakTrjAtT{G7wdw&*T(u@dvROHl8N*$S)Mh2T z{=Ta!oN$5dKv>-!$l+dRksLO69Iz^T*U0f_ZPI%48@)GRARbGS!NqAIn|VR@D-Trv?N+I(%rkzH*y6O^yL zBU+dM^8T-kz)%6%C#&?ZdWb71mJ8d6d1V*~IScB09LwK37SlU9Amq_msAFJm`6L$RXba5W zT40`UfuS{LDj#Z?R19f=V{l$z6-ISPC8C9NDu$+`R1A&ssTed)GtBKRFt87cCSey( zV`D0#+ge~~$VsK4j-863Zjp-lCW(othj}9?`cZ1t_euY2P;sVy!0}=AL;kCK&c!u6 z;kWB;5Vv|D#yfOWrT!yOsULGvpqAJ}ApY_Zc`iUE&-5=o3>w^$SQy_hZfWRjjsVIwjJ_9Q8+lKS%cP>;8=r zo`>NdF3d+Em+;Gk4U)OBiiH!`B1e6DI4S2?Uv|n3L@mA}R`j2d%s$3q*5uf;wX%FR>1G{>o|%VaLx020n$R|5%>f^no$heN?;Nb4SS+hE&p zwC37iTYe83pWNGTJepM}v$6#aV{uE|iz09lmcH_?orjN3#fMf|u4fN%v!5gR6It3I z&{u^+ZQ>R5F0TrRe+q!Fx7+OGmx{GP=B+2QD(e+Nb5jS_wt|z}`T={u5*W<@by|4L0$g8T)OR4_)R{PgTdq@jYQ&QZUE$-SS{S z$?vO20U{F@?*L2$M25|wUau0z9G$FNATY5>b=Z!ea_X#JWmz;vO;_obMPn##hD1x7 zm({Sy`2WO!Pz5q%(qT`0N1jC%D$Loo&@9J7zpr6sqgu3l$?vy3o-a62+s~_IC8fNz z;{jL8r!@REwY=f?*D}<`JY37d9sk{^_N&v-a>H+uS<#W5lye?6mCui=aryh0OFOa> z*I1Sj4rN+nSw=9^HI`vqu*b5w|Ch!x;)}72eu8at!x+m7JFza^9Yy1FQ$ChCf?4Lk z$FdY8wfv?|EMgBMyF2~<(1phpXz22Zp)1=pbio!{4qZ897#5x`R0gwxIgVkJb!Js7 z$l9#$dFkbbUUPrL*P`)Nb`h?D5PjNGG1Vk>L?yAv5P5k*IAMtH^6u@-Dl;AZShWrf z3jRCBy*T4aTO=7Tl~5%hggv9rpMZp}(p zHdKaHkL}7L7!VhCZDm0G4`=^>IsHVuIrqOm`=9!MsmBms^ceaH{{OQ-ALen|F{0G?mXM*IOXKW(vyUPq%_;h1%^Ivb2;knha0J& zoU|&7m=DB0JoLq%_)fFmA|ax?@p7X%p$Dt1W{@?2cZh2}Uh(Ef8hNjC@|tt&SY?aG;BVvn`^Crc-y43OKxJF_W7I4@dnv+~AN0mee4P|b zq`q*24;pL61p_W;3_h+t)b_7x3*(*PYdCq56^j?PzzhGCdoiwO6`H+1V{Yon3Wg7a zfOs7fb??;?6JHu0s=;$o)i0^P!Rg&dHh}lH5tAv#DCVJP zrz_oil>&VwhYR(3{#&He)#<%Tv5vn4iQf{PZZ+>!#+2&kaYQs--y$Lb-Q4)t zLJm7$8Pgiv;Fekc4OD>F54j=5$a?UnXmQ%}WG`05zB51T#a<3x2PSG2+0sei;MqLO ze6}}Izc;_?%}R^MV)aR%Xcj4c*`Gg4Jf1AR0R6$N?!yx7bMv-7Y&bh&e$$5yD*h3S zUa`7Ks59e#^SqSHqW)w~=*uGcKa)t*k7$uS45D65$@Tv<6Mb1J`^DVdmlgHIc6`8E zjN4>81sUa*}or z1#QYpo>u=oEPzgl0&5_gypd9>OJy>QKy|gHOMJsfPwe!Eh`Xum4SrDNk)e=#jxQ_A zCH+Py@8zid1)~Pj3Dm=C@V>xCq853qcf*H39T{MD9cPwi3sa8r3E+j5A$<>}t3N?P z{V3RPphOKjeqg%hWb=&vtRTV@{pX(`vE)RFl_yH^gWZHE&jo^+zb(I-lre4@mKCrWHMQR3AnO1%F>iEp1M@y8P- zwz=>G>g#l(#K9*@oO7bYhL(xJp{#&qn(?8mWPBmU^5pa_OEL5`OyQWm)diG;QgZBbkPuZ6jH&fQrnwMlx*N zm^q_Zr8*6xdkB9-aS+uUR{;X03!*vL;i<0#f|fj76Y4Q@&M4HP!rU~9Re;Y;qgV_- z&x~Rd5|xlqypkQw6@PbyUhnvjo+aQ(aF1|gf!RHom?j66Mna0D{Nplz45L(%BOHyj zTUsSHn(#ho4rTQkyQTOn?5KnMMeM z!OX%1^LD3Fna_`Avmzt{-bc!e&z597(o{t?L6K&kF)*7PbJ`eI%__}JV^|HVGVdD0 zu);Op8^iv{vd#0yLLY6+TgI}k-AP7|5yQ$_>WBrQ0P#Kkj10LUo6_WlEc%H_Ig(VF zwL5*c9B#}tbH-uIn$rC{cnWrWP}N#1lYd7>9IuCS27V9zd|De~;on_1jKLV=^anAC zX^Xr9Df05TJ8yvUMgs9FOG?Ez!=MV^HjcF~A#I2@A~Em?p1+Z_DJzv(koMR(Ry>`{ zAVl%+fK0qvwjhA5+KNh9GTX_v99ETf5KM$%XU-qb@@828uaswZ91mR+d%H9{yPxZ7 zw|G+MG}H%f54qr6G+U9Fp7DsCuWmfjQHuH3@vLndF6@p#9qsOcH%At5iGjpnBgdjd z&ki(VwpliTc8HhjQPo_*$|h8rsgFvt(k%6LjP>X-Ys^L(=c+yM z!_brXe=_>DByFJ%*2vW#V?i5+SaZB?0$%G_kTNW!3}pE*ZEiKNaDptabQpSeA%}61 z1l!6|^^#^79Pe~9@0rLVLyJIX`G;Pq8)(yb3ws(VL2jT>%i`WpZHWNa_)$8}$9kXx zi-***&CE$GKY^P9aDMSzukhF8cn{CZ_+E$c=O#3K7!_DcU_fz^U2`A|V z$=b>ihGF~fC=(vd3yyfa-P1^*-~>@mSSXcAk8jw{H*`aD9Inj@uX`BS(ZyF7H6+Ee z%5LJ@1aVvQw8<>L4tG(>^r`F`3`y$(0l~B6QaEx z&4@mkhQG($SLg>@rGZ$E7tgeY)jM#sUq$+aEvH)=j6;>YglaBwzAZ9IjK9397Pt|p zGx_SIK=7ggfooQ@J2a?b`VYuz5yF`(5a|UOY|yHjMgrjpAk>1_iXQ^5216VW6GN-| zLP$A&Nx;bPTt7wywqE0iFed-kRFtV2>vDscV3fcJ6V9-|< z!Djh%RuPzjRt#i&6*Xo~n2vMMGLYe2ApNflOWIX%VRAgO{yiiVw^iv}DD2xC%!zmq zTqbENz#BERc%Q}gT|87ym2PW8-6YZ z;bhAQ74Y}PExs9Ybb_7PY*v7b;{iJVRMZ()&SC=-xLlEJ#EX?wY4m52+p1J_kz^32B{g>>Gk%(^ z?`V$Ah)8^2u4;#+kW#Iy1V^m**+*Vg4E5L*NQ_)*DldA`V5RDJA zTUwA!Z$aj>GKV6$5&X4yFGlmD=KQ(PGj?39hdqTVQVFdz4C5BQu?C$3?=EtE0=E)H zsWFCy!pbGF7crCCf)$f2L?*3gz7amB>=B{~cXf|aNYQ@-_ zL99y5%=s++?EUFXa z)hU5+m=^HvraHqcT)=u&@maxc?H5pnyJ~vgb{r6A;8NN-3s{c~Vu3%!Ko&~ zaWTs;JOWLqxDFSWeA+|k2Z3nLma)i_k!`%Z^Hei?3631b8so0%XwF{3a+HIRNv$x? zSi-vGcSKJJC>eea&6I&PD5fY=Uf+=!tuFW z$|^b3-hv8@4Xd&Uvt?BQyT!O$EoL3f7nZX2RgPON^S?aB{cS9usSo0ZTzCA`ngz>P zlr1oOE@Pdd)iTz_j^DV9brA8+=D}sGJ+>f!UBDp9wQo6PI);d?9lss5#WOs7}G)Ky5| z>yOClY97g#Rh>r)WOWUX6w2zEJW?d9XY)w0te(RoC9=AnN5pn^N2ejI#_9oitPK=~ zQY8tW2htV*jeP1RbNgx7AYNb&I31s^iXBJ&8<@TD&g!>=bA}S5@k9JsMDjTO{zxM= zx?CRxk4y=Ft7)rw{4_QYCu`tSJnIAu;PBen{j#?MC@TuQ?V*DI}obPtnsyj=Xr zI9?2n8*`LwuYads+h#s+I_ubutCRjxfxq;)7aZSKJdL=1<5j$kWN3=7ae(Px#Y)r* zz#q$dKImXapL+&q2B^pP*e0de? zo%aW@)T&T#u2Xmf9(A)B)o{AF&FrIrZkxG8V`U>J)3EZt(YEHx8msI}`o%$beq31UjKI>53rqbFSo(2csS5&2KQ1iwK49rbV9nQ8vop-+&tMrUjoFQ3 zk%EfT59sK}$*pxk106&I9zTPXR*~*%@d+2)I2Fqn1)n&s2y2}|Qsv5T4$`ruKh~_* zF>g`0IXI0Plx&4UW2Lj;U+15`aZHb%x?J?~3nc%pEI8poRR&SFJ_#{=g~ z9GOr6cJ^uKbE1uZNRD+IGInI+ILeG;Nh)Q6o6$t`v9sV4UTMC67Ave>K!dRojXCDO z#Bk=B9Z1V?%_n< z8AaBvH}{>*Vr-{*#yU3CEL_L3+FV66{DhM(!|XA;uVcN~E+V*`?crm7&uc-_Y|P(7 zMZ!G1(h9N-`p*+~jVh!QYXqgDMby0X4A#MX@f`SX6V0RNu!?GKz8)o9sPV3(gp;Sv zas%<;d*B%~h|oxp&U-#FG*_=-HRh!atc@~>_g7vHlJaUX6b%U~J>@Zy@qv zZ7Y2S+^zV15;*$rYy8`We}2H-@w*l2R1U82OE6@~i+^VTrq5QMLA*15X;bP0{F@?4 z*%EwIsU7|;!9TWtY8%fOX5N?MDab8CXGmKnEtc^2T%>!jBN8_6y2Bf8M>4h8 zzd47$jxt|bD6K@e6v%#~h;Z&-F}bW6XLbyFqVfZi%<(}_iR_(jt_phE%fn}zCg76V zxgf1aUR_#_BGyQ!BCbh`z$G%@d?n~9E9kvgl5$f?mV)GrdUn@!GE2ny{-Jcio6!qCZdXnd^KBoV2Pi5cYd8qjYJc^Is zpC%zbd5yk&6&@AFe;b=5DSroWQzuJTVXQzWmf8)UI&uhpZvoudTzlT+G8QJbavo55*{T zP8o$#IfZYwqcB`?Kvtwx6*nVnK$t5Xt{9P}NLN-}P^C!ERNYsVE467qA}b)Rj~|e; zr6=Q5R(TEO+T4|L)g`(YbXTO&JPh{u4RMu+LwUG}hmAbEl85*5@C6=z+=KG|%tL=2 z<&E)hLS5gwC|gtqdytH}`Z`5w;^Aj?ROD>WvtC7N)05(PJri7to`f3A!!bNz8IP~y z@!dTBFps~(!(%-^=&4BaIHN!>$~&bO@mbvKn+!!-&O?J^{)!MMRQOU%k$U###rGc7 zTanJ{z0;#e7xcb4fowZ@!p#T+(nGyTIlpmCW*^FMQ5uDLJYLs_GLPo*`aV?qs}RqX z{@Q0mR<8699)8Qi^uC12Ll}^H^*sQZr!ojLnd4{ia2>*gB3;s#3jQ2Kid5Q==hgb4&KM$Yg;phEGtY3Lp*`M@rWq(rj|M2i&e@eY>0Eu`%51$xtGc3SV`qpJj zKM#m1*-~U6!i4k!egaa}ATp@wJZwa`QhIa{xe-4NdS_5TDj7_vC-ZPH4;S)qH9|$Y zbMSpt0qF@IZ$IR>?%C4mL%u7_mhKp`WypR>hF79UeTH@zx?dVW9*VSZ=mGf;vWO?@ z0R*IbdH4)MMQS^Y^zqCvve+KO^M{9}#^EJ}VQDuHpWxvq2o>qu;Y3+Bf+&}cpdwd~ zpjz(a@dG^kkcU4aL?ezQtt=V&tT$U)Kaw!_Cq{nIGh2Ee0Mx=!6{EUhKh(nf@e^vL*~ zo@^;TfvPcY!iWjk(peL7VBy;*^o314Hh~)D-~9vWZ*smuNi++ zq<>0JaR}ZGhYoOPkp(@+p-mR_5{Is{pugcaM|zO0mD0iGb+!q2CZ1v)04eN4Mt|=4 zS@t(p3Ftdcc?3|p43V(l&=<02S8nUzJY*zQZXCCp-FNFKrw;?{P0aPnZVK;+Dk|ttSO_!#!TjdaVMh8gv9)2Dm zMVaggNYggX_GBTPhj8M?6`ly3hcow&zsB>1Cy^a}-N&Spqi-YZ$HUpt!-%hnevI%; z9wwqg5I3TqBitGN65)*;e-EdBIr=RyhoV0rJj%nLdFYK1CXa_P9(LkkZyt`|;gkgb zna9JmJUpL=J9u~_4_}P^3P$hq_}4KK^j|S5GQErns4k<_emuUUj4619zKld%S4NZ< z^6(0d*_0-Y-+Y;s|G&UY>z?+wvTQF&@^I6MgS;Dt<&c z6~B~+Yk9bphqv>BZx-+xI}mRHskd-yW$fWBky1{U6 z<>5U%d;npBNsn;gK*f5ndj;{Z^hw1=B`h7`;kP{eCl5W98x=6E3iyN4O;z~_U#%+f zPuy5n9f4i-;$a_zL1|d^9Q39M)u;HGG=qopdAPWG9x$sx!=w!el>`hl0@M6w^+x}+ zjlMXAH>Ob-;_(86Oj;5jh74=scOkwd-sC5yrgt>?bB&Y^4C%^ZFv|o=j`=FM$PLu2Uo6EAhgTe z)G>;ZFXZ7mnc^D|GHF{!%Djt*w{)C`>M!q(4vF|9!G&)*hLo9Hh-OT5z5EXWr4<^! z>1@PTg7W0ToxYjuWeXZoxK5hQW_*qH3DtfINN2M@0i`x zT`Vn2kahyJn@zEx(WUF8JuEGo(k_%vMcN)VfzT^FZ&Ub71e%6=@j1|SsE^` z67)pr8`4ee6r80J^m?N7S>G+}9t-@Y^d;Y|Y<-v#pO*G}*GRXseH_{(72qNHJ6PTa zNP>BNJ@n?_9c+;WjU0A!@GiE`f-VAd4|`+)aoL`ap)Tt_ib@{o!u)H!rHTz5U`s0! z7x?yBi3ixl6&1<@4s=DuNyS5&N3-e>s(32~v6Rk=(0fQ_-B@=8VikUheo zE2Z+v>wO74XzT1CK2PA+`b z_Ytd`B%nm)<;urw4~H(4h7?|)e99(ZOOEnghJ2s0r>AfTt-VhAlx^XVu!K+9*;6U) zO6i))ouEt{w7@$nZ&3ch)M+B|&dR%Rg0R|x9r(*@-xm48;g zWosozIm7my~4)m7tGu||sA=r4U-cx>I#SZk5^6URo+PA<} zQEmV4*|X<7IOh!K%;7B%6!`=M1oQAvdH4VY1WiRVB|$||A+e;i!+|m_ElG2v^eQ(^ zDYfvI7wyKql3G$)Vh^RVveM+Lm1e1>xBuE}M#XFP`*r_*@H^|f*4k^o_slu7XO0km zjdd8V2*Y(|?)shK-@-bbg?0VO@SAX6X9-;|!za9c1zOCkuA)((^EGBF?U(A+;pKUyl9QyrZcfyG_dYE^Xryi z6zN!*#=~$ zd$cHx$olDQH?nCu+mCD&Fvx$o=~JYzK@AIY8remi{e-Oh1kEOO#~SL)hHR0}0+H>| zSr23~UmAboM+l(?l&y1G0WPdmY&{ogF~7 z3fW526FrNdV_wx5S=Dm^5$Qo>?v+5R;l9J=YsP6ti4L8_vsg$PdLD)waX(yRvy3Jh zPv+UuXjP&!;^o87&309}UkEz{e*_8M=ar;&Nc!CoJVVKieV1~vVw zR~fmT-lMb2y()lh)|nhxO75V0bQTa9D%?Sj=&VoVeq#jvL1!tEhk$jTrNtZ)>25dP zNeAjQFY*gu&uNT|hcI2~W}OvB!si3J3z>(MBeT!uVLap!WJ{1OG@Ub-g6Ddj^@=J3 z_J+<Tg&>=50QDuk6=rrk#n`$o1>4JQs|>P3yA*2)Sr?EG+RXUd!~W(q+4UNo!^@V z(LGffi;FHJnQnR+=|a;O!zGeQ`+2x=p{WR17Ol|P8iQ3BMqkz0MqtC~X=HFgW$+iW zX+*Ua^c@5IJ}@1NOdFOX=n`ZrNk#OprV(`WHAc;O)IF+(C*(#ib3Wz2=6!W?jid$0 zw8=G+&eLqB?A~Q$BwePn3B4r?Nk7;e8_BPNlw5!e!)7m+O_??Cn? zG;A@R{}vK|X$#y|ECR~c{I1eAU>==)V%!L9iOvqkOky+Wmpc0fid{-Gp5W;`q*2-k zY{wFfeHSy#Jd>W(*)K60$!xm$Y0YMc%{P}(pJl-K=f9xXvF396A*cGfK8Jo-i_G*! zY>_aBp4Qnq%QiBHvS%<1UZ%{U@yK{P-D{phM_psZ<_fy&8k=dJOE2qen^J6kfbt(3 zhx}KP*4P2&2Wb^j&N9sN=pLQ%My#a4E4b@Q(j1dveu$1jrnTC`bd}C{t36D&>x{SB z!*mxit!3uZe$QgD$#*gJWC5L|F*o5&^9VhUbR{_#JJ;-{_LW+OLL6sl$h6t)rjf|B zN$IA;HJiyV&OqI?=$hwhyz>a(s>bm<%rS_Gh=UNb5J$$r^^ZVCA{lps;Xn1$(K@FS zJ`6G?kD+EA$}h#)?IPLHN%Jic^It*ajY8)xdaH+i>k?5W-C#z$rHen60K4n}Ue`y$&*;F4hE3mB> zX7jQy&&(fXZD{hori70Q5l09k6Z@$DI3NbAZypc>B5nUwvJ75#fpmeyl-z+KwER0) zUz7P7Bak@sNk$xusp8_*N8W=8q*?Of?RHAWqkT3Gq!N_1Cd|VWb5NtzkWV#Aw5irv z{=YO~=jIP|W3Oq;i#A|9n9ZM+Z6 z@`sqsXIO}@ZpyL)H9w&B63WH|sD}H7?6qceaKjDykef7G3u)K`tdzu{kLxDSKdzoz zYy5#XCDUs2$BA$5xIgXB$N$w4pw;G2hv*dH&!>g)e>M9*pZI@In~7aB5?gl^u0)-4 zfu)n5K+Ld7mlAKlTg&%ipkfTvc@SNfMN$e@M!2Uy@SO@MQ=+B%&l#l6CinlAj0dH+ z40?SSQp{ewrROdj`FwI-osg(;lj|ymA*5S|n2$B%_cFy zQ>iG|p}ZDQB<`2sz(^yYM4AENMm-=UTrZG43H-e99?C}$ze4M2l&`Oe(8xya|3{ju z*7KNFM|UTpCDyLSJL4~yrO=mW@PE|{gr|b>gsCiu{Q5>9HzKb8pbDeJcFl>B0+2;A zrIThh%JUGf*Yd_?szqMn zS<6PlA3H^s<3wVE_oUe1ZF)B19S-1t|2`y;bc17yz;79}0xmGO1Fj}&&Ji)%T|vSr zXFU*O5nX@_&6$9qLLOix2_|3md)XX;7)dk@#|V@iI`Xgl3h1eRhs=@WazCDmV+11X zvT`*W%4xXku(=%k>q!aRAgpwgLfX@{05I0YKdP@`2CqPFfIZGUgL24n8(9qc)g+RP zc7=OIkcqBtUbS?lt6mC5IT-bIw8~|mb###{+AET*aPj@Z4X#A560+5m=G8!3Tu(`L z^d0aiA%|Rpy>`+Iu3=v8om5E71E)`nV<0ropal!mLIV;jyz1bcD5a#1_DOsgvP?;= z0!=|;4dP+FYvNF;g*GMHEG={wAkWwd_*G(%rJSBjOa}P} z@Zp-FmUwKfcs<&$iQS+LI7T4G6I;^VmSoZ;X$oMsq%!E5n50l4lDPRH0*N4|CDmKZ z;?$%q7D3#YSa0zmQzI^0JP=y8T2U^C*1FxwG1i)aqag#V*&y>;W?=hu=uKUa=mtIS zh(J+m{58zNGO&mlm?Ok-C;rts3d=qU4Wr1Cq)OPw&O2fhCSFXSF|E8YXBo?BZPLdO zl#h&XacxqEwGlGoyzu>`OL!mTFd;`-$0Y;9y)awVxJ&B^O+ z;h23JIccjTZRD-w23sBZBzY^~Qq^%^!#NqwN$;ZUP{)K=u`-ck0#7e}+`_~iqG4W|Q z91}P8pC$`z4Vwi{yf2T5AAzP3YM{zKfT0FH82?A+Gd|nO8+@R*OFZ6xymth4lY?n} zT$8xWyOEsj-wwEjeGVuMIO!e8dq$^fgq(M<*qaN2vIA(nkR zpqo7vb95Y za^KX2_MIdP#Ng<6`HwAibSWTcgW zb!x<3yN4C0RS*v=N96Grvqfq9?S=Ficbd)8M!2DkaHlr1HmwrAQ++XwXa9cM*Y;XA z+SOsNV|*gD5hWdl59^)&y}be3rjg~OuO^MG0B|Q;kbc45$QGp=D4%kCUObx~4Qt5@ z=|6fk($~|k*m*Y@C@+@cXk+`+-4K+03W?j;+B7D$u@mV~V|EGAmQhJuLYIs(IFl?& zz0;8?#%J_$w6lR3agH{UnPIYB!p6TuJQ-<@4)#LgVN%Iy%4a zHi);%>Op1jjW-`+9=2(afrd+83|isnA@QN=VSLuq!HC&UToTVXTsk>;2UthD{^_^} zi{cWOB)#X@2|vIVD)f-Nhg^1~f+u{-+Cfr=_$sMV_K=|v`tBiJ6c3v?#6Uf4Ht5fi z#X}O5OzFiT$x5EoI3ykL@Q_TU05rKE%aL$8kxnL#2KiS=l_~LV>LI<5I9;iw=AjD| zUi)gLTq=O#*6|uU!lhnA>p;_QXa%Wr!>YbTsU_J%4b&x09QwLa3FU%1Vd*NRilOg- zrV3maqkgfpc_<7YX(wQ%^uf?Jx!nF+&3S_xP$@xH8=w4gj(y|g~l$Jv6} z*Gq4L51c?V`9ganli9#CGtk*8nX`PHJ874!VP5Uvd7JZ?l$>Rt_0r%hST`B>=O?gC z=UE&vXUXua)g({a>$#x51bA#R6@8e!zy6SADn#JSt6tlJL?QI@E$cAMh{y}S|POArxmiX z`?TN%OSw2<*j!kYN`{r$1BF?`_!ONt?2s)`SU&7tpE_}CVv$c9SqGXPhS!D-FuQP5 zR4nG@0-WRa>47U+EMh8RCg4Lpc_Kg{D34&h(|6FPhm zWa&M8HEDqLpKJKi)J6h^hYE|?ox}NT`ZdccXBu*bueZVe&7$G^#5VTG@TYy+*i&GR z6&i=Hgb=$xt|te;sf`_l#C+jg$g0ro1IOz?VLMS3XncbWHs!yRXBRf3|vB>{Bjap~=tL??5ZcIc+|RSxn9mz!5oLKn14c@N?!| zz{TuQ(7WK36emFcSI~r$n4B{{aQC7;R_K;XeO;t) zt`TrRZUxziWp|OOxiV-T%(cobdTpM`_4REd_2AP+w&ubZf`xXp(g?HQFg*GOH5Q8C z(k9=xh#buw=UXCmxdlxO!4gzqx@@Otc(Nf zmV3YdC9rz@OQdkuJN{q)WajFb{Vk{37Vy*92eKRBUrZ4M7pzlz(_U*a0Gh{a1;w-CNdT^_pm2GGl@M7Sb_R^sGraN z4Vp*Me-Y}Jpne(ZS3oM6tYRjUOjfh;CKK6@o(Gv?HjxjRKj0BJ3xW@bdyNm7qv40q zyt_n`B=THPG^rs5kkiRlkRK*j0Pi4yfzj~J6^?xnyP)SVl*c1ZCU1e~9P&d@1htSL zwp%>qy}@s{INlJ%z7|D0M@>HEZSzlOlS%q%IHcP{0w%MO_A!8yVZ(I|8*iT!uv_A; zMFt*dvALIhk$(eXk%enoZC~311AEA)?6;{Q--?0mW1-w#xQ$~tVni5sjELYk@Gh>O zgjj|6%^sadq>lEuu z>s;$1>q_fitgl($w;r|rWc|(Rv<2A0ZQX5gwtlu$+i2Tl+f3U$+Y`36wqI=Fa#y*R z94`-)^W}%+C33C&7x@Kwv;4aJv3y#-APe4IynB21^B(M-?Va!Kp5|Tcy~=x&cZ>JW z-huYp?XmX$_8j{}`!n`8>>t=aw@Z#Ljzq^)$0Em4$8(Oa989q);mUZWTv?>lDr=SP zN{ez_Ijc}-cW171wzJOpg0tCq#QBx;f>ZGE_et>??K8tC*tffHg70MCCBFaT`=#$$ z-;2H$zg~Wcegp6G%l8}aH_>mlUzK02-}8RI`Q7JV>i>{`t^X?jdjD7aU-N(8{~P}= z0?q|o4xoWnco$M;U~b^ufztz@2wWbxCh&0J=Yih_eiwK?PzmJkdf#YZZJY+T=kdkEhg2n`!P=Y`+q3PHeQGgdfkSm1$q~pKU zQ{Rg-+~)-q952Edn37Av^I-S|kitW9YXC0`YXPqa^??5tUI6?J9-f1(ZFD1`KpOxl zeHl=sTL2k-1yF(uE_iky9%ZEPsQGq46Fd@0iJ9&M^rC+Uw9sZitDF844mR2XDAV15 z-gGaZoxTm|psj!keHYM44*>em_W^z3QwAk|^aDVD`Vn9NJq#F6+o1vph<)j&py@}C zg2siIM85z{BA`H0=rNF!shc1A)2~4_0FaUldK_>N{T4KX5r@(a&1I>JR{!oBzB7#6+cL?+;?B|dGpP{g&mn^4d zz>U-*EKJT3?iMzf|7L#IoNJkA8EAdXy2<*MBg^*{-x5EAP#}cbV3@9JA@Ee;Ccx3c zrZ)*0BP`lY$XH?89zqI)GQe@dJizfn72rJrtK#2&cK+AaPhEdboF%`M53dY>?Ks@p zny-faC`LM7x4cc-E#5-Dt&kpdcne3HCj2NGZfp8bVMS8Yi2(M9sLl>%7uEYi*jhCp zl)cgPX(;RG8*x`^x@&NHLQGUbzl4ma_gz2+x0HN$CT{_ct}B!{Z@Byt*TUxqSOZ#gd4K znZ*^;W*5cG>l+gj6I*mwlVK2RqfPBY*vILLa|*oXpcLPQa6g#>AED-{HLtS@wfRYQ zP8hGgx`d4rN!9kIE=$?To=vtLu%AxdvXcd<uoDI~u$7HgU)aY&)!D6VozO?Mzr*6x{C8NU+Om(06@1m$1pwc_ z%eo11P5%4YH?+z8K6_MXdj25WZfdG-XYVnEkP(+#ADS@s($Hnw)$J?7M!eQE>2vn6 zvPk z@(?(ER<#5h!UO@h6}7S>kL%1~l)HfB6(%a_Rn0(Kf^A_E*Uk)^PA2P41+9VSiI37T`P2GN+ zO;7zuE8<5GR;kiSI}k_JQEq_)k`)?RA$8|&i0y!2Zklw0Jt=r~2ozmB;p$J{vMOUL z{DhF=Nm1vYWKs4!F^qUI2q*E9c_yekPr`376{}yJWZisHLV~HoWDFBcA(F|24l~t| z4(QF9>YxrbSg2H&bg;Y33j`-I_&Pib)cqY0Yk_*Eg9Umo5KI;VIeD}{)%Ra)qp-NC z`CrUSfOo*`JH@)XH#j^EW}~Q7Eds|4yr!N;1_jAvM!}H>5&$T((b5cMwSwgEv>@)a zg)u?#G+RO8@bKn$cn-kZLmi%vWS)cyR_?BNjzTX(S7j@nV-8Qd!)V}QDT&lN|t1OY;%5J~Zz0j{`|YC%1Jntdd# zF)5xk>U(F{9YTtF?hNZ0e$9dV`y0*taAU%h?^uAZ%~9YefXdlyMhV1fn@Op5sMEh= z!SFsx6NR=22{sc7bzS4A4pHmAWBuKCLPMKOaFHNO@FN^~GFG8FRy!o{9t}1bnKD6E zCQ#lKvet4~RbFEP(KhI*TqdIkI_k)SeoX zlu(0_$tD?U3MG8j3LO*-Gd(yY*hG2BV9J-948BTroxmq3Oup(hScX)Sk5O04c7eig zt`bhw^dDFccd8La=2$2+Z^%+vFMV|?&!lRv(+Is(ul+#_K^ujL7!zAnsczscqg3Od zuHJ%{MiV3O1e^>5uzCahL4YkXpPWi{s%+638pjKN!yxM^X6*nWyJ#MvWO_LQ@F>wseh+hcCnS;~fV9Ch)Zw!r;ME zd?)YfddLpq^Gvx^BdK-gSYNjTvZsz32c$H?nxHkMhYwU(sB8JbQ4_8mxGS(8+9Aps zCc)&=mmruMFe$i2sfp#STLWz@!1UFeUD_cn2 zM2Rs6*kRq!3VU@{z)7lVFIBGVc^vK^XtdmzKU7#s!sRRpI)dA4+)A<276$UF+ZCWFHRN-e9W=P>Hbc)*TXEsY%s;>N* zxr93P;LmJnC|^8bLBlCsgXgW9dZng;$Ar_Z`tSud70U4S1(pHlx9%5NSJQTxpKNQk ztD`Tn9Lr4TAMFG%Q+?$k8x5xk!zK1&G&vDeG@M^MQ~3WR{5P2;Vmif0{>Y4x(~pdd zNk8}4;K#?>wso1+u-T@zUt$l+Z-C3yf1jJxdw*d;;z6@i8}3xAe__dw%a>V`d|CRj Z&I~&Utl;^BtLbc!VX&Znxs|^9{{U#ylvDr! diff --git a/NUS Downloader/NUS Downloader.csproj b/NUS Downloader/NUS Downloader.csproj index 9bcdca2..cdc6f12 100644 --- a/NUS Downloader/NUS Downloader.csproj +++ b/NUS Downloader/NUS Downloader.csproj @@ -139,6 +139,7 @@ + @@ -155,6 +156,7 @@ + diff --git a/NUS Downloader/NusClient.cs b/NUS Downloader/NusClient.cs index 9e7b194..555b811 100644 --- a/NUS Downloader/NusClient.cs +++ b/NUS Downloader/NusClient.cs @@ -376,6 +376,10 @@ namespace libWiiSharp fireDebug(" Parsing Ticket..."); tik = Ticket.Load(Path.Combine(outputDir, "cetk")); } + else + { + fireDebug(" Ticket Unavailable..."); + } string[] encryptedContents = new string[tmd.NumOfContents]; diff --git a/NUS Downloader/Properties/Resources.Designer.cs b/NUS Downloader/Properties/Resources.Designer.cs index 282cf43..e5377e9 100644 --- a/NUS Downloader/Properties/Resources.Designer.cs +++ b/NUS Downloader/Properties/Resources.Designer.cs @@ -151,6 +151,13 @@ namespace NUS_Downloader.Properties { } } + internal static System.Drawing.Bitmap folder { + get { + object obj = ResourceManager.GetObject("folder", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap folder_table { get { object obj = ResourceManager.GetObject("folder_table", resourceCulture); @@ -262,5 +269,12 @@ namespace NUS_Downloader.Properties { return ((System.Drawing.Bitmap)(obj)); } } + + internal static System.Drawing.Bitmap wrench { + get { + object obj = ResourceManager.GetObject("wrench", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } } } diff --git a/NUS Downloader/Properties/Resources.resx b/NUS Downloader/Properties/Resources.resx index c633703..10f6c4e 100644 --- a/NUS Downloader/Properties/Resources.resx +++ b/NUS Downloader/Properties/Resources.resx @@ -118,15 +118,21 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\server_connect.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\package_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\bullet_redorange.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\script_start.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\bullet_redgreen.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\folder.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\script_go.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -139,8 +145,8 @@ ..\Resources\page_white_magnify.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\package_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\box.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\script_code_red.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -154,11 +160,11 @@ ..\Resources\server_link.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\server_connect.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\arrow_ticker.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\box.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\script_start.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\bin_closed.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -203,7 +209,7 @@ ..\Resources\information.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\arrow_ticker.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\wrench.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file