8-bit array generation

This commit is contained in:
Anton Mukhin
2023-04-28 17:16:13 +03:00
parent 06dfd044d2
commit f11fd0642c
3 changed files with 252 additions and 72 deletions

View File

@@ -23,6 +23,12 @@
/// содержимое этого метода с помощью редактора кода.
/// </summary>
private void InitializeComponent() {
this.components = new System.ComponentModel.Container();
System.Windows.Forms.ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem("adasd");
System.Windows.Forms.ListViewItem listViewItem2 = new System.Windows.Forms.ListViewItem("ddddd", 0);
System.Windows.Forms.ListViewItem listViewItem3 = new System.Windows.Forms.ListViewItem("ffff");
System.Windows.Forms.ListViewItem listViewItem4 = new System.Windows.Forms.ListViewItem("");
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.dotPanel = new System.Windows.Forms.Panel();
this.nudX = new System.Windows.Forms.NumericUpDown();
this.nudY = new System.Windows.Forms.NumericUpDown();
@@ -33,13 +39,17 @@
this.label4 = new System.Windows.Forms.Label();
this.pbZoom = new System.Windows.Forms.ProgressBar();
this.panel1 = new System.Windows.Forms.Panel();
this.btnShiftLeft = new System.Windows.Forms.Button();
this.btnShiftRight = new System.Windows.Forms.Button();
this.btnShiftUp = new System.Windows.Forms.Button();
this.btnShiftDown = new System.Windows.Forms.Button();
this.btnInvert = new System.Windows.Forms.Button();
this.btnMirrorX = new System.Windows.Forms.Button();
this.btnMirrorY = new System.Windows.Forms.Button();
this.btnMirrorX = new System.Windows.Forms.Button();
this.btnInvert = new System.Windows.Forms.Button();
this.btnShiftDown = new System.Windows.Forms.Button();
this.btnShiftUp = new System.Windows.Forms.Button();
this.btnShiftRight = new System.Windows.Forms.Button();
this.btnShiftLeft = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.outBox = new System.Windows.Forms.TextBox();
this.listView1 = new System.Windows.Forms.ListView();
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
((System.ComponentModel.ISupportInitialize)(this.nudX)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.nudY)).BeginInit();
this.panel1.SuspendLayout();
@@ -55,14 +65,14 @@
this.dotPanel.BackColor = System.Drawing.SystemColors.ControlDark;
this.dotPanel.Location = new System.Drawing.Point(12, 12);
this.dotPanel.Name = "dotPanel";
this.dotPanel.Size = new System.Drawing.Size(527, 542);
this.dotPanel.Size = new System.Drawing.Size(613, 542);
this.dotPanel.TabIndex = 0;
this.dotPanel.MouseMove += new System.Windows.Forms.MouseEventHandler(this.dotPanel_MouseMove);
//
// nudX
//
this.nudX.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.nudX.Location = new System.Drawing.Point(724, 12);
this.nudX.Location = new System.Drawing.Point(810, 12);
this.nudX.Maximum = new decimal(new int[] {
255,
0,
@@ -86,7 +96,7 @@
// nudY
//
this.nudY.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.nudY.Location = new System.Drawing.Point(724, 38);
this.nudY.Location = new System.Drawing.Point(810, 38);
this.nudY.Maximum = new decimal(new int[] {
255,
0,
@@ -111,7 +121,7 @@
//
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(680, 14);
this.label1.Location = new System.Drawing.Point(766, 14);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(38, 13);
this.label1.TabIndex = 3;
@@ -121,7 +131,7 @@
//
this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(677, 40);
this.label2.Location = new System.Drawing.Point(763, 40);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 13);
this.label2.TabIndex = 4;
@@ -131,7 +141,7 @@
//
this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(545, 12);
this.label3.Location = new System.Drawing.Point(631, 12);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(35, 13);
this.label3.TabIndex = 0;
@@ -155,7 +165,7 @@
"40",
"45",
"50"});
this.cbZoom.Location = new System.Drawing.Point(545, 533);
this.cbZoom.Location = new System.Drawing.Point(631, 533);
this.cbZoom.Name = "cbZoom";
this.cbZoom.Size = new System.Drawing.Size(59, 21);
this.cbZoom.TabIndex = 6;
@@ -165,7 +175,7 @@
//
this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(542, 517);
this.label4.Location = new System.Drawing.Point(628, 517);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(62, 13);
this.label4.TabIndex = 7;
@@ -174,7 +184,7 @@
// pbZoom
//
this.pbZoom.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.pbZoom.Location = new System.Drawing.Point(610, 533);
this.pbZoom.Location = new System.Drawing.Point(696, 533);
this.pbZoom.Name = "pbZoom";
this.pbZoom.Size = new System.Drawing.Size(169, 21);
this.pbZoom.Step = 1;
@@ -192,43 +202,43 @@
this.panel1.Controls.Add(this.btnShiftUp);
this.panel1.Controls.Add(this.btnShiftRight);
this.panel1.Controls.Add(this.btnShiftLeft);
this.panel1.Location = new System.Drawing.Point(548, 70);
this.panel1.Location = new System.Drawing.Point(634, 70);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(231, 183);
this.panel1.Size = new System.Drawing.Size(231, 80);
this.panel1.TabIndex = 9;
//
// btnShiftLeft
// btnMirrorY
//
this.btnShiftLeft.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnShiftLeft.Location = new System.Drawing.Point(8, 40);
this.btnShiftLeft.Name = "btnShiftLeft";
this.btnShiftLeft.Size = new System.Drawing.Size(30, 30);
this.btnShiftLeft.TabIndex = 0;
this.btnShiftLeft.Text = "";
this.btnShiftLeft.UseVisualStyleBackColor = true;
this.btnShiftLeft.Click += new System.EventHandler(this.btnShiftLeft_Click);
this.btnMirrorY.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnMirrorY.Location = new System.Drawing.Point(188, 4);
this.btnMirrorY.Name = "btnMirrorY";
this.btnMirrorY.Size = new System.Drawing.Size(30, 30);
this.btnMirrorY.TabIndex = 6;
this.btnMirrorY.Text = "";
this.btnMirrorY.UseVisualStyleBackColor = true;
this.btnMirrorY.Click += new System.EventHandler(this.btnMirrorY_Click);
//
// btnShiftRight
// btnMirrorX
//
this.btnShiftRight.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnShiftRight.Location = new System.Drawing.Point(80, 40);
this.btnShiftRight.Name = "btnShiftRight";
this.btnShiftRight.Size = new System.Drawing.Size(30, 30);
this.btnShiftRight.TabIndex = 1;
this.btnShiftRight.Text = "";
this.btnShiftRight.UseVisualStyleBackColor = true;
this.btnShiftRight.Click += new System.EventHandler(this.btnShiftRight_Click);
this.btnMirrorX.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnMirrorX.Location = new System.Drawing.Point(152, 4);
this.btnMirrorX.Name = "btnMirrorX";
this.btnMirrorX.Size = new System.Drawing.Size(30, 30);
this.btnMirrorX.TabIndex = 5;
this.btnMirrorX.Text = "";
this.btnMirrorX.UseVisualStyleBackColor = true;
this.btnMirrorX.Click += new System.EventHandler(this.btnMirrorX_Click);
//
// btnShiftUp
// btnInvert
//
this.btnShiftUp.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnShiftUp.Location = new System.Drawing.Point(44, 4);
this.btnShiftUp.Name = "btnShiftUp";
this.btnShiftUp.Size = new System.Drawing.Size(30, 30);
this.btnShiftUp.TabIndex = 2;
this.btnShiftUp.Text = "";
this.btnShiftUp.UseVisualStyleBackColor = true;
this.btnShiftUp.Click += new System.EventHandler(this.btnShiftUp_Click);
this.btnInvert.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnInvert.Location = new System.Drawing.Point(116, 4);
this.btnInvert.Name = "btnInvert";
this.btnInvert.Size = new System.Drawing.Size(30, 30);
this.btnInvert.TabIndex = 4;
this.btnInvert.Text = "";
this.btnInvert.UseVisualStyleBackColor = true;
this.btnInvert.Click += new System.EventHandler(this.btnInvert_Click);
//
// btnShiftDown
//
@@ -241,44 +251,98 @@
this.btnShiftDown.UseVisualStyleBackColor = true;
this.btnShiftDown.Click += new System.EventHandler(this.btnShiftDown_Click);
//
// btnInvert
// btnShiftUp
//
this.btnInvert.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnInvert.Location = new System.Drawing.Point(8, 89);
this.btnInvert.Name = "btnInvert";
this.btnInvert.Size = new System.Drawing.Size(30, 30);
this.btnInvert.TabIndex = 4;
this.btnInvert.Text = "";
this.btnInvert.UseVisualStyleBackColor = true;
this.btnInvert.Click += new System.EventHandler(this.btnInvert_Click);
this.btnShiftUp.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnShiftUp.Location = new System.Drawing.Point(44, 4);
this.btnShiftUp.Name = "btnShiftUp";
this.btnShiftUp.Size = new System.Drawing.Size(30, 30);
this.btnShiftUp.TabIndex = 2;
this.btnShiftUp.Text = "";
this.btnShiftUp.UseVisualStyleBackColor = true;
this.btnShiftUp.Click += new System.EventHandler(this.btnShiftUp_Click);
//
// btnMirrorX
// btnShiftRight
//
this.btnMirrorX.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnMirrorX.Location = new System.Drawing.Point(44, 89);
this.btnMirrorX.Name = "btnMirrorX";
this.btnMirrorX.Size = new System.Drawing.Size(30, 30);
this.btnMirrorX.TabIndex = 5;
this.btnMirrorX.Text = "";
this.btnMirrorX.UseVisualStyleBackColor = true;
this.btnMirrorX.Click += new System.EventHandler(this.btnMirrorX_Click);
this.btnShiftRight.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnShiftRight.Location = new System.Drawing.Point(80, 40);
this.btnShiftRight.Name = "btnShiftRight";
this.btnShiftRight.Size = new System.Drawing.Size(30, 30);
this.btnShiftRight.TabIndex = 1;
this.btnShiftRight.Text = "";
this.btnShiftRight.UseVisualStyleBackColor = true;
this.btnShiftRight.Click += new System.EventHandler(this.btnShiftRight_Click);
//
// btnMirrorY
// btnShiftLeft
//
this.btnMirrorY.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnMirrorY.Location = new System.Drawing.Point(80, 89);
this.btnMirrorY.Name = "btnMirrorY";
this.btnMirrorY.Size = new System.Drawing.Size(30, 30);
this.btnMirrorY.TabIndex = 6;
this.btnMirrorY.Text = "";
this.btnMirrorY.UseVisualStyleBackColor = true;
this.btnMirrorY.Click += new System.EventHandler(this.btnMirrorY_Click);
this.btnShiftLeft.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnShiftLeft.Location = new System.Drawing.Point(8, 40);
this.btnShiftLeft.Name = "btnShiftLeft";
this.btnShiftLeft.Size = new System.Drawing.Size(30, 30);
this.btnShiftLeft.TabIndex = 0;
this.btnShiftLeft.Text = "";
this.btnShiftLeft.UseVisualStyleBackColor = true;
this.btnShiftLeft.Click += new System.EventHandler(this.btnShiftLeft_Click);
//
// button1
//
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.button1.Location = new System.Drawing.Point(634, 156);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 10;
this.button1.Text = "Generate";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// outBox
//
this.outBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right)));
this.outBox.Font = new System.Drawing.Font("Consolas", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.outBox.Location = new System.Drawing.Point(634, 185);
this.outBox.Multiline = true;
this.outBox.Name = "outBox";
this.outBox.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.outBox.Size = new System.Drawing.Size(230, 134);
this.outBox.TabIndex = 11;
this.outBox.Text = "Output text here";
//
// listView1
//
this.listView1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.listView1.HideSelection = false;
this.listView1.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
listViewItem1,
listViewItem2,
listViewItem3,
listViewItem4});
this.listView1.LargeImageList = this.imageList1;
this.listView1.Location = new System.Drawing.Point(634, 325);
this.listView1.MultiSelect = false;
this.listView1.Name = "listView1";
this.listView1.ShowGroups = false;
this.listView1.Size = new System.Drawing.Size(230, 189);
this.listView1.SmallImageList = this.imageList1;
this.listView1.TabIndex = 12;
this.listView1.TabStop = false;
this.listView1.TileSize = new System.Drawing.Size(50, 70);
this.listView1.UseCompatibleStateImageBehavior = false;
//
// imageList1
//
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
this.imageList1.Images.SetKeyName(0, "firmware.png");
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(791, 566);
this.ClientSize = new System.Drawing.Size(877, 566);
this.Controls.Add(this.listView1);
this.Controls.Add(this.outBox);
this.Controls.Add(this.button1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.pbZoom);
this.Controls.Add(this.label4);
@@ -320,6 +384,10 @@
private System.Windows.Forms.Button btnInvert;
private System.Windows.Forms.Button btnMirrorX;
private System.Windows.Forms.Button btnMirrorY;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox outBox;
private System.Windows.Forms.ListView listView1;
private System.Windows.Forms.ImageList imageList1;
}
}

View File

@@ -13,6 +13,14 @@ using System.Windows.Forms.VisualStyles;
namespace McBitFont {
public partial class Form1 : Form {
struct FrameMiniature {
public int code;
public int width;
public int height;
public bool[,] data;
};
FrameMiniature f;
private int cellSize = 10;
private int dotWidth, dotHeight;
private Panel[,] dots = new Panel[255,255];
@@ -36,6 +44,12 @@ namespace McBitFont {
cbZoom.SelectedIndex = 3;
cbZoom.SelectedIndexChanged += cbZoom_SelectedIndexChanged;
f.code = 1;
f.width = dotWidth;
f.height = dotHeight;
f.data = new bool[dotWidth, dotHeight];
}
private Panel NewDot(int i, int j) {
@@ -217,6 +231,34 @@ namespace McBitFont {
}
}
private void button1_Click(object sender, EventArgs e) {
for (int i = 0; i < dotWidth; i++) {
for (int j = 0; j < dotHeight; j++) {
if (dots[i, j].BackColor == Color.Black) f.data[i, j] = true;
else f.data[i, j] = false;
}
}
outBox.Clear();
String str;
Byte b = 0;
for (ushort i = 0; i < dotWidth; i++) {
str = "";
for (ushort j = 0; j < dotHeight; j++) {
if (j % 8 == 0) b = 0;
if (f.data[i, j]) {
b |= (Byte)(1 << (j % 8));
}
if ( ((j + 1) % 8 == 0) || j+1 == dotHeight ) {
if (str.Length > 0) str += " ";
str += "0x" + Convert.ToString(b, 16).PadLeft(2, '0') + ',';
}
}
outBox.AppendText(str);
outBox.AppendText(Environment.NewLine);
}
}
private void dotScale() {
bool large = dotWidth * dotHeight > 12 * 12;
int gap = (cellSize < 5) ? 0 : 1;

View File

@@ -117,4 +117,74 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAG
DgAAAk1TRnQBSQFMAwEBAAEIAQABCAEAATIBAAEyAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
AcgDAAEyAwABAQEAAQgFAAEQAScYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wBqAAH/AewBEgHz
BAAB9AJtAfQEAAHzARIB7AH/tAAB8QIAAesEAAHvAgAB7wQAAesCAAHxtAAB8AIAAesEAAH3AgAB9wQA
AesCAAHwtAAB8AIAAesEAAH3AgAB9wQAAesCAAHwtAAB8AIAAesEAAH3AgAB9wQAAesCAAHwtAAB8AIA
AesEAAH3AgAB9wQAAesCAAHwtAAB9ALwAfIEAAHzAvAB8wQAAfIC8AH0swAW/7AAAf8B7wERFAABEQHv
Af+tAAH/ARIYAAESAf+sAAHvGgAB76sAAf8BERoAAREB/6MAAf8B8QTwAfQB/xwAAf8B9ATwAfEB/5wA
AewFAAHwAf8cAAH/AfAFAAHsnAABEwUAAfAB/wgAAQcB8wHrBgAB6wHzAQcIAAH/AfAFAAESnAAB8wXr
AfIB/wcAAfACAAH0BgAB9AIAAfAHAAH/AfIF6wHzowAB/wYAAfADAAHwBgAB8AMAAfAGAAH/qgAB/wUA
AfADAAHyAQ4BAAEOAgcBDgEAAQ4B8gMAAfAFAAH/qgAB/wQAAfADAAHyAQ4BDwEOAe8CAAHvAQ4BDwEO
AfIDAAHwBAAB/6oAAf8DAAHwAwAB8gEOAewC/wH0AgAB9AL/AewBDgHyAwAB8AMAAf+jAAH0Ae8E9wHz
Af8CAAHwAwAB8gEOAQAB8AgAAfABAAEOAfIDAAHwAgAB/wHzBPcB7wH0nAABbQUAAfAB/wEAAe0DAAHy
AQ4CAAHrAf8GAAH/AesCAAEOAfIDAAHtAQAB/wHwBQABbZwAAW0FAAHwAf8BAAHtAwAB8gEOAgAB6wH/
BgAB/wHrAgABDgHyAwAB7QEAAf8B8AUAAW2cAAH0Ae8E9wHzAf8CAAHwAwAB8gEOAQAB8AgAAfABAAEO
AfIDAAHwAgAB/wHzBPcB7wH0owAB/wMAAfADAAHyAQ4B7AL/AfQCAAH0Av8B7AEOAfIDAAHwAwAB/6oA
Af8EAAHwAwAB8gEOARABDgHvAgAB7wEOAQ8BDgHyAwAB8AQAAf+qAAH/BQAB8AMAAfIBDgEAAQ8CBwEO
AQABDgHyAwAB8AUAAf+qAAH/BgAB8AMAAfAGAAHwAwAB8AYAAf+jAAHzBesB8gH/BwAB8AIAAfQGAAH0
AgAB8AcAAf8B8gXrAfOcAAETBQAB8AH/CAABBwHzAesGAAHrAfMBBwgAAf8B8AUAARKcAAHsBQAB8AH/
HAAB/wHwBQAB7JwAAf8B8QTwAfQB/xwAAf8B9ATwAfEB/6MAAf8BERoAAREB/6sAAe8aAAHvrAAB/wES
GAABEgH/rQAB/wHvAREUAAERAe8B/7AAFv+zAAH0AvAB8gQAAfMC8AHzBAAB8gLwAfS0AAHwAgAB6wQA
AfcCAAH3BAAB6wIAAfC0AAHwAgAB6wQAAfcCAAH3BAAB6wIAAfC0AAHwAgAB6wQAAfcCAAH3BAAB6wIA
AfC0AAHwAgAB6wQAAfcCAAH3BAAB6wIAAfC0AAHwAgAB6wQAAe8CAAHvBAAB6wIAAfG0AAH/AewBEgHz
BAAB9AJtAfQEAAHzARIB7AH//wD/AP8AAUIBTQE+BwABPgMAASgDAAHIAwABMgMAAQEBAAEBBQABeAEF
FgAD/wEABv8BwBUABv8BwBUABv8BwBUAAf8B/gIeAR8B/wHAFQAB/wH+Ah4BHwH/AcAVAAH/Af4CHgEf
Af8BwBUAAf8B/gIeAR8B/wHAFQAB/wH+Ah4BHwH/AcAVAAH/Af4CHgEfAf8BwBUAAf8B/gIeAR8B/wHA
FQAB/wH8AgABDwH/AcAVAAH/AfACAAEDAf8BwBUAAf8B4AIAAQEB/wHAFQAB/wHgAgABAQH/AcAVAAH/
AcADAAH/AcAVAAHgBAABAQHAFQAB4AQAAQEBwBUAAeAEAAEBAcAVAAHgAQABGAEGAQABAQHAFQAB/wHA
ATgBBwEAAf8BwBUAAf8BwAFwAQMBgAH/AcAVAAH/AcAB4AHBAcAB/wHAFQAB/wHBAsAB4AH/AcAVAAHg
AQMBhwH4AXABAQHAFQAB4AEHAQMB8AE4AQEBwBUAAeABBwEDAfABOAEBAcAVAAHgAQMBhwH4AXABAQHA
FQAB/wHBAsAB4AH/AcAVAAH/AcAB4AHBAcAB/wHAFQAB/wHAAXABAwGAAf8BwBUAAf8BwAE4AQcBAAH/
AcAVAAHgAQABGAEGAQABAQHAFQAB4AQAAQEBwBUAAeAEAAEBAcAVAAHgBAABAQHAFQAB/wHAAwAB/wHA
FQAB/wHgAgABAQH/AcAVAAH/AeACAAEBAf8BwBUAAf8B8AIAAQMB/wHAFQAB/wH8AgABDwH/AcAVAAH/
Af4CHgEfAf8BwBUAAf8B/gIeAR8B/wHAFQAB/wH+Ah4BHwH/AcAVAAH/Af4CHgEfAf8BwBUAAf8B/gIe
AR8B/wHAFQAB/wH+Ah4BHwH/AcAVAAH/Af4CHgEfAf8BwBUABv8BwBUABv8BwBUABv8BwBUACw==
</value>
</data>
</root>