diff --git a/Ticket Reservations/HekatonDemoFramework/App.Config b/Ticket Reservations/HekatonDemoFramework/App.Config index 899c6fd281..542976b55d 100644 --- a/Ticket Reservations/HekatonDemoFramework/App.Config +++ b/Ticket Reservations/HekatonDemoFramework/App.Config @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/Ticket Reservations/HekatonDemoFramework/ConfigForm.Designer.cs b/Ticket Reservations/HekatonDemoFramework/ConfigForm.Designer.cs index b0c73917ab..6e35b26940 100644 --- a/Ticket Reservations/HekatonDemoFramework/ConfigForm.Designer.cs +++ b/Ticket Reservations/HekatonDemoFramework/ConfigForm.Designer.cs @@ -1,360 +1,346 @@ -namespace DemoWorkload -{ - partial class ConfigForm - { - /// - /// 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() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConfigForm)); - this.LabelReadsPerWrite = new System.Windows.Forms.Label(); - this.ReadsPerWrite = new System.Windows.Forms.NumericUpDown(); - this.LabelRowsPerTran = new System.Windows.Forms.Label(); - this.RowCount = new System.Windows.Forms.NumericUpDown(); - this.LabelRPT = new System.Windows.Forms.Label(); - this.RequestCount = new System.Windows.Forms.NumericUpDown(); - this.lblInstance = new System.Windows.Forms.Label(); - this.tbConnectionString = new System.Windows.Forms.TextBox(); - this.label3 = new System.Windows.Forms.Label(); - this.txtMaxTPS = new System.Windows.Forms.TextBox(); - this.lblRunningThread = new System.Windows.Forms.Label(); - this.txtMaxLatch = new System.Windows.Forms.TextBox(); - this.lblServerTran = new System.Windows.Forms.Label(); - this.TransactionCount = new System.Windows.Forms.NumericUpDown(); - this.lblThreadCnt = new System.Windows.Forms.Label(); - this.ThreadCount = new System.Windows.Forms.NumericUpDown(); - this.btnSave = new System.Windows.Forms.Button(); - this.label1 = new System.Windows.Forms.Label(); - ((System.ComponentModel.ISupportInitialize)(this.ReadsPerWrite)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.RowCount)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.RequestCount)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.TransactionCount)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.ThreadCount)).BeginInit(); - this.SuspendLayout(); - // - // LabelReadsPerWrite - // - this.LabelReadsPerWrite.AutoSize = true; - this.LabelReadsPerWrite.BackColor = System.Drawing.Color.Transparent; - this.LabelReadsPerWrite.Location = new System.Drawing.Point(19, 92); - this.LabelReadsPerWrite.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.LabelReadsPerWrite.Name = "LabelReadsPerWrite"; - this.LabelReadsPerWrite.Size = new System.Drawing.Size(111, 17); - this.LabelReadsPerWrite.TabIndex = 48; - this.LabelReadsPerWrite.Text = "Reads per Write"; - // - // ReadsPerWrite - // - this.ReadsPerWrite.Location = new System.Drawing.Point(203, 90); - this.ReadsPerWrite.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.ReadsPerWrite.Name = "ReadsPerWrite"; - this.ReadsPerWrite.Size = new System.Drawing.Size(132, 22); - this.ReadsPerWrite.TabIndex = 47; - this.ReadsPerWrite.Value = new decimal(new int[] { - 1, - 0, - 0, - 0}); - // - // LabelRowsPerTran - // - this.LabelRowsPerTran.AutoSize = true; - this.LabelRowsPerTran.BackColor = System.Drawing.Color.Transparent; - this.LabelRowsPerTran.Location = new System.Drawing.Point(19, 220); - this.LabelRowsPerTran.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.LabelRowsPerTran.Name = "LabelRowsPerTran"; - this.LabelRowsPerTran.Size = new System.Drawing.Size(146, 17); - this.LabelRowsPerTran.TabIndex = 46; - this.LabelRowsPerTran.Text = "Rows per Transaction"; - // - // RowCount - // - this.RowCount.Location = new System.Drawing.Point(201, 218); - this.RowCount.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.RowCount.Maximum = new decimal(new int[] { - 5000000, - 0, - 0, - 0}); - this.RowCount.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.RowCount.Name = "RowCount"; - this.RowCount.Size = new System.Drawing.Size(133, 22); - this.RowCount.TabIndex = 45; - this.RowCount.Value = new decimal(new int[] { - 100, - 0, - 0, - 0}); - // - // LabelRPT - // - this.LabelRPT.AutoSize = true; - this.LabelRPT.BackColor = System.Drawing.Color.Transparent; - this.LabelRPT.Location = new System.Drawing.Point(19, 124); - this.LabelRPT.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.LabelRPT.Name = "LabelRPT"; - this.LabelRPT.Size = new System.Drawing.Size(143, 17); - this.LabelRPT.TabIndex = 44; - this.LabelRPT.Text = "Requests per Thread"; - // - // RequestCount - // - this.RequestCount.Location = new System.Drawing.Point(203, 122); - this.RequestCount.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.RequestCount.Maximum = new decimal(new int[] { - 5000000, - 0, - 0, - 0}); - this.RequestCount.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.RequestCount.Name = "RequestCount"; - this.RequestCount.Size = new System.Drawing.Size(132, 22); - this.RequestCount.TabIndex = 43; - this.RequestCount.Value = new decimal(new int[] { - 100000, - 0, - 0, - 0}); - // - // lblInstance - // - this.lblInstance.AutoSize = true; - this.lblInstance.BackColor = System.Drawing.Color.Transparent; - this.lblInstance.Location = new System.Drawing.Point(19, 267); - this.lblInstance.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.lblInstance.Name = "lblInstance"; - this.lblInstance.Size = new System.Drawing.Size(120, 17); - this.lblInstance.TabIndex = 42; - this.lblInstance.Text = "Connection String"; - // - // tbConnectionString - // - this.tbConnectionString.Location = new System.Drawing.Point(22, 299); - this.tbConnectionString.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.tbConnectionString.Name = "tbConnectionString"; - this.tbConnectionString.Size = new System.Drawing.Size(360, 22); - this.tbConnectionString.TabIndex = 40; - this.tbConnectionString.TextChanged += new System.EventHandler(this.tbInstance_TextChanged); - // - // label3 - // - this.label3.AutoSize = true; - this.label3.BackColor = System.Drawing.Color.Transparent; - this.label3.Location = new System.Drawing.Point(19, 31); - this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(144, 17); - this.label3.TabIndex = 38; - this.label3.Text = "Max TPS (thousands)"; - // - // txtMaxTPS - // - this.txtMaxTPS.Location = new System.Drawing.Point(203, 27); - this.txtMaxTPS.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.txtMaxTPS.Name = "txtMaxTPS"; - this.txtMaxTPS.Size = new System.Drawing.Size(131, 22); - this.txtMaxTPS.TabIndex = 37; - this.txtMaxTPS.TabStop = false; - this.txtMaxTPS.Text = "70"; - // - // lblRunningThread - // - this.lblRunningThread.AutoSize = true; - this.lblRunningThread.BackColor = System.Drawing.Color.Transparent; - this.lblRunningThread.Location = new System.Drawing.Point(19, 62); - this.lblRunningThread.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.lblRunningThread.Name = "lblRunningThread"; - this.lblRunningThread.Size = new System.Drawing.Size(107, 17); - this.lblRunningThread.TabIndex = 36; - this.lblRunningThread.Text = "Max Latch Time"; - // - // txtMaxLatch - // - this.txtMaxLatch.Location = new System.Drawing.Point(203, 58); - this.txtMaxLatch.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.txtMaxLatch.Name = "txtMaxLatch"; - this.txtMaxLatch.Size = new System.Drawing.Size(131, 22); - this.txtMaxLatch.TabIndex = 35; - this.txtMaxLatch.TabStop = false; - this.txtMaxLatch.Text = "10000"; - // - // lblServerTran - // - this.lblServerTran.AutoSize = true; - this.lblServerTran.BackColor = System.Drawing.Color.Transparent; - this.lblServerTran.Location = new System.Drawing.Point(19, 188); - this.lblServerTran.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.lblServerTran.Name = "lblServerTran"; - this.lblServerTran.Size = new System.Drawing.Size(136, 17); - this.lblServerTran.TabIndex = 34; - this.lblServerTran.Text = "Server Transactions"; - // - // TransactionCount - // - this.TransactionCount.Location = new System.Drawing.Point(203, 186); - this.TransactionCount.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.TransactionCount.Maximum = new decimal(new int[] { - 5000000, - 0, - 0, - 0}); - this.TransactionCount.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.TransactionCount.Name = "TransactionCount"; - this.TransactionCount.Size = new System.Drawing.Size(132, 22); - this.TransactionCount.TabIndex = 29; - this.TransactionCount.Value = new decimal(new int[] { - 1, - 0, - 0, - 0}); - // - // lblThreadCnt - // - this.lblThreadCnt.AutoSize = true; - this.lblThreadCnt.BackColor = System.Drawing.Color.Transparent; - this.lblThreadCnt.Location = new System.Drawing.Point(19, 156); - this.lblThreadCnt.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.lblThreadCnt.Name = "lblThreadCnt"; - this.lblThreadCnt.Size = new System.Drawing.Size(61, 17); - this.lblThreadCnt.TabIndex = 31; - this.lblThreadCnt.Text = "Threads"; - // - // ThreadCount - // - this.ThreadCount.Location = new System.Drawing.Point(203, 154); - this.ThreadCount.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.ThreadCount.Maximum = new decimal(new int[] { - 200, - 0, - 0, - 0}); - this.ThreadCount.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.ThreadCount.Name = "ThreadCount"; - this.ThreadCount.Size = new System.Drawing.Size(132, 22); - this.ThreadCount.TabIndex = 28; - this.ThreadCount.Value = new decimal(new int[] { - 80, - 0, - 0, - 0}); - // - // btnSave - // - this.btnSave.Location = new System.Drawing.Point(22, 361); - this.btnSave.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.btnSave.Name = "btnSave"; - this.btnSave.Size = new System.Drawing.Size(199, 28); - this.btnSave.TabIndex = 49; - this.btnSave.Text = "Save Configuration Values"; - this.btnSave.UseVisualStyleBackColor = true; - this.btnSave.Click += new System.EventHandler(this.btnSave_Click); - // - // label1 - // - this.label1.AutoSize = true; - this.label1.BackColor = System.Drawing.Color.Transparent; - this.label1.Location = new System.Drawing.Point(19, 408); - this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(253, 17); - this.label1.TabIndex = 50; - this.label1.Text = "Note: config changes are not persisted"; - // - // ConfigForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(413, 449); - this.Controls.Add(this.label1); - this.Controls.Add(this.btnSave); - this.Controls.Add(this.LabelReadsPerWrite); - this.Controls.Add(this.ReadsPerWrite); - this.Controls.Add(this.LabelRowsPerTran); - this.Controls.Add(this.RowCount); - this.Controls.Add(this.LabelRPT); - this.Controls.Add(this.RequestCount); - this.Controls.Add(this.lblInstance); - this.Controls.Add(this.tbConnectionString); - this.Controls.Add(this.label3); - this.Controls.Add(this.txtMaxTPS); - this.Controls.Add(this.lblRunningThread); - this.Controls.Add(this.txtMaxLatch); - this.Controls.Add(this.lblServerTran); - this.Controls.Add(this.TransactionCount); - this.Controls.Add(this.lblThreadCnt); - this.Controls.Add(this.ThreadCount); - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.Name = "ConfigForm"; - this.Text = "ConfigForm"; - this.Load += new System.EventHandler(this.ConfigForm_Load); - ((System.ComponentModel.ISupportInitialize)(this.ReadsPerWrite)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.RowCount)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.RequestCount)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.TransactionCount)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.ThreadCount)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.Label LabelReadsPerWrite; - private System.Windows.Forms.NumericUpDown ReadsPerWrite; - private System.Windows.Forms.Label LabelRowsPerTran; - private System.Windows.Forms.NumericUpDown RowCount; - private System.Windows.Forms.Label LabelRPT; - private System.Windows.Forms.NumericUpDown RequestCount; - private System.Windows.Forms.Label lblInstance; - private System.Windows.Forms.TextBox tbConnectionString; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.TextBox txtMaxTPS; - private System.Windows.Forms.Label lblRunningThread; - private System.Windows.Forms.TextBox txtMaxLatch; - private System.Windows.Forms.Label lblServerTran; - private System.Windows.Forms.NumericUpDown TransactionCount; - private System.Windows.Forms.Label lblThreadCnt; - private System.Windows.Forms.NumericUpDown ThreadCount; - private System.Windows.Forms.Button btnSave; - private System.Windows.Forms.Label label1; - } +namespace DemoWorkload +{ + partial class ConfigForm + { + /// + /// 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() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConfigForm)); + this.LabelReadsPerWrite = new System.Windows.Forms.Label(); + this.ReadsPerWrite = new System.Windows.Forms.NumericUpDown(); + this.LabelRowsPerTran = new System.Windows.Forms.Label(); + this.RowCount = new System.Windows.Forms.NumericUpDown(); + this.LabelRPT = new System.Windows.Forms.Label(); + this.RequestCount = new System.Windows.Forms.NumericUpDown(); + this.lblInstance = new System.Windows.Forms.Label(); + this.tbConnectionString = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.txtMaxTPS = new System.Windows.Forms.TextBox(); + this.lblRunningThread = new System.Windows.Forms.Label(); + this.txtMaxLatch = new System.Windows.Forms.TextBox(); + this.lblServerTran = new System.Windows.Forms.Label(); + this.TransactionCount = new System.Windows.Forms.NumericUpDown(); + this.lblThreadCnt = new System.Windows.Forms.Label(); + this.ThreadCount = new System.Windows.Forms.NumericUpDown(); + this.btnSave = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.ReadsPerWrite)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.RowCount)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.RequestCount)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TransactionCount)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ThreadCount)).BeginInit(); + this.SuspendLayout(); + // + // LabelReadsPerWrite + // + this.LabelReadsPerWrite.AutoSize = true; + this.LabelReadsPerWrite.BackColor = System.Drawing.Color.Transparent; + this.LabelReadsPerWrite.Location = new System.Drawing.Point(19, 92); + this.LabelReadsPerWrite.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.LabelReadsPerWrite.Name = "LabelReadsPerWrite"; + this.LabelReadsPerWrite.Size = new System.Drawing.Size(111, 17); + this.LabelReadsPerWrite.TabIndex = 48; + this.LabelReadsPerWrite.Text = "Reads per Write"; + // + // ReadsPerWrite + // + this.ReadsPerWrite.Location = new System.Drawing.Point(203, 90); + this.ReadsPerWrite.Margin = new System.Windows.Forms.Padding(4); + this.ReadsPerWrite.Name = "ReadsPerWrite"; + this.ReadsPerWrite.Size = new System.Drawing.Size(132, 22); + this.ReadsPerWrite.TabIndex = 47; + this.ReadsPerWrite.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + // + // LabelRowsPerTran + // + this.LabelRowsPerTran.AutoSize = true; + this.LabelRowsPerTran.BackColor = System.Drawing.Color.Transparent; + this.LabelRowsPerTran.Location = new System.Drawing.Point(19, 220); + this.LabelRowsPerTran.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.LabelRowsPerTran.Name = "LabelRowsPerTran"; + this.LabelRowsPerTran.Size = new System.Drawing.Size(146, 17); + this.LabelRowsPerTran.TabIndex = 46; + this.LabelRowsPerTran.Text = "Rows per Transaction"; + // + // RowCount + // + this.RowCount.Location = new System.Drawing.Point(201, 218); + this.RowCount.Margin = new System.Windows.Forms.Padding(4); + this.RowCount.Maximum = new decimal(new int[] { + 5000000, + 0, + 0, + 0}); + this.RowCount.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.RowCount.Name = "RowCount"; + this.RowCount.Size = new System.Drawing.Size(133, 22); + this.RowCount.TabIndex = 45; + this.RowCount.Value = new decimal(new int[] { + 100, + 0, + 0, + 0}); + // + // LabelRPT + // + this.LabelRPT.AutoSize = true; + this.LabelRPT.BackColor = System.Drawing.Color.Transparent; + this.LabelRPT.Location = new System.Drawing.Point(19, 124); + this.LabelRPT.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.LabelRPT.Name = "LabelRPT"; + this.LabelRPT.Size = new System.Drawing.Size(143, 17); + this.LabelRPT.TabIndex = 44; + this.LabelRPT.Text = "Requests per Thread"; + // + // RequestCount + // + this.RequestCount.Location = new System.Drawing.Point(203, 122); + this.RequestCount.Margin = new System.Windows.Forms.Padding(4); + this.RequestCount.Maximum = new decimal(new int[] { + 5000000, + 0, + 0, + 0}); + this.RequestCount.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.RequestCount.Name = "RequestCount"; + this.RequestCount.Size = new System.Drawing.Size(132, 22); + this.RequestCount.TabIndex = 43; + this.RequestCount.Value = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + // + // lblInstance + // + this.lblInstance.AutoSize = true; + this.lblInstance.BackColor = System.Drawing.Color.Transparent; + this.lblInstance.Location = new System.Drawing.Point(19, 267); + this.lblInstance.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblInstance.Name = "lblInstance"; + this.lblInstance.Size = new System.Drawing.Size(120, 17); + this.lblInstance.TabIndex = 42; + this.lblInstance.Text = "Connection String"; + // + // tbConnectionString + // + this.tbConnectionString.Location = new System.Drawing.Point(22, 299); + this.tbConnectionString.Margin = new System.Windows.Forms.Padding(4); + this.tbConnectionString.Name = "tbConnectionString"; + this.tbConnectionString.Size = new System.Drawing.Size(360, 22); + this.tbConnectionString.TabIndex = 40; + this.tbConnectionString.TextChanged += new System.EventHandler(this.tbInstance_TextChanged); + // + // label3 + // + this.label3.AutoSize = true; + this.label3.BackColor = System.Drawing.Color.Transparent; + this.label3.Location = new System.Drawing.Point(19, 31); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(144, 17); + this.label3.TabIndex = 38; + this.label3.Text = "Max TPS (thousands)"; + // + // txtMaxTPS + // + this.txtMaxTPS.Location = new System.Drawing.Point(203, 27); + this.txtMaxTPS.Margin = new System.Windows.Forms.Padding(4); + this.txtMaxTPS.Name = "txtMaxTPS"; + this.txtMaxTPS.Size = new System.Drawing.Size(131, 22); + this.txtMaxTPS.TabIndex = 37; + this.txtMaxTPS.TabStop = false; + this.txtMaxTPS.Text = "70"; + // + // lblRunningThread + // + this.lblRunningThread.AutoSize = true; + this.lblRunningThread.BackColor = System.Drawing.Color.Transparent; + this.lblRunningThread.Location = new System.Drawing.Point(19, 62); + this.lblRunningThread.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblRunningThread.Name = "lblRunningThread"; + this.lblRunningThread.Size = new System.Drawing.Size(107, 17); + this.lblRunningThread.TabIndex = 36; + this.lblRunningThread.Text = "Max Latch Time"; + // + // txtMaxLatch + // + this.txtMaxLatch.Location = new System.Drawing.Point(203, 58); + this.txtMaxLatch.Margin = new System.Windows.Forms.Padding(4); + this.txtMaxLatch.Name = "txtMaxLatch"; + this.txtMaxLatch.Size = new System.Drawing.Size(131, 22); + this.txtMaxLatch.TabIndex = 35; + this.txtMaxLatch.TabStop = false; + this.txtMaxLatch.Text = "10000"; + // + // lblServerTran + // + this.lblServerTran.AutoSize = true; + this.lblServerTran.BackColor = System.Drawing.Color.Transparent; + this.lblServerTran.Location = new System.Drawing.Point(19, 188); + this.lblServerTran.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblServerTran.Name = "lblServerTran"; + this.lblServerTran.Size = new System.Drawing.Size(136, 17); + this.lblServerTran.TabIndex = 34; + this.lblServerTran.Text = "Server Transactions"; + // + // TransactionCount + // + this.TransactionCount.Location = new System.Drawing.Point(203, 186); + this.TransactionCount.Margin = new System.Windows.Forms.Padding(4); + this.TransactionCount.Maximum = new decimal(new int[] { + 5000000, + 0, + 0, + 0}); + this.TransactionCount.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.TransactionCount.Name = "TransactionCount"; + this.TransactionCount.Size = new System.Drawing.Size(132, 22); + this.TransactionCount.TabIndex = 29; + this.TransactionCount.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + // + // lblThreadCnt + // + this.lblThreadCnt.AutoSize = true; + this.lblThreadCnt.BackColor = System.Drawing.Color.Transparent; + this.lblThreadCnt.Location = new System.Drawing.Point(19, 156); + this.lblThreadCnt.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblThreadCnt.Name = "lblThreadCnt"; + this.lblThreadCnt.Size = new System.Drawing.Size(61, 17); + this.lblThreadCnt.TabIndex = 31; + this.lblThreadCnt.Text = "Threads"; + // + // ThreadCount + // + this.ThreadCount.Location = new System.Drawing.Point(203, 154); + this.ThreadCount.Margin = new System.Windows.Forms.Padding(4); + this.ThreadCount.Maximum = new decimal(new int[] { + 200, + 0, + 0, + 0}); + this.ThreadCount.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.ThreadCount.Name = "ThreadCount"; + this.ThreadCount.Size = new System.Drawing.Size(132, 22); + this.ThreadCount.TabIndex = 28; + this.ThreadCount.Value = new decimal(new int[] { + 80, + 0, + 0, + 0}); + // + // btnSave + // + this.btnSave.Location = new System.Drawing.Point(22, 361); + this.btnSave.Margin = new System.Windows.Forms.Padding(4); + this.btnSave.Name = "btnSave"; + this.btnSave.Size = new System.Drawing.Size(199, 28); + this.btnSave.TabIndex = 49; + this.btnSave.Text = "Save Configuration Values"; + this.btnSave.UseVisualStyleBackColor = true; + this.btnSave.Click += new System.EventHandler(this.btnSave_Click); + // + // ConfigForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(413, 409); + this.Controls.Add(this.btnSave); + this.Controls.Add(this.LabelReadsPerWrite); + this.Controls.Add(this.ReadsPerWrite); + this.Controls.Add(this.LabelRowsPerTran); + this.Controls.Add(this.RowCount); + this.Controls.Add(this.LabelRPT); + this.Controls.Add(this.RequestCount); + this.Controls.Add(this.lblInstance); + this.Controls.Add(this.tbConnectionString); + this.Controls.Add(this.label3); + this.Controls.Add(this.txtMaxTPS); + this.Controls.Add(this.lblRunningThread); + this.Controls.Add(this.txtMaxLatch); + this.Controls.Add(this.lblServerTran); + this.Controls.Add(this.TransactionCount); + this.Controls.Add(this.lblThreadCnt); + this.Controls.Add(this.ThreadCount); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Margin = new System.Windows.Forms.Padding(4); + this.Name = "ConfigForm"; + this.Text = "ConfigForm"; + this.Load += new System.EventHandler(this.ConfigForm_Load); + ((System.ComponentModel.ISupportInitialize)(this.ReadsPerWrite)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.RowCount)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.RequestCount)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TransactionCount)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ThreadCount)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label LabelReadsPerWrite; + private System.Windows.Forms.NumericUpDown ReadsPerWrite; + private System.Windows.Forms.Label LabelRowsPerTran; + private System.Windows.Forms.NumericUpDown RowCount; + private System.Windows.Forms.Label LabelRPT; + private System.Windows.Forms.NumericUpDown RequestCount; + private System.Windows.Forms.Label lblInstance; + private System.Windows.Forms.TextBox tbConnectionString; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox txtMaxTPS; + private System.Windows.Forms.Label lblRunningThread; + private System.Windows.Forms.TextBox txtMaxLatch; + private System.Windows.Forms.Label lblServerTran; + private System.Windows.Forms.NumericUpDown TransactionCount; + private System.Windows.Forms.Label lblThreadCnt; + private System.Windows.Forms.NumericUpDown ThreadCount; + private System.Windows.Forms.Button btnSave; + } } \ No newline at end of file diff --git a/Ticket Reservations/HekatonDemoFramework/ConfigForm.cs b/Ticket Reservations/HekatonDemoFramework/ConfigForm.cs index e69da06420..2a67dbac13 100644 --- a/Ticket Reservations/HekatonDemoFramework/ConfigForm.cs +++ b/Ticket Reservations/HekatonDemoFramework/ConfigForm.cs @@ -1,50 +1,74 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Windows.Forms; - -namespace DemoWorkload -{ - public partial class ConfigForm : Form - { - - public ConfigForm() - { - InitializeComponent(); - } - - private void ConfigForm_Load(object sender, EventArgs e) - { - this.tbConnectionString.Text = Program.CONN_STR; - this.TransactionCount.Value = Program.TRANSACTION_COUNT; - this.ThreadCount.Value = Program.THREAD_COUNT; - this.ReadsPerWrite.Value = Program.READS_PER_WRITE; - this.RequestCount.Value = Program.REQUEST_COUNT; - this.RowCount.Value = Program.ROW_COUNT; - this.txtMaxLatch.Text = Program.MAX_LATCH_WAIT.ToString(); - this.txtMaxTPS.Text = Program.MAX_TPS.ToString(); - } - - private void btnSave_Click(object sender, EventArgs e) - { - Program.THREAD_COUNT = (int)this.ThreadCount.Value; - Program.READS_PER_WRITE = (int)this.ReadsPerWrite.Value; - Program.REQUEST_COUNT = (int)this.RequestCount.Value; - Program.ROW_COUNT = (int)this.RowCount.Value; - Program.TRANSACTION_COUNT = (int)this.TransactionCount.Value; - Program.CONN_STR = this.tbConnectionString.Text; - Program.MAX_TPS = Convert.ToInt32(this.txtMaxTPS.Text); - Program.MAX_LATCH_WAIT = Convert.ToInt32(this.txtMaxLatch.Text); - // Program.CONN_STR = string.Format("Server={0};Initial Catalog={1};Integrated Security=True", ".\\" + Program.INSTANCE_NAME, Program.DB_NAME); - } - - private void tbInstance_TextChanged(object sender, EventArgs e) - { - - } - } -} +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.Configuration; + +namespace DemoWorkload +{ + public partial class ConfigForm : Form + { + + public ConfigForm() + { + InitializeComponent(); + } + + private void ConfigForm_Load(object sender, EventArgs e) + { + this.tbConnectionString.Text = Program.CONN_STR; + this.TransactionCount.Value = Program.TRANSACTION_COUNT; + this.ThreadCount.Value = Program.THREAD_COUNT; + this.ReadsPerWrite.Value = Program.READS_PER_WRITE; + this.RequestCount.Value = Program.REQUEST_COUNT; + this.RowCount.Value = Program.ROW_COUNT; + this.txtMaxLatch.Text = Program.MAX_LATCH_WAIT.ToString(); + this.txtMaxTPS.Text = Program.MAX_TPS.ToString(); + } + + private void btnSave_Click(object sender, EventArgs e) + { + Program.THREAD_COUNT = (int)this.ThreadCount.Value; + Program.READS_PER_WRITE = (int)this.ReadsPerWrite.Value; + Program.REQUEST_COUNT = (int)this.RequestCount.Value; + Program.ROW_COUNT = (int)this.RowCount.Value; + Program.TRANSACTION_COUNT = (int)this.TransactionCount.Value; + Program.CONN_STR = this.tbConnectionString.Text; + Program.MAX_TPS = Convert.ToInt32(this.txtMaxTPS.Text); + Program.MAX_LATCH_WAIT = Convert.ToInt32(this.txtMaxLatch.Text); + + // also persist changes in app config + Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); + KeyValueConfigurationCollection settings = config.AppSettings.Settings; + ConnectionStringSettingsCollection connStrs = config.ConnectionStrings.ConnectionStrings; + + // update SaveBeforeExit + settings["ThreadCount"].Value = Program.THREAD_COUNT.ToString(); + settings["ReadsPerWrite"].Value = Program.READS_PER_WRITE.ToString(); + settings["RequestCount"].Value = Program.REQUEST_COUNT.ToString(); + settings["RowCount"].Value = Program.ROW_COUNT.ToString(); + settings["TransactionCount"].Value = Program.TRANSACTION_COUNT.ToString(); + settings["MaxTps"].Value = Program.MAX_TPS.ToString(); + settings["MaxLatchWaits"].Value = Program.MAX_LATCH_WAIT.ToString(); + connStrs["TicketReservations"].ConnectionString = Program.CONN_STR; + + //save the file + config.Save(ConfigurationSaveMode.Modified); + + } + + private void tbInstance_TextChanged(object sender, EventArgs e) + { + + } + + private void label1_Click(object sender, EventArgs e) + { + + } + } +} diff --git a/Ticket Reservations/HekatonDemoFramework/ConfigForm.resx b/Ticket Reservations/HekatonDemoFramework/ConfigForm.resx index 6d7dc61e14..6130a991cd 100644 --- a/Ticket Reservations/HekatonDemoFramework/ConfigForm.resx +++ b/Ticket Reservations/HekatonDemoFramework/ConfigForm.resx @@ -1,500 +1,500 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - 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 - zwD45t8A++/qAO3j3wDSsaIA89XHAPTWyQDz1skA9NjLAPPXygD129AA9dzRAPXd0gD239UA9+HXAPjo - 4QD56uMA+OniAPrs5gD56+UA/PPvAPz18gDGo5IAx6aWANW0pADava4AyrCjAPXazQD02cwA5Mu/APbf - 0wD13tMA9+PZAPjl3AD88u0A+/HsAPz28wD9+fcA/vz7AMirmwDz2csAzbmuAOfZ0QDe080A+/LtAOXe - 2gDi29cA28/IANzRygD67+gA+/HrAOHZ1AD89O8A+/PuAPPr5gD9+PUAg29hAJB+cgCNfHAA8O3rAHpl - VQB7ZlcAfmlaAH5qWwB/a1wAgW1eAIBsXQCCbl8Ag3BiAI17bgCUhHgAk4N3AJeHewCcjoQApZiOAKeb - kgCrn5YAraKaAKyhmQCuo5sA4NjSAMG6tQDo5OEA5+PgAHxoWAB9aVkAhXJjAIFvYACFc2UAh3VnAIl3 - aQCLeWsAi3psAI5+cQCRgXQAj39yAJWGegCYiX0Am42CAJ+RhgChlIkAoJOIAKebkQCpnpUAq6CXAK+l - nQC4r6gA39bPAOXg3ACRgnUAlYZ5AJmLfgCekIQAm42BAKOXjACilosAoZWKALGnngCupJsAtaykALKp - oQC2raUAwLmzAL+4sgC9trAApZqPAKedkwC5sakAt6+nALOrowC8ta4AurOsAL+4sQC+t7AAwry2AP36 - 9wD9+/kA6eflAP79/ACyqqEAsamgALy1rQC6s6sAubKqALy2rwC7ta0Awby1APb08QD9/PoAOcEAADHJ - AAAuzAAAJ9UAANP4/ADd+/4A2/n8ANv6/gDV8/cA0Pb9AM/s8QC77/kAvO/5AMTx+gDM6e8Atez5ALbs - +QC16vYAve76AMXj6gDe6+4ApuX3AKfm9wCo5vcAsNrmAMDc5ACZ4PYAqOb5AKfj9gC10tsAu9jhAMrg - 5wB70/QAe9T0AJDc9gCN1fAAkt32AJHY8QCY3fQAsczVAMPX3gDA09oA2eLlANDY2wBqzPIAaszxAGrL - 8QBqyO4AasjtAGvF6gBrxekAfs3rAJ/J2QCryNMAq8fSAG7B5QB2v94Am73NAK3J1QCsxtEAtc/aALfN - 1wB9tM4AoLzKAKS/zACnws8ApsHOAJ63xACpxNEApL3KAKK7yACqxNEAts3YAMfP0wCRs8YAj62+AKK+ - zgCIqb0Am7PBAKC4xgCasb8Ap7/NAJKpuACYr74AlKq5AJWrugCRprYAl629AI2hsgCQpLQAjaCxAP// - /wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAGRjYU9DTkxNTUpJYF9ISEdHAAAAAAAAAAAAAAAAAAAAZQoP - ISEhISEhISEhISEhIkgAAAAAAAAAAAAAAAAAAABmCicTExMTExMSFBESEhAyXwAAAAAAAAAAAAAAAAAA - AFAKCwsnJicnJycTFKKgEjJgAAAAAAAAAAAAAAAAAAAAaDELCwsLCwsmJycTo6EUMksAAAAAAAAAAAAA - AAAAAABpMRYWFhYVFRULCwsmJzMyTAAAAAAAAAAAAAAAAAAAAFIxKSrL3d/18uvq7OkLJjJiAAAAAAAA - AAAAAAAAAAAAazEY3NnUuLHG09je7fELMk8AAAAAAAAAAAAAAAAAAABsMRnjxbWrsLrBztDX+hUyYwAA - AAAAAAAAAAAAAAAAAHwxK+/CtquwusHN0NL4FzJkAAAAAAAAAAAAAAAAAAAAVJUs5sS2q6+6wc3P0fkp - MmUAAAAAAAAAAAAAAAAAAABulQzlxLassLrBzs/R9hgyZwAAAAAAAAAAAAAAAAAAAG+VGuDEt6yvusHO - 0NHyGTJFAAAAAAAAAAAAAAAAAAAAfZUb4sS3rLC6wM7P0vQZImoAAAAAAAAAAAAAAAAAAACIlR7hxLes - sLrBzNDS9SwkeAAAAAAAAAAAAAAAAAAAAIkBCuTEt6ywusHN0NL3AwJRAAAAAAAAAAAAAAAAAAAAV0YO - 1sS2q7C6wc7Q0vM1NVMAAAAAAAAAAAAAAAAAAABZkYbVu62kpaepsrzD8ExgegAAAAAAAAAAAAAAAAAA - AIEBN9qlpaWlpaWlpaXuGiV8AAAAAAAAAAAAAAAAAAAAgAEfv76zqqamqK65x8kcNHsAAAAAAAAAAAAA - AAAAAACWAQeetL+95+Hb6MjKQRs0cAAAAAAAAAAAAAAAAAAAAIIBBS8vIAcfQDc9DTwdHiV+AAAAAAAA - AAAAAAAAAAAAi/v7+/v7+/v7+/v7+/v7lVUAAAAAAAAAAAAAAAAAAACKkYaci4NYVn9teURmYUxgcQAA - AAAAAAAAAAAAAAAAAJmUXV1eCXc4ODk+W3Y2OzpyAAAAAAAAAAAAAAAAAAAAmPsKkwSSMEIvIAhALg08 - I3MAAAAAAAAAAAAAAAAAAACH+zEKnwQDMAUgBx83PTwjWgAAAAAAAAAAAAAAAAAAAIb7lZUKBAMwQi8H - Bi09PCN0AAAAAAAAAAAAAAAAAAAAhfsBAZUKBDACBQc/LT08KJcAAAAAAAAAAAAAAAAAAABc+/v7AQEB - AQGVlZUxMTEFjAAAAAAAAAAAAAAAAAAAAJGdXFyFho+Qm42cjpqKdYuEAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4A - AP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4A - AP/+AAD//gAA//4AAP/+AAD//gAA//4AAP//////KAAAACAAAABAAAAAAQAgAAAAAACAEAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAId0Zv+Fc2X/hXJj/4Nw - Yv+Db2H/gm5f/4FtXv+AbF3/gGxc/35qW/9+aVr/fWlZ/3xnWP97Z1f/e2ZW/3pmVv96ZVX/AAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiXdp//77 - +v/SsaL/xqOS/8ajkv/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Go5L/x6aW/3tm - V/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AACLeWv//vv6//TZzP/02Mz/9NjM//TYy//02Mv/9NfL//TYyv/z18n/89fK//TWyf/z1sn/89bI//PV - x//Iq5v/fGhY/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - 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 - q//p5+X/6OTh/+jk4f/n4+D/5+Hf/+Xg3P/l3tv/5N3Z/+Lb1//h2dT/4NjS/9/Wz//e083/3NHK/9vP - yP+pnpX/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAvLWt///////++/r//fv5//76+f/9+vf//fj3//349f/89/P//PXy//vz8P/78+7/+/Hs//vv - 6v/67uj/1bSk/6ugl/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAC9trD////////8+////Pr//fz6//77+f/++fj//fn2//329P/89fL//PTx//zz - 7//78u3/+/Dr//vv6P/VtKT/rqOb/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+4sv////////38//79/P/+/Pr//vv5//75+P/9+fb//fj1//z2 - 8//89PH//PPw//zy7f/78ev/+u/p/9W0pP+vpZ3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwLmz///////+/v3///39//79/P/+/Pr//vr5//35 - 9//99/b//ffz//z08f/89O///PLt//vw6//67+n/5Mu//7GpoP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBurX///////////////////7+///+ - /v///v7///79///+/f/+/f3//v38//79/P/+/Pz//vz7//78+//99vT/s6uj/wAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK8tv/BvLX/wbu1/8C6 - tP/AubP/v7iy/7+4sf++t7D/vLav/7y1rv+7tK3/urOs/7myqv+5sKn/uK+o/7evp/+2raX/AAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4A - AP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4A - AP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA/ygAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAA - AAAAAAAAAAEAAAABAAAAAAAA/vn4AP349wD++vkA/PHtAPzz8AD78/AA/ff1AP77+gD12s8A9+HYAPjm - 3wD56uQA++/qAO3j3wDn4uAA0rGiAPPVxwD01skA89bJAPTYywDz18oA9dvQAPbd0gD13NEA9t7TAPXd - 0gD239UA9+HXAPfj2gD45NsA+erjAPjp4gD67OYA+/DrAPzz7wDl3tsA/PXyAMajkgDHppYA1bSkAMqw - owD12s0A9NnMAPbd0QD13tMA9uDVAPXf1AD24tgA9+TbAPjl3AD46OAA+u7oAPzy7QD78ewA4trWAPz2 - 8wDu6ugA/vz7AMirmwDz2csA59nRAN7TzQD78u0A/PXxAOnc1ADc0MkA/PTvAPvz7gD9+PUAkH5yAI18 - cADw7esAemVVAHtmVwB+aVoAfmpbAH9rXACBbV4AgGxdAIJuXwCDcGIAgm9hAI17bgCUhHgAloZ6AJyO - hACtopoA9vLvAOjk4QB8aFgAfWlZAIVyYwCFc2UAh3VnAIl3aQCLemwAjn5xAJGBdACPf3IAmYp+AJuN - ggCgk4gApZmPAKqflgCroJcAr6WdALivqACKeWoAkYJ1AJuNgQCfkYUAo5eMAKGVigCnnJIAsaeeAK6k - mwC1rKQAtq2lAODY0QDAubMAv7iyALmxqQC3r6cAvLWuALqzrAC/uLEAvrewAMK8tgDAurQA/fr3AP37 - +QDp5+UA//79AP79/ACyqqEAvLWtALy2rwC7ta0A/fz6ADXFAAAr0QAA2/v9ANP4/ADd+/4A3Pr9ANv5 - /ADb+v4A1vT4AMjz+gDB6fAAz+zxANHt8gC77/kAvO/5AMLw+gDS9v0A2+rtALXs+QC27PkAter2AKbl - 9wCn5vcAqOb3AKvm9wDG4egAl971AJjg9gCo5vkAttnkAGvN8QBszvEAbc3xAG7O8gBvzvEAcM7xAHTP - 8QB40vMAetP0AHvU9AB81PQAfNPzAJDc9gCN1fAAkt32AJHY8QCe3/UAydvhAGzO8wBtzPIAb8zzAG3K - 7gBtyO0Aa8XqAHDO8gBwzfEAb8zwAG/M7wBvy+8Ab8ntAG7H7ABuyOsAbsfqAHLO8QBxy+8AcMnsAG3E - 5gBwx+kAd9HzAHLG6ABxxecAccHiAHXH5wByv94AeszsAHjC4QCfydkAq8jTALfR2wC2ztgAbsLmAG/A - 4wB0wOIAfLnUAJm8zAChvssArMnWAKzG0gCxy9YAjrXJAKS/zACnws8AnrfEAKnE0QCkvcoAorvIAKrE - 0QCFqb0AjbLGAI6uwACrxdMAnrbDAJuzwQCasb8AobnHAJKpuACYr74Alau6AJGnuACQpbUAl629AI2h - sgCPo7MAjaCxAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAABeXVxcUVFRUVJQTk9PTEtbW1tbWkpKSUkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfCBAQJiYm - JiYmJiYmJiYmJiYmJiYmJ0oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgCCsrFBQUFBQUFBQUExUSEhIS - ExMRO1oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTCAkJCQkJCSsqKysrKxQVFRUVjYwTO1sAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAABhOgkJCQkJCQkJCQkqKysUFBQUjYwVO00AAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAABiOhgYGBgYGBgYFhYWCQkJCQkJKis8O04AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUOhkZLS0t - LS0aGhoYGBYJCQkJCQkqO1IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVOhsbLi4uLhsuLy0ZGRcsLCws - FhYJO1EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkOhwcCrvi4fHx9/Xv5e7l5fAtGhgWO10AAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAABuOh0d2uDYqZaWoKbW0dTX3+3uGS0aO14AAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAABWhjIy6LmhmZWVn6bQxsbH0t39LhsZO18AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvhgsL9Lai - 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 - AAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB// - AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/g - AAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB// - AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD///////8AAP// - /////wAAKAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAId0 - Zv+Fc2X/hXJj/4VyY/+DcGL/g3Bi/4NwYv+DcGL/g29h/4JuX/+BbV7/gGxd/4BsXP9+alv/fmla/31p - Wf99aVn/fWlZ/31pWf98Z1j/e2dX/3tmVv96Zlb/emVV/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAIl3af/++/r/0rGi/9Kxov/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Go5L/xqOS/8aj - kv/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Hppb/e2ZX/wAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIt5a//++/r/9NnM//TZzP/02Mz/9NjM//TYzP/02Mz/9NjM//TY - y//02Mv/9NfL//TYyv/z18n/89fK//TWyf/01sn/9NbJ//TWyf/z1sn/89bI//PVx//Iq5v/fGhY/wAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI17bv/+/Pr/9NrO//Tazv/12s7/9drO//Xa - zv/12s7/9NnN//Tazf/02c3/9NnN//TZzP/02cz/9NjL//PXyv/z18r/89fK//PXyv8uzAD/OcEA//PW - yP/Iq5v/fWlZ/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI5+cf/+/Pv/9dvP//Xb - z//028//9NvP//Tbz//028//9dvP//Taz//12s7/9drO//Xazf/02c3/9NnM//TYzP/02Mz/9NjM//TY - zP8n1QD/MckA//PYyv/Iq5v/f2tc/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJGB - dP/+/Pv/9dzS//Xc0v/13NH/9dzR//Xc0f/13NH/9d3R//Xd0f/13ND/9dzQ//Xb0P/028//9NvP//Xa - zv/12s7/9drO//Xazv/12c3/9NnM//PZy//Iq5v/gW1e/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAJODd//+/Pv/9t7T//be0//13tP/9d7T//Xe0//13tP/9d7T//Xe0v/13dL/9d3S//Xc - 0v/13dH/9dvQ//Tbz//028//9NvP//Tbz//1287/9drO//Xazf/Iq5v/gW9g/wAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJWGev/+/Pv/9t/V//bf1f/24NX/9uDV//bg1f/24NX/9t/V//bg - 1f/139T/9d7U//bf0//23tP/9t3S//bd0f/23dH/9t3R//bd0f/13ND/9dvQ//Xaz//Iq5v/g3Bi/wAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJiJff/+/Pv/9+HX//fh1//34dj/0dnd/6vJ - 1v+hvsv/nbXD/562w/+Vq7r/kqm4/46uwP+Ptsr/jrLE/4+1yP+MtMr/q8XT//Xe0//13dL/9d3R//Xc - 0P/Iq5v/hXNl/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJqMgP/+/Pz/9+PZ//fj - 2f+10Nv/mbzM/5/J2f+w2ub/wenw/8Hp8P+16vb/l930/3rM7P9yxuj/dcfn/3jC4f98udT/ham9/4yy - x//23tT/9d7T//Xd0v/Iq5v/h3Vn/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyO - hP/+/fz/+OXc//jl3P+et8T/kdjx/6bl9/+77/n/yPP6/8jz+v+27Pn/l9/2/3fR8/9uy+//b8ru/2/J - 7f9xxef/b8Dj/42gsf/24Nb/9t/V//bf0//Iq5v/iXdp/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAJ+Rhv/+/fz/+Obf//jm3/+guMb/kNz2/6fm9/+77/n/yPP6/8jz+v+27Pn/mOD2/3nT - 9P9tzfH/b8vv/3DJ7P9ux+r/bcTm/42hsv/34df/9uDW//bf1f/Iq5v/i3ps/wAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKGUif/+/fz/+Ojh//jo4f+husf/kNz2/6bm9/+87/n/yPP6/8jz - +v+17Pj/meD2/3zU9P9szvP/b83w/2/L7v9uyOv/bcTm/4+js//34tn/9+HY//fh1v/Iq5v/jXxw/wAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOXjP/+/fz/+erj//nq4/+iu8j/kt32/6fm - 9/+77/n/yPP6/8jz+v+17Pn/meD2/3vU9P9tzPL/b83x/27L7/9tyOz/bcHn/5CktP/35Nv/9+Pa//bi - 2P/Hppb/j39y/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOXjP/+/fz/+erj//nq - 4/+kvcr/kt32/6fm9/+87/n/yPP6/8jz+v+27Pn/mOD2/3vU9P9tzPL/b87x/2/L7/9tx+z/b8Pm/5Gm - tv/35Nv/9+Pa//bi2P/Hppb/j39y/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOX - jP/+/fz/+erj//nq4/+et8T/kdjx/6bl9/+77/n/yPP6/8jz+v+27Pn/mOD2/3vU9P9szfP/cc7x/2/L - 7/9ux+z/ccDi/42gsf/35Nv/9+Pa//bi2P/Hppb/j39y/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAKOXjP/+/fz/+erj//nq4/+guMb/kNz2/6fm9/+77/n/yPP6/8jz+v+27Pn/mOD2/3vU - 9P9rzPH/cM7y/2/M7/9tyOr/b8Hl/42hsv/35Nv/9+Pa//bi2P/Hppb/kYJ1/wAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOXjP/+/fz/+erj//nq4/+husf/kNz2/6bm9/+87/n/yPP6/8jz - +v+17Pj/meD2/3vU9P9szvH/bs7x/3DL7/9vx+n/ccLi/5Cltv/35Nv/9+Pa//bi2P/Hppb/kYJ1/wAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKWaj//+/f3/+evl//nr5f+iu8j/kt32/6fm - 9/+77/n/yPP6/8jz+v+17Pn/meD2/3vV9P9rzvH/b87w/3DL7v9wx+n/cr7d/5KouP/45d3/9+Tc//jk - 2//Hppb/kYJ1/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKedk////v7//vv6//77 - +v+kvcr/kt32/6fm9/+87/n/yPP6/8jz+v+27Pn/mOD2/3vU9P9tzPL/b87x/3HL7v9vx+r/c7/f/5Gn - uP/++vn//vr4//76+P/99/X/lIR4/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKuf - lv/w7ev/7ePf/+3j3/+kv8z/kt32/6jm9/+87/n/yPP6/8jz+v+17Pn/mOD2/3vU9P9vzPP/cM3x/3HL - 7/9vx+r/ccDf/5KpuP/p3NX/6NvT/+fa0v/m2ND/l4d7/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAKyhmf/CvLb/v7iy/7+4sv+mwc7/kt32/6jm9/+87/n/yPP6/8jz+v+27Pn/meD2/3vT - 9P9uzvH/cM7x/3HL7/9ux+r/dMDi/5Squv+KeGr/hXNk/4BtXv99aFn/mYt+/wAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy7f+nws//kt32/6jm9/+87/n/yPP6/8jz - +v+27Pn/mOD2/3vT9P9uzvL/cM7x/2/M7/9ux+v/ccLi/5Wruv/56uT/+eri//jo4P/KsKP/m42B/wAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy7f+pxNH/kt32/6jm - 9/+87/n/yPP6/8jz+v+27Pn/l9/2/3jS8/9uzPD/cs7x/3DM8P9tyO3/bcTn/5etvf/56uT/+eri//jo - 4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy - 7f+rx9L/kt32/6fm9/+77/n/yPP6/8jz+v+27Pn/mOD2/3zT8/9vzPD/dM/x/2/M8P9tyu7/a8Xq/5iv - vv/56uT/+eri//jo4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6k - m////v3/+/Lt//vy7f+ryNP/qOb5/8Tx+v/T+Pz/2/v9/9v7/f/c+/7/2/r+/9L2/f/B7/r/we/6/6vm - 9/+e3/X/jdXw/5qxv//56uT/+eri//jo4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAK6km////v3/+/Lt//vy7f+tydX/3fv+/937/v/d+/7/3fv+/937/v/d+/7/3Pv9/9z6 - /f/c+v3/3Pr9/9v6/f/b+v3/3fv+/5uzwf/56uT/+eri//jo4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy7f/K4Of/u9jh/8Xj6v/P7PH/1vT4/9b0 - +P/b+fz/2/n8/9b0+P/R7fL/1/X5/9Dt8v/C3+b/sszW/7PM1v/56uT/+eri//jo4P/KsKP/m42B/wAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGnnv///v7//PPv//zz7//28u//2+rt/8Pd - 5f+4093/r8vW/7HL1v+qxNH/p8LP/6zG0v+2ztj/q8bS/7DL1v+30dr/yNzh/+7q6P/56+X/+evk//jp - 4v/KsKP/npCE/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALKqof///v7//PXx//z1 - 8f/89fH//PXx//z18f/89fH//PTx//z08P/88+///PLu//zx7f/78Oz/+vDq//ru6P/67uj/+u7o//ru - 6P/67Of/+ezl//nq4//KsKP/oJOI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALWs - pP///v7//fbz//328//89vP//Pbz//z28//89vP//Pbz//z18v/89fD//PPv//vz7v/78u3/+vHr//vv - 6v/77+r/++/q//vv6v/67uj/+uzm//nr5P/KsKP/opaL/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAALeup/////////////////////////////////////////////////////////////// - ///////////////////////////////////////////////////+/fz/pZiO/wAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAALixqf/CvLb/v7my/7+5sv+7ta3/u7Wt/7u1rf+7ta3/t6+n/7Kp - of+topr/p5uS/6GViv+bjYL/lYZ5/5B+cv+QfnL/kH5y/5B+cv+KeWr/hXJj/4BtXv99aFn/p5uR/wAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALqzq//p5+X/6OTh/+jk4f/o5OH/6OTh/+jk - 4f/o5OH/5+Pg/+fh3//l4Nz/5d7b/+Td2f/i29f/4dnU/+DY0v/g2NL/4NjS/+DY0v/f1s//3tPN/9zR - yv/bz8j/qZ6V/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1rf///////vv6//77 - +v/9+/n//fv5//37+f/9+/n//vr5//369//9+Pf//fj1//z38//89fL/+/Pw//vz7v/78+7/+/Pu//vz - 7v/78ez/++/q//ru6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1 - rf///////vv6//77+v/9+/n//fv5//37+f/9+/n//vr5//369//9+Pf//fj1//z38//89fL/+/Pw//vz - 7v/78+7/+/Pu//vz7v/78ez/++/q//ru6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAALy1rf///////vv6//77+v/9+/n//fv5//37+f/9+/n//vr5//369//9+Pf//fj1//z3 - 8//89fL/+/Pw//vz7v/78+7/+/Pu//vz7v/78ez/++/q//ru6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1rf///////vv6//77+v/9+/n//fv5//37+f/9+/n//vr5//36 - 9//9+Pf//fj1//z38//89fL/+/Pw//vz7v/78+7/+/Pu//vz7v/78ez/++/q//ru6P/VtKT/q6CX/wAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1rf///////vv6//77+v/9+/n//fv5//37 - +f/9+/n//vr5//369//9+Pf//fj1//z38//89fL/+/Pw//vz7v/78+7/+/Pu//vz7v/78ez/++/q//ru - 6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL22sP////////z7///8 - +////Pr///z6///8+v///Pr//fz6//77+f/++fj//fn2//329P/89fL//PTx//zz7//88+///PPv//zz - 7//78u3/+/Dr//vv6P/VtKT/rqOb/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+4 - sv////////38///9/P/+/fz//v38//79/P/+/fz//vz6//77+f/++fj//fn2//349f/89vP//PTx//zz - 8P/88/D//PPw//zz8P/88u3/+/Hr//rv6f/VtKT/r6Wd/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAMC5s////////v79//7+/f///f3///39///9/f///f3//v38//78+v/++vn//fn3//33 - 9v/99/P//PTx//z07//89O///PTv//z07//88u3/+/Dr//rv6f/VtKT/samg/wAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMG6tf////////////////////////////////////////7+///+ - /v///v7///79///+/f/+/f3//v38//79/P/+/fz//v38//79/P/+/Pz//vz7//78+//99vT/s6uj/wAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK8tv/BvLX/wbu1/8G7tf/AurT/wLq0/8C6 - tP/AurT/wLmz/7+4sv+/uLH/vrew/7y2r/+8ta7/u7St/7qzrP+6s6z/urOs/7qzrP+5sqr/ubCp/7iv - qP+3r6f/tq2l/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAA////////AAD/8AAAD/8AAP/wAAAP/wAA//AAAA// - AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/w - AAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA// - AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/w - AAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA// - AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/w - AAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA////////AAD///////8AAA== - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + 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 + zwD45t8A++/qAO3j3wDSsaIA89XHAPTWyQDz1skA9NjLAPPXygD129AA9dzRAPXd0gD239UA9+HXAPjo + 4QD56uMA+OniAPrs5gD56+UA/PPvAPz18gDGo5IAx6aWANW0pADava4AyrCjAPXazQD02cwA5Mu/APbf + 0wD13tMA9+PZAPjl3AD88u0A+/HsAPz28wD9+fcA/vz7AMirmwDz2csAzbmuAOfZ0QDe080A+/LtAOXe + 2gDi29cA28/IANzRygD67+gA+/HrAOHZ1AD89O8A+/PuAPPr5gD9+PUAg29hAJB+cgCNfHAA8O3rAHpl + VQB7ZlcAfmlaAH5qWwB/a1wAgW1eAIBsXQCCbl8Ag3BiAI17bgCUhHgAk4N3AJeHewCcjoQApZiOAKeb + kgCrn5YAraKaAKyhmQCuo5sA4NjSAMG6tQDo5OEA5+PgAHxoWAB9aVkAhXJjAIFvYACFc2UAh3VnAIl3 + aQCLeWsAi3psAI5+cQCRgXQAj39yAJWGegCYiX0Am42CAJ+RhgChlIkAoJOIAKebkQCpnpUAq6CXAK+l + nQC4r6gA39bPAOXg3ACRgnUAlYZ5AJmLfgCekIQAm42BAKOXjACilosAoZWKALGnngCupJsAtaykALKp + oQC2raUAwLmzAL+4sgC9trAApZqPAKedkwC5sakAt6+nALOrowC8ta4AurOsAL+4sQC+t7AAwry2AP36 + 9wD9+/kA6eflAP79/ACyqqEAsamgALy1rQC6s6sAubKqALy2rwC7ta0Awby1APb08QD9/PoAOcEAADHJ + AAAuzAAAJ9UAANP4/ADd+/4A2/n8ANv6/gDV8/cA0Pb9AM/s8QC77/kAvO/5AMTx+gDM6e8Atez5ALbs + +QC16vYAve76AMXj6gDe6+4ApuX3AKfm9wCo5vcAsNrmAMDc5ACZ4PYAqOb5AKfj9gC10tsAu9jhAMrg + 5wB70/QAe9T0AJDc9gCN1fAAkt32AJHY8QCY3fQAsczVAMPX3gDA09oA2eLlANDY2wBqzPIAaszxAGrL + 8QBqyO4AasjtAGvF6gBrxekAfs3rAJ/J2QCryNMAq8fSAG7B5QB2v94Am73NAK3J1QCsxtEAtc/aALfN + 1wB9tM4AoLzKAKS/zACnws8ApsHOAJ63xACpxNEApL3KAKK7yACqxNEAts3YAMfP0wCRs8YAj62+AKK+ + zgCIqb0Am7PBAKC4xgCasb8Ap7/NAJKpuACYr74AlKq5AJWrugCRprYAl629AI2hsgCQpLQAjaCxAP// + /wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAGRjYU9DTkxNTUpJYF9ISEdHAAAAAAAAAAAAAAAAAAAAZQoP + ISEhISEhISEhISEhIkgAAAAAAAAAAAAAAAAAAABmCicTExMTExMSFBESEhAyXwAAAAAAAAAAAAAAAAAA + AFAKCwsnJicnJycTFKKgEjJgAAAAAAAAAAAAAAAAAAAAaDELCwsLCwsmJycTo6EUMksAAAAAAAAAAAAA + AAAAAABpMRYWFhYVFRULCwsmJzMyTAAAAAAAAAAAAAAAAAAAAFIxKSrL3d/18uvq7OkLJjJiAAAAAAAA + AAAAAAAAAAAAazEY3NnUuLHG09je7fELMk8AAAAAAAAAAAAAAAAAAABsMRnjxbWrsLrBztDX+hUyYwAA + AAAAAAAAAAAAAAAAAHwxK+/CtquwusHN0NL4FzJkAAAAAAAAAAAAAAAAAAAAVJUs5sS2q6+6wc3P0fkp + MmUAAAAAAAAAAAAAAAAAAABulQzlxLassLrBzs/R9hgyZwAAAAAAAAAAAAAAAAAAAG+VGuDEt6yvusHO + 0NHyGTJFAAAAAAAAAAAAAAAAAAAAfZUb4sS3rLC6wM7P0vQZImoAAAAAAAAAAAAAAAAAAACIlR7hxLes + sLrBzNDS9SwkeAAAAAAAAAAAAAAAAAAAAIkBCuTEt6ywusHN0NL3AwJRAAAAAAAAAAAAAAAAAAAAV0YO + 1sS2q7C6wc7Q0vM1NVMAAAAAAAAAAAAAAAAAAABZkYbVu62kpaepsrzD8ExgegAAAAAAAAAAAAAAAAAA + AIEBN9qlpaWlpaWlpaXuGiV8AAAAAAAAAAAAAAAAAAAAgAEfv76zqqamqK65x8kcNHsAAAAAAAAAAAAA + AAAAAACWAQeetL+95+Hb6MjKQRs0cAAAAAAAAAAAAAAAAAAAAIIBBS8vIAcfQDc9DTwdHiV+AAAAAAAA + AAAAAAAAAAAAi/v7+/v7+/v7+/v7+/v7lVUAAAAAAAAAAAAAAAAAAACKkYaci4NYVn9teURmYUxgcQAA + AAAAAAAAAAAAAAAAAJmUXV1eCXc4ODk+W3Y2OzpyAAAAAAAAAAAAAAAAAAAAmPsKkwSSMEIvIAhALg08 + I3MAAAAAAAAAAAAAAAAAAACH+zEKnwQDMAUgBx83PTwjWgAAAAAAAAAAAAAAAAAAAIb7lZUKBAMwQi8H + Bi09PCN0AAAAAAAAAAAAAAAAAAAAhfsBAZUKBDACBQc/LT08KJcAAAAAAAAAAAAAAAAAAABc+/v7AQEB + AQGVlZUxMTEFjAAAAAAAAAAAAAAAAAAAAJGdXFyFho+Qm42cjpqKdYuEAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4A + AP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4A + AP/+AAD//gAA//4AAP/+AAD//gAA//4AAP//////KAAAACAAAABAAAAAAQAgAAAAAACAEAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAId0Zv+Fc2X/hXJj/4Nw + Yv+Db2H/gm5f/4FtXv+AbF3/gGxc/35qW/9+aVr/fWlZ/3xnWP97Z1f/e2ZW/3pmVv96ZVX/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiXdp//77 + +v/SsaL/xqOS/8ajkv/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Go5L/x6aW/3tm + V/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACLeWv//vv6//TZzP/02Mz/9NjM//TYy//02Mv/9NfL//TYyv/z18n/89fK//TWyf/z1sn/89bI//PV + x//Iq5v/fGhY/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + q//p5+X/6OTh/+jk4f/n4+D/5+Hf/+Xg3P/l3tv/5N3Z/+Lb1//h2dT/4NjS/9/Wz//e083/3NHK/9vP + yP+pnpX/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAvLWt///////++/r//fv5//76+f/9+vf//fj3//349f/89/P//PXy//vz8P/78+7/+/Hs//vv + 6v/67uj/1bSk/6ugl/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAC9trD////////8+////Pr//fz6//77+f/++fj//fn2//329P/89fL//PTx//zz + 7//78u3/+/Dr//vv6P/VtKT/rqOb/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+4sv////////38//79/P/+/Pr//vv5//75+P/9+fb//fj1//z2 + 8//89PH//PPw//zy7f/78ev/+u/p/9W0pP+vpZ3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwLmz///////+/v3///39//79/P/+/Pr//vr5//35 + 9//99/b//ffz//z08f/89O///PLt//vw6//67+n/5Mu//7GpoP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBurX///////////////////7+///+ + /v///v7///79///+/f/+/f3//v38//79/P/+/Pz//vz7//78+//99vT/s6uj/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK8tv/BvLX/wbu1/8C6 + tP/AubP/v7iy/7+4sf++t7D/vLav/7y1rv+7tK3/urOs/7myqv+5sKn/uK+o/7evp/+2raX/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4A + AP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4A + AP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA/ygAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAA + AAAAAAAAAAEAAAABAAAAAAAA/vn4AP349wD++vkA/PHtAPzz8AD78/AA/ff1AP77+gD12s8A9+HYAPjm + 3wD56uQA++/qAO3j3wDn4uAA0rGiAPPVxwD01skA89bJAPTYywDz18oA9dvQAPbd0gD13NEA9t7TAPXd + 0gD239UA9+HXAPfj2gD45NsA+erjAPjp4gD67OYA+/DrAPzz7wDl3tsA/PXyAMajkgDHppYA1bSkAMqw + owD12s0A9NnMAPbd0QD13tMA9uDVAPXf1AD24tgA9+TbAPjl3AD46OAA+u7oAPzy7QD78ewA4trWAPz2 + 8wDu6ugA/vz7AMirmwDz2csA59nRAN7TzQD78u0A/PXxAOnc1ADc0MkA/PTvAPvz7gD9+PUAkH5yAI18 + cADw7esAemVVAHtmVwB+aVoAfmpbAH9rXACBbV4AgGxdAIJuXwCDcGIAgm9hAI17bgCUhHgAloZ6AJyO + hACtopoA9vLvAOjk4QB8aFgAfWlZAIVyYwCFc2UAh3VnAIl3aQCLemwAjn5xAJGBdACPf3IAmYp+AJuN + ggCgk4gApZmPAKqflgCroJcAr6WdALivqACKeWoAkYJ1AJuNgQCfkYUAo5eMAKGVigCnnJIAsaeeAK6k + mwC1rKQAtq2lAODY0QDAubMAv7iyALmxqQC3r6cAvLWuALqzrAC/uLEAvrewAMK8tgDAurQA/fr3AP37 + +QDp5+UA//79AP79/ACyqqEAvLWtALy2rwC7ta0A/fz6ADXFAAAr0QAA2/v9ANP4/ADd+/4A3Pr9ANv5 + /ADb+v4A1vT4AMjz+gDB6fAAz+zxANHt8gC77/kAvO/5AMLw+gDS9v0A2+rtALXs+QC27PkAter2AKbl + 9wCn5vcAqOb3AKvm9wDG4egAl971AJjg9gCo5vkAttnkAGvN8QBszvEAbc3xAG7O8gBvzvEAcM7xAHTP + 8QB40vMAetP0AHvU9AB81PQAfNPzAJDc9gCN1fAAkt32AJHY8QCe3/UAydvhAGzO8wBtzPIAb8zzAG3K + 7gBtyO0Aa8XqAHDO8gBwzfEAb8zwAG/M7wBvy+8Ab8ntAG7H7ABuyOsAbsfqAHLO8QBxy+8AcMnsAG3E + 5gBwx+kAd9HzAHLG6ABxxecAccHiAHXH5wByv94AeszsAHjC4QCfydkAq8jTALfR2wC2ztgAbsLmAG/A + 4wB0wOIAfLnUAJm8zAChvssArMnWAKzG0gCxy9YAjrXJAKS/zACnws8AnrfEAKnE0QCkvcoAorvIAKrE + 0QCFqb0AjbLGAI6uwACrxdMAnrbDAJuzwQCasb8AobnHAJKpuACYr74Alau6AJGnuACQpbUAl629AI2h + sgCPo7MAjaCxAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAABeXVxcUVFRUVJQTk9PTEtbW1tbWkpKSUkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfCBAQJiYm + JiYmJiYmJiYmJiYmJiYmJ0oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgCCsrFBQUFBQUFBQUExUSEhIS + ExMRO1oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTCAkJCQkJCSsqKysrKxQVFRUVjYwTO1sAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAABhOgkJCQkJCQkJCQkqKysUFBQUjYwVO00AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAABiOhgYGBgYGBgYFhYWCQkJCQkJKis8O04AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUOhkZLS0t + LS0aGhoYGBYJCQkJCQkqO1IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVOhsbLi4uLhsuLy0ZGRcsLCws + FhYJO1EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkOhwcCrvi4fHx9/Xv5e7l5fAtGhgWO10AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAABuOh0d2uDYqZaWoKbW0dTX3+3uGS0aO14AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAABWhjIy6LmhmZWVn6bQxsbH0t39LhsZO18AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvhgsL9Lai + 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 + AAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB// + AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/g + AAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB// + AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD///////8AAP// + /////wAAKAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAId0 + Zv+Fc2X/hXJj/4VyY/+DcGL/g3Bi/4NwYv+DcGL/g29h/4JuX/+BbV7/gGxd/4BsXP9+alv/fmla/31p + Wf99aVn/fWlZ/31pWf98Z1j/e2dX/3tmVv96Zlb/emVV/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAIl3af/++/r/0rGi/9Kxov/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Go5L/xqOS/8aj + kv/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Hppb/e2ZX/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIt5a//++/r/9NnM//TZzP/02Mz/9NjM//TYzP/02Mz/9NjM//TY + y//02Mv/9NfL//TYyv/z18n/89fK//TWyf/01sn/9NbJ//TWyf/z1sn/89bI//PVx//Iq5v/fGhY/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI17bv/+/Pr/9NrO//Tazv/12s7/9drO//Xa + zv/12s7/9NnN//Tazf/02c3/9NnN//TZzP/02cz/9NjL//PXyv/z18r/89fK//PXyv8uzAD/OcEA//PW + yP/Iq5v/fWlZ/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI5+cf/+/Pv/9dvP//Xb + z//028//9NvP//Tbz//028//9dvP//Taz//12s7/9drO//Xazf/02c3/9NnM//TYzP/02Mz/9NjM//TY + zP8n1QD/MckA//PYyv/Iq5v/f2tc/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJGB + dP/+/Pv/9dzS//Xc0v/13NH/9dzR//Xc0f/13NH/9d3R//Xd0f/13ND/9dzQ//Xb0P/028//9NvP//Xa + zv/12s7/9drO//Xazv/12c3/9NnM//PZy//Iq5v/gW1e/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAJODd//+/Pv/9t7T//be0//13tP/9d7T//Xe0//13tP/9d7T//Xe0v/13dL/9d3S//Xc + 0v/13dH/9dvQ//Tbz//028//9NvP//Tbz//1287/9drO//Xazf/Iq5v/gW9g/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJWGev/+/Pv/9t/V//bf1f/24NX/9uDV//bg1f/24NX/9t/V//bg + 1f/139T/9d7U//bf0//23tP/9t3S//bd0f/23dH/9t3R//bd0f/13ND/9dvQ//Xaz//Iq5v/g3Bi/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJiJff/+/Pv/9+HX//fh1//34dj/0dnd/6vJ + 1v+hvsv/nbXD/562w/+Vq7r/kqm4/46uwP+Ptsr/jrLE/4+1yP+MtMr/q8XT//Xe0//13dL/9d3R//Xc + 0P/Iq5v/hXNl/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJqMgP/+/Pz/9+PZ//fj + 2f+10Nv/mbzM/5/J2f+w2ub/wenw/8Hp8P+16vb/l930/3rM7P9yxuj/dcfn/3jC4f98udT/ham9/4yy + x//23tT/9d7T//Xd0v/Iq5v/h3Vn/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyO + hP/+/fz/+OXc//jl3P+et8T/kdjx/6bl9/+77/n/yPP6/8jz+v+27Pn/l9/2/3fR8/9uy+//b8ru/2/J + 7f9xxef/b8Dj/42gsf/24Nb/9t/V//bf0//Iq5v/iXdp/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAJ+Rhv/+/fz/+Obf//jm3/+guMb/kNz2/6fm9/+77/n/yPP6/8jz+v+27Pn/mOD2/3nT + 9P9tzfH/b8vv/3DJ7P9ux+r/bcTm/42hsv/34df/9uDW//bf1f/Iq5v/i3ps/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKGUif/+/fz/+Ojh//jo4f+husf/kNz2/6bm9/+87/n/yPP6/8jz + +v+17Pj/meD2/3zU9P9szvP/b83w/2/L7v9uyOv/bcTm/4+js//34tn/9+HY//fh1v/Iq5v/jXxw/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOXjP/+/fz/+erj//nq4/+iu8j/kt32/6fm + 9/+77/n/yPP6/8jz+v+17Pn/meD2/3vU9P9tzPL/b83x/27L7/9tyOz/bcHn/5CktP/35Nv/9+Pa//bi + 2P/Hppb/j39y/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOXjP/+/fz/+erj//nq + 4/+kvcr/kt32/6fm9/+87/n/yPP6/8jz+v+27Pn/mOD2/3vU9P9tzPL/b87x/2/L7/9tx+z/b8Pm/5Gm + tv/35Nv/9+Pa//bi2P/Hppb/j39y/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOX + jP/+/fz/+erj//nq4/+et8T/kdjx/6bl9/+77/n/yPP6/8jz+v+27Pn/mOD2/3vU9P9szfP/cc7x/2/L + 7/9ux+z/ccDi/42gsf/35Nv/9+Pa//bi2P/Hppb/j39y/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAKOXjP/+/fz/+erj//nq4/+guMb/kNz2/6fm9/+77/n/yPP6/8jz+v+27Pn/mOD2/3vU + 9P9rzPH/cM7y/2/M7/9tyOr/b8Hl/42hsv/35Nv/9+Pa//bi2P/Hppb/kYJ1/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOXjP/+/fz/+erj//nq4/+husf/kNz2/6bm9/+87/n/yPP6/8jz + +v+17Pj/meD2/3vU9P9szvH/bs7x/3DL7/9vx+n/ccLi/5Cltv/35Nv/9+Pa//bi2P/Hppb/kYJ1/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKWaj//+/f3/+evl//nr5f+iu8j/kt32/6fm + 9/+77/n/yPP6/8jz+v+17Pn/meD2/3vV9P9rzvH/b87w/3DL7v9wx+n/cr7d/5KouP/45d3/9+Tc//jk + 2//Hppb/kYJ1/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKedk////v7//vv6//77 + +v+kvcr/kt32/6fm9/+87/n/yPP6/8jz+v+27Pn/mOD2/3vU9P9tzPL/b87x/3HL7v9vx+r/c7/f/5Gn + uP/++vn//vr4//76+P/99/X/lIR4/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKuf + lv/w7ev/7ePf/+3j3/+kv8z/kt32/6jm9/+87/n/yPP6/8jz+v+17Pn/mOD2/3vU9P9vzPP/cM3x/3HL + 7/9vx+r/ccDf/5KpuP/p3NX/6NvT/+fa0v/m2ND/l4d7/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAKyhmf/CvLb/v7iy/7+4sv+mwc7/kt32/6jm9/+87/n/yPP6/8jz+v+27Pn/meD2/3vT + 9P9uzvH/cM7x/3HL7/9ux+r/dMDi/5Squv+KeGr/hXNk/4BtXv99aFn/mYt+/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy7f+nws//kt32/6jm9/+87/n/yPP6/8jz + +v+27Pn/mOD2/3vT9P9uzvL/cM7x/2/M7/9ux+v/ccLi/5Wruv/56uT/+eri//jo4P/KsKP/m42B/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy7f+pxNH/kt32/6jm + 9/+87/n/yPP6/8jz+v+27Pn/l9/2/3jS8/9uzPD/cs7x/3DM8P9tyO3/bcTn/5etvf/56uT/+eri//jo + 4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy + 7f+rx9L/kt32/6fm9/+77/n/yPP6/8jz+v+27Pn/mOD2/3zT8/9vzPD/dM/x/2/M8P9tyu7/a8Xq/5iv + vv/56uT/+eri//jo4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6k + m////v3/+/Lt//vy7f+ryNP/qOb5/8Tx+v/T+Pz/2/v9/9v7/f/c+/7/2/r+/9L2/f/B7/r/we/6/6vm + 9/+e3/X/jdXw/5qxv//56uT/+eri//jo4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAK6km////v3/+/Lt//vy7f+tydX/3fv+/937/v/d+/7/3fv+/937/v/d+/7/3Pv9/9z6 + /f/c+v3/3Pr9/9v6/f/b+v3/3fv+/5uzwf/56uT/+eri//jo4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy7f/K4Of/u9jh/8Xj6v/P7PH/1vT4/9b0 + +P/b+fz/2/n8/9b0+P/R7fL/1/X5/9Dt8v/C3+b/sszW/7PM1v/56uT/+eri//jo4P/KsKP/m42B/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGnnv///v7//PPv//zz7//28u//2+rt/8Pd + 5f+4093/r8vW/7HL1v+qxNH/p8LP/6zG0v+2ztj/q8bS/7DL1v+30dr/yNzh/+7q6P/56+X/+evk//jp + 4v/KsKP/npCE/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALKqof///v7//PXx//z1 + 8f/89fH//PXx//z18f/89fH//PTx//z08P/88+///PLu//zx7f/78Oz/+vDq//ru6P/67uj/+u7o//ru + 6P/67Of/+ezl//nq4//KsKP/oJOI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALWs + pP///v7//fbz//328//89vP//Pbz//z28//89vP//Pbz//z18v/89fD//PPv//vz7v/78u3/+vHr//vv + 6v/77+r/++/q//vv6v/67uj/+uzm//nr5P/KsKP/opaL/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAALeup/////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/fz/pZiO/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAALixqf/CvLb/v7my/7+5sv+7ta3/u7Wt/7u1rf+7ta3/t6+n/7Kp + of+topr/p5uS/6GViv+bjYL/lYZ5/5B+cv+QfnL/kH5y/5B+cv+KeWr/hXJj/4BtXv99aFn/p5uR/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALqzq//p5+X/6OTh/+jk4f/o5OH/6OTh/+jk + 4f/o5OH/5+Pg/+fh3//l4Nz/5d7b/+Td2f/i29f/4dnU/+DY0v/g2NL/4NjS/+DY0v/f1s//3tPN/9zR + yv/bz8j/qZ6V/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1rf///////vv6//77 + +v/9+/n//fv5//37+f/9+/n//vr5//369//9+Pf//fj1//z38//89fL/+/Pw//vz7v/78+7/+/Pu//vz + 7v/78ez/++/q//ru6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1 + rf///////vv6//77+v/9+/n//fv5//37+f/9+/n//vr5//369//9+Pf//fj1//z38//89fL/+/Pw//vz + 7v/78+7/+/Pu//vz7v/78ez/++/q//ru6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAALy1rf///////vv6//77+v/9+/n//fv5//37+f/9+/n//vr5//369//9+Pf//fj1//z3 + 8//89fL/+/Pw//vz7v/78+7/+/Pu//vz7v/78ez/++/q//ru6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1rf///////vv6//77+v/9+/n//fv5//37+f/9+/n//vr5//36 + 9//9+Pf//fj1//z38//89fL/+/Pw//vz7v/78+7/+/Pu//vz7v/78ez/++/q//ru6P/VtKT/q6CX/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1rf///////vv6//77+v/9+/n//fv5//37 + +f/9+/n//vr5//369//9+Pf//fj1//z38//89fL/+/Pw//vz7v/78+7/+/Pu//vz7v/78ez/++/q//ru + 6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL22sP////////z7///8 + +////Pr///z6///8+v///Pr//fz6//77+f/++fj//fn2//329P/89fL//PTx//zz7//88+///PPv//zz + 7//78u3/+/Dr//vv6P/VtKT/rqOb/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+4 + sv////////38///9/P/+/fz//v38//79/P/+/fz//vz6//77+f/++fj//fn2//349f/89vP//PTx//zz + 8P/88/D//PPw//zz8P/88u3/+/Hr//rv6f/VtKT/r6Wd/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAMC5s////////v79//7+/f///f3///39///9/f///f3//v38//78+v/++vn//fn3//33 + 9v/99/P//PTx//z07//89O///PTv//z07//88u3/+/Dr//rv6f/VtKT/samg/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMG6tf////////////////////////////////////////7+///+ + /v///v7///79///+/f/+/f3//v38//79/P/+/fz//v38//79/P/+/Pz//vz7//78+//99vT/s6uj/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK8tv/BvLX/wbu1/8G7tf/AurT/wLq0/8C6 + tP/AurT/wLmz/7+4sv+/uLH/vrew/7y2r/+8ta7/u7St/7qzrP+6s6z/urOs/7qzrP+5sqr/ubCp/7iv + qP+3r6f/tq2l/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAA////////AAD/8AAAD/8AAP/wAAAP/wAA//AAAA// + AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/w + AAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA// + AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/w + AAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA// + AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/w + AAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA////////AAD///////8AAA== + + \ No newline at end of file diff --git a/Ticket Reservations/HekatonDemoFramework/Program.cs b/Ticket Reservations/HekatonDemoFramework/Program.cs index e5129f4a0b..e6097cce0d 100644 --- a/Ticket Reservations/HekatonDemoFramework/Program.cs +++ b/Ticket Reservations/HekatonDemoFramework/Program.cs @@ -1,44 +1,36 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Windows.Forms; -using System.Data; -using System.Data.Sql; -using System.Data.SqlTypes; -using System.Configuration; - -namespace DemoWorkload -{ - static class Program - { - - public static int THREAD_COUNT = int.Parse(ConfigurationManager.AppSettings["ThreadCount"]); - public static int READS_PER_WRITE = int.Parse(ConfigurationManager.AppSettings["ReadsPerWrite"]); - - - public static int REQUEST_COUNT = int.Parse(ConfigurationManager.AppSettings["RequestCount"]); - public static int ROW_COUNT = int.Parse(ConfigurationManager.AppSettings["RowCount"]); - public static int TRANSACTION_COUNT = int.Parse(ConfigurationManager.AppSettings["TransactionCount"]); - public static int WORKLOAD_INDEX = int.Parse(ConfigurationManager.AppSettings["WorkloadIndex"]); - //public static string INSTANCE_NAME = ""; - //public static string DB_NAME = "TicketReservations"; - public static long MAX_TPS = int.Parse(ConfigurationManager.AppSettings["MaxTps"]); - public static long MAX_LATCH_WAIT = int.Parse(ConfigurationManager.AppSettings["MaxLatchWaits"]); - //public static string CONN_STR = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ContosoOLTP;Data Source=SQLPOD023-13"; - //public static string CONN_STR = string.Format("Server={0};Initial Catalog={1};Integrated Security=True;Max Pool Size=200", ".\\" + Program.INSTANCE_NAME, Program.DB_NAME); - public static string CONN_STR = ConfigurationManager.ConnectionStrings["TicketReservations"].ConnectionString; - //public static string MASTER_CONN_STR = string.Format("Server={0};Initial Catalog=master;Integrated Security=True;Max Pool Size=200", ".\\" + Program.INSTANCE_NAME); - - - /// - /// The main entry point for the application. - /// - [STAThread] - static void Main() - { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new Form1()); - } - } -} +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; +using System.Data; +using System.Data.Sql; +using System.Data.SqlTypes; +using System.Configuration; + +namespace DemoWorkload +{ + static class Program + { + + public static int THREAD_COUNT = int.Parse(ConfigurationManager.AppSettings["ThreadCount"]); + public static int READS_PER_WRITE = int.Parse(ConfigurationManager.AppSettings["ReadsPerWrite"]); + public static int REQUEST_COUNT = int.Parse(ConfigurationManager.AppSettings["RequestCount"]); + public static int ROW_COUNT = int.Parse(ConfigurationManager.AppSettings["RowCount"]); + public static int TRANSACTION_COUNT = int.Parse(ConfigurationManager.AppSettings["TransactionCount"]); + public static long MAX_TPS = int.Parse(ConfigurationManager.AppSettings["MaxTps"]); + public static long MAX_LATCH_WAIT = int.Parse(ConfigurationManager.AppSettings["MaxLatchWaits"]); + public static string CONN_STR = ConfigurationManager.ConnectionStrings["TicketReservations"].ConnectionString; + + + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Ticket Reservations/TicketReservations/TicketReservations.dbmdl b/Ticket Reservations/TicketReservations/TicketReservations.dbmdl deleted file mode 100644 index 1f93bd6df7..0000000000 Binary files a/Ticket Reservations/TicketReservations/TicketReservations.dbmdl and /dev/null differ