From d896c8ed00b23ffee547b9b4def0a8c655e75efc Mon Sep 17 00:00:00 2001
From: FDscend <113600072+FDscend@users.noreply.github.com>
Date: Mon, 19 Jun 2023 19:58:40 +0800
Subject: [PATCH] Add files via upload
---
PatternSelectForm.Designer.cs | 77 +++++++
PatternSelectForm.cs | 34 +++
PatternSelectForm.resx | 408 ++++++++++++++++++++++++++++++++++
Ribbon1.cs | 105 +++++----
WordAddIn1.csproj | 9 +
5 files changed, 591 insertions(+), 42 deletions(-)
create mode 100644 PatternSelectForm.Designer.cs
create mode 100644 PatternSelectForm.cs
create mode 100644 PatternSelectForm.resx
diff --git a/PatternSelectForm.Designer.cs b/PatternSelectForm.Designer.cs
new file mode 100644
index 0000000..c5f88a1
--- /dev/null
+++ b/PatternSelectForm.Designer.cs
@@ -0,0 +1,77 @@
+
+namespace WordAddIn1
+{
+ partial class PatternSelectForm
+ {
+ ///
+ /// 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(PatternSelectForm));
+ this.button1 = new System.Windows.Forms.Button();
+ this.comboBox1 = new System.Windows.Forms.ComboBox();
+ this.SuspendLayout();
+ //
+ // button1
+ //
+ this.button1.Location = new System.Drawing.Point(12, 72);
+ this.button1.Name = "button1";
+ this.button1.Size = new System.Drawing.Size(250, 47);
+ this.button1.TabIndex = 1;
+ this.button1.Text = "确定";
+ this.button1.UseVisualStyleBackColor = true;
+ this.button1.Click += new System.EventHandler(this.button1_Click);
+ //
+ // comboBox1
+ //
+ this.comboBox1.FormattingEnabled = true;
+ this.comboBox1.Location = new System.Drawing.Point(13, 13);
+ this.comboBox1.Name = "comboBox1";
+ this.comboBox1.Size = new System.Drawing.Size(250, 36);
+ this.comboBox1.TabIndex = 2;
+ //
+ // PatternSelectForm
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(14F, 28F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(277, 153);
+ this.Controls.Add(this.comboBox1);
+ this.Controls.Add(this.button1);
+ this.Font = new System.Drawing.Font("宋体", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Margin = new System.Windows.Forms.Padding(5);
+ this.Name = "PatternSelectForm";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "选择样式";
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+ private System.Windows.Forms.Button button1;
+ private System.Windows.Forms.ComboBox comboBox1;
+ }
+}
\ No newline at end of file
diff --git a/PatternSelectForm.cs b/PatternSelectForm.cs
new file mode 100644
index 0000000..f6d1026
--- /dev/null
+++ b/PatternSelectForm.cs
@@ -0,0 +1,34 @@
+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 Word = Microsoft.Office.Interop.Word;
+
+namespace WordAddIn1
+{
+ public partial class PatternSelectForm : Form
+ {
+ public string selectedName = "";
+
+ public PatternSelectForm(Word.Documents doc)
+ {
+ InitializeComponent();
+
+ for (int i = 1; i < Globals.ThisAddIn.Application.ActiveDocument.Styles.Count; i++)
+ {
+ comboBox1.Items.Add(Globals.ThisAddIn.Application.ActiveDocument.Styles[i].NameLocal);
+ }
+ comboBox1.Text = comboBox1.Items[0].ToString();
+ }
+
+ private void button1_Click(object sender, EventArgs e)
+ {
+ selectedName = comboBox1.SelectedItem.ToString();
+ this.Close();
+ }
+ }
+}
diff --git a/PatternSelectForm.resx b/PatternSelectForm.resx
new file mode 100644
index 0000000..14c705e
--- /dev/null
+++ b/PatternSelectForm.resx
@@ -0,0 +1,408 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+ AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAA
+ AADJ1dH/kq/B/5Gvwv/D0NH/1OHg/9He3P/O29n/zNjW/8rW1v/I1NX/m6y7/5i0zv+bt9j/iqTJ/4Sd
+ w/+EnsT/j7LV/5fB4P+cwuL/osbl/6XJ5/+ozOr/qc7s/6rQ7v+r0fD/qtHv/6nR7v+n0e3/r9nx/6TR
+ 6/+XwN7/lb/c/5LB2v+Qvtn/j7vW/4271P+ItdL/iLHS/4yx2P+Ms9r/mcXr/5a95/+Xvur/psPq/3uV
+ xP99l8D/eJO8/4Kv1f9ulLb/kcfj/42/2/+Er8//jazJ/5usv//b5ub/4Ovo/93o5P/e6OT/3+nj/+Dr
+ 4//h6+T/4u3m/+Tu5f/k7uX/o7jE/5Kzx/+WssL/1uLh/9bj4f/U393/z9za/8zZ1//K1dT/vMnL/4ua
+ pP+Xo6b/oLrR/6LB4P+Rq9H/kKvQ/4epzf+NtNP/krPV/6DH5/+mzOj/qs7r/6vQ7v+s0O7/rNDu/6rQ
+ 7P+p0u3/ptPt/6nV7f+v3fH/ns7n/5TA3f+Putb/jr7a/4682P+LvNb/ibvW/4i11f+FrdH/jrrg/5bD
+ 6v+UvOb/msDr/7nZ+P+qx/X/lbTo/3STw/9tmMX/cJfA/4Wkyv+Pq9D/n7zb/6jG4f+wyeH/rcHT/7zL
+ 1f/K1dn/2uPh/+Do4//k7Ob/7PLp/+zy6P/w9uv/9vnv/4+pv/+ZvdD/pb3J/9rk4v/Z4d7/1t7a/9Lc
+ 2f/O2df/tcHE/4Obp/+hr7L/uMTB/6SvsP+Xs8f/oMjj/4qryv9tj7P/gqC//5ez0P+Oqcr/o8Pk/6vO
+ 7P+sz+z/rM/s/6vQ7P+pz+r/qM/p/6XQ6v+lz+j/r9rv/6jb8v+g0Ov/o83m/4y93f+Lt9f/h67O/4Wt
+ zP+Fs9L/iLbY/4+53f+Xwef/lb/n/5i95f+dx+v/rs/z/6zM9v+tzvf/pMTr/36XvP+Mpcj/nbbX/5u0
+ 1P+atdP/nbnT/6TA1v+mwtf/rMfb/7HK2/+xyNf/u8/a/+Do5P/z9+z/9vnt//v88v+QsMj/m8TW/7PF
+ zP/b5+X/2+bk/9Xi4f/S3tz/uMPE/4qhqv+ntbf/vMfD/6+9vf+Soqn/eZCn/3eauf92nLz/SmmJ/7LY
+ 5P+94Ov/uNrm/5q7zP+ZuNH/vt/z/67Y8P+n1/H/pdfw/6TX7/+i1e//oNDr/6nY8f+i1/D/otXw/6na
+ 8v+d0u7/odDq/5bF4f+Kvdr/i8Pg/47K5P+Jt9b/jLTa/5PE6P+Ww+f/lcfo/5zG6f+exej/n83r/53M
+ 6P+dwuT/mbzd/5e82v+dwd//pMbg/6TH3/+ny97/qs/h/63V4/+w1uP/s9ji/7fc5v/F3uX/1+Tk//f5
+ 7P/7+/H/k7nQ/5rB1f+7xsb/3ubi/9/o5f/Z5eT/x9PU/4mltP+gsrr/tsTG/5Kmr/92lan/d5a1/3WU
+ tv91lrj/a42u/1p7nP+iqab/qray/7bMzP+62dz/qMbQ/4WesP+ivc7/xeb0/8Hm9v+l3PL/otjx/5/R
+ 7v+dzuz/m87s/57N6/+bzOr/msrp/53O6P+Xzef/kMnk/5DL5f+RyOP/k8bj/4u83P+Krtf/nMDk/5nH
+ 6f+byOn/ncfl/5zN6P+dzun/oMvk/6DM4v+izOT/o8zi/6TN4f+lzuH/p87g/6nQ4P+p0t//rNfi/67Y
+ 4v+y2+T/veHo/7LM1f/2+O7/+/vx/5W/1f+Yv9T/ws3O/93m4f/f5+P/1uHf/42tuv+Mrb7/mbC8/3qd
+ tP+FqsD/f6jC/3SUtv9yk7X/eKPE/1d4mf96mbb/qbGp/6iwqf+cp6T/hJWl/3yRq/+KqcP/fqXB/4mx
+ 0f+lxNf/utfm/6/U6f+hyub/nMjm/5vM6P+ZzOj/mMro/5fK5/+Wyub/lsjl/5bG5P+VxuT/lMTk/5XE
+ 5P+TyuX/lMPj/52/4P+ixeX/nMTl/6HM5/+ezej/ns7o/6HN5P+gzuT/os7k/6TO4f+l0OL/ptDi/6nQ
+ 4v+r0+L/pcza/6jQ3P+w2uT/tNzk/7nU2v/c5uH/+Pnv//v78v+XxNj/j7fO/8bV2f/Z5+f/2ebm/6S8
+ xP+Mu8//fJq0/4eqxP+EqMH/gKbD/3KZvf9xl7v/d6LD/26XuP9vkLH/eI6l/6mtpv+SoKT/f5uu/4Ko
+ w/+ItdD/h7nY/4u72P+NwNr/mMDX/4qkx/+Lnbv/o7TK/7PJ3/+t0Oj/pdbs/5zR6f+XzOb/lszo/5fK
+ 6f+YyOj/mMjn/5bH5/+XxOb/l8bo/5rJ6f+dzOv/ntHr/53P6f+dyOT/oc3o/6LP5v+izuP/o87k/6PO
+ 4/+lzuH/p87h/6nP4f+r0OL/q9Pi/6fP3v+dxdL/tNri/8ve3//t8uv/9vjv//n68f/7/PP/lsTa/4uv
+ yP/L2Nn/2Obm/7rO1f+Yx9j/eqC7/4qwzP+QutH/hrPP/3Cbvv9xmLz/dZ/C/3qox/9igqP/dI+x/3GI
+ qP91lbD/iK/L/4+82f+Zyun/j8Xk/4O21v94oMP/f57L/4mk0/+Io9b/gZ7U/4Gayf+Qpsf/kqa//52y
+ yv+audL/n8Xh/6LN6f+iz+z/oM7r/5XC5/+Wwuf/mcXr/5zJ7f+cy+z/ncrr/6DM6/+hzuv/oc/q/6LP
+ 6v+k0Or/ptDn/6bP5/+nzuX/qM3i/6nO4v+r0OP/rNLk/63V5f+fyNj/ncXU/87c2//19+7/+Pnw//f5
+ 7//3+e//+/zz/5XG3f+Iq8T/z9ra/9Hf4v+Mtcb/hrjS/3610P+Xz+X/kMHb/3qiw/93ncD/fKjI/32q
+ yv9lh6j/cI2v/3KMsP9zmrn/hbvY/4zD4/+Rx+f/jcLi/4as0P+Bnsr/jKjc/46s4f+PrOP/janh/4ij
+ 2/97lc3/eZfM/4Kgzf+WstP/ocLb/5e+1f+pzuX/tdfx/7jY9P+lw+f/mrff/6bL7v+k0PL/os7x/6LM
+ 7/+hze7/oM7s/6HQ7f+k0e7/qNLu/6jQ7v+p0O3/q8/p/6vO5f+s0Ob/rtPn/7HV5v+sytj/lrrM/6XI
+ 0//U3dj/9ffs//b57v/w9On/8PTp//v78f+Wx9z/iarE/8zZ2/+KprT/jL3Y/4Gz0f+Mwdv/lsfh/4Gw
+ z/+BsdD/gLDO/36ryf9rj6//dpS2/3SOsv9mhKb/h7TP/5TD3v+TxOD/jsbj/36w0/9efrH/jazo/42q
+ 4/+Ipdz/fJfO/3OQyf9/ntb/ocDr/8Lg+v/P6v3/1O/8/9Xv+//I4vP/nbzb/5q33/+61fb/w9z4/7zW
+ 8//B3/b/yer7/8Dm+/+w2vf/p9Lz/6XO8f+mz/H/q9Dy/67R9P+w0vT/sdT0/7bW8P+31uz/ss3e/7jJ
+ 0//N1db/0NjY/5m8zP+evMr/2N7Z//H06f/t8eb/6e7k/+vw5f/5+e//mMPa/4inwv+brLr/cJi1/4m4
+ 1v+Kt9b/ksDc/4q51v+EtdL/f7DO/3uryf9slbT/f6LC/4GZuf9pgaH/f7PP/43C3/+Ow9//ksbi/4e1
+ 2P9pha3/X3io/4qr5f95l8r/co/J/4Oj3/+nyPP/w+H8/9Dr/f/U7v3/1e/8/9bw/P/X8Pz/1vD8/9Xv
+ +/+10Of/rsvv/8rk+v/M5fr/yOX1/8rk8//P6ff/xeT0/8fm9v/B4Pf/vt32/8Xh9v/K5Pb/yuL0/7nQ
+ 5v+ov9f/lqm9/8jPz//W3tz/3+Xh/8TO0P+WuMz/mbHB/+Xq4//v8+r/6u/m/+ft4v/p7+T/7/Lo/5PD
+ 3P96m7n/coqt/3akxP9/rM7/i7jX/4y61/+JttL/g6/N/36nx/9ul7X/jrPQ/5Cqy/+Bmbn/d6fC/4jA
+ 2/+Ivtv/jMPh/4zE5P9zmsH/c4u2/2GAtP92lsf/iafg/6fH8f/H5vv/0O78/9Dt/P/Q7Pv/0+38/9Tu
+ +//V7/v/1+/8/9fw/P/W8Pz/1/D7/7bS6f+tzOf/m7fS/32MlP+CjJH/g4yV/4aTov+BkaT/eoqi/3iK
+ p/9+lbj/eI+2/2h7pv92iLT/eYyx/4uhuv+3v8D/09zb/9nk5P+4y9P/jbPL/56zwv/v8ej/9/ju//Hz
+ 6v/p7uT/6O7j/+nu4/+Vxt//cpGy/3CMsv9+rM7/farK/4292f+JudX/hbPS/36oyv9ylLX/nMTb/6LB
+ 3P+ZstH/dZq4/4G61f+Hvtr/isHc/43D4f97q8//ZY63/2KNtP+Qsdn/nr7v/8Pf+v/T8Pz/0O/7/9Hu
+ /P/R7Pz/0ev7/9Lr+//S7Pv/1O78/9Xu/P/X7/v/1+/7/9bu+//V7Pv/0uv6/9Dp+v+91eb/hJWh/4aR
+ l/+LlJj/g4uR/3R8hv9+h5P/epK1/4CWv/9gbpz/b3ur/3B+qP+Dmrz/oa24/9Hc3f/W5Ob/qsXR/5C4
+ 0P+xv8j/8PPp//b37P/39+7/6+/l/+ju5P/n7eL/lMXe/3GStv90lbz/daLE/4m31f+Kudb/h7TU/4Cs
+ zv9vl7n/iLDN/6XM5P+vzuX/lLHN/3erx/+Fu9b/hr3b/4zD4P+Iu9v/bpO9/3Kjx/+bwd7/qsfx/8Xh
+ +f/S7vv/z+z7/9Hr/P/S7Pv/0ev8/9Lr/P/S6/v/0uz7/8fg+P+2zPb/zOH7/9bu+//W7fv/1ez7/9Ps
+ /P/R6fr/0+v6/9Do9f+PorL/gY+Y/4aPlv97g47/f4aT/32Tt/+BmMD/Z3ek/15mmP9nc6H/fZS8/46g
+ sv/O19b/2eHh/522xv+Wuc7/ytPU/+7y5//t8OX/8PHn/+nu5P/p7+X/6e/k/47A2/9rjbP/cpi//3yq
+ y/+Jt9X/h7XV/4Ou0P93ncH/jLXO/57C3f+x0+f/tc/k/4Kpxf+Eu9j/jL7c/4rB4v+IwOL/bZ3E/3mr
+ z/+NwOD/n7/t/7rX9v/F4ff/w971/8Xg9P/R6/z/0uv7/9Pr/P/T6/z/0uv7/9Pt+/+Zsen/jqTy/5et
+ 9v+4zvL/1O37/9Tt/P/T7fv/0uz6/9Lr+//R6vr/0+r3/3eOrP9ogKT/boKl/218nv+Albv/gpjA/3WI
+ s/9dapj/ZXKf/3ySu/+Ak7D/x8/O/9bd3P+SrsH/n73O/+Lm4f/s8OX/6Ozh/+nt4v/p7uL/5+3j/+jt
+ 5P+Nwdv/YoKp/3yoyv+Cr9D/iLTT/4ey1P9wl7r/e6TE/7jh8f+owdv/tMve/3mVtv96rMv/jL/d/4vA
+ 4f+Hv+P/b5zC/3Odw/+OwN3/kbbe/5698P+Wtub/k7HV/6TA2f++2+3/zuf4/9Hq+v/T7Pz/0+v8/9Lq
+ +//S7Pv/yuP3/4yl6v96kef/ZHS//9Tr+f/V7Pv/0+37/9Lt+//S7fv/0er6/8/o+f/I3O3/cYmz/3KI
+ q/9idJ3/d427/3+Vwf95jrv/WmmV/1xplP97j7X/eI2w/7rEx//F0NL/kbPJ/7LJ1f/h49z/6O3k/+ju
+ 4//p7+X/6e/k/+ft4v/m7OH/hbTN/3uhw/99p8j/hrHS/4ex0v94nsL/dp7B/5zF2/+53e//n7fS/4Kk
+ 0f+AoMn/jLnW/5LD4v+PvuD/hKnO/3SQuf+GrMv/k7nW/4qo3/+FqNX/k7fO/7TU5f/E5PX/xuP3/8rl
+ +v/O5/r/0ur7/9Lr+//S6/v/0uv7/9Lr+//T7Pr/yeH0/7nQ6f/V6/r/1ez7/9Ts+//S7Pv/0ev7/9Hq
+ +//O5vv/zOT4/42lyv97kbz/Z4Gp/2yJt/9/mMT/epC9/1tum/9SY5D/coWv/3eJr/+xtrj/q7nC/5zC
+ 2v/C0tr/19rV/8bNyf/l6+D/6O7j/+ft4v/o7uP/5+3i/3mhvv+Dr83/g67Q/4Sx0f9/qs3/bpi9/3uo
+ x/+02Oz/pbzU/5m22v+bu+X/eKXL/5DG5/+RwuP/kLre/3STvP97pMr/kcXk/3ymzP99rtD/h7bP/7TW
+ 7f+93fb/weD5/8Lg+f/D4fr/yeT7/87o+v/Q6fv/0en7/9Hp+//S6vv/0+z7/9Xt+//X7fz/1e37/9Ps
+ +//S7Pr/0er6/9Dp+v/O5/v/zOT7/8nh+v+pweT/eY27/21/qP9wibX/fJS+/4Gbx/9oeab/U2CP/2Jz
+ ov90i7j/oK27/4Sdt/+Zvdf/3OTj//L07f/Bycb/3+fe/+Xs4f/n7eL/5+3i/+ju4/9znrr/ga/O/4Gu
+ 0P+Dr9L/bJO4/36rz/+Vvdb/qMPc/5u32f+82vP/k7Lb/4a53P+Sxej/kcDi/36mzv93n8b/ibra/4K1
+ 1P9/sdH/hbfT/6zQ6v+42fj/udn5/7fX+f+52fn/vdz5/8Lg+v/K5Pr/zef7/8/p+v/Q6fr/0ur7/9Ps
+ /P/W7vz/1+79/9Tt/P/S7fv/0Or6/87n+v/K5Pr/xeD6/8Te+//D3Pv/u9L2/2l+s/90iLv/Ynqr/4Cd
+ xf95k77/gJrG/1ddi/9WXYn/eYu0/5eeqv+Ak7H/p7zR/+vu6v/6+fP/3OHa/8XPyv/k7OH/5u3i/+ft
+ 4v/l6+D/eJ+8/4Gtzf+Cq87/fKDF/3iYvv9/ocX/r8/j/5Ssyf+51vH/wd32/4ejz/+TxOX/lcHk/5K5
+ 3v97msL/f6XJ/42+2/9+sdT/i8De/53B3v+21vj/sdH6/6/Q+f+w0Pj/tNX6/7nZ+v+92/r/xuH7/8vl
+ +//O5/z/z+n7/9Hq+//T7Pz/1u79/9fu/f/W7vz/1Oz8/87o+//J4/r/xOD6/7/b+v+92fv/u9T6/7fO
+ 9/+mw+v/gZfD/2R4q/94msX/boy2/3+s1/9qhLL/SVKC/2x8qP97h6T/e5O2/7zM2f/p7Of/+Pfx/+Lm
+ 3v/Dzcn/5Ozi/+bt4//n7eP/5u3i/4Cnw/+Drc3/hKvP/2uMs/+GrtP/hqnJ/6vG2f+rxuD/tNDx/7bR
+ 9f+Dps3/lMLk/5jA5P+Fp8//fp/G/4262v9/sNP/jMXn/5O62f+31/j/s9D5/6rJ+P+nx/f/qsr3/67O
+ +f+31vr/vtv7/8Lf+v/K5Pz/zeX8/8/o+//Q6fr/0uv7/9Xs+//V6/v/1+z7/9Tr+//N5/v/x+L7/8Hd
+ +v+92fv/udT7/7TM+f+1zPj/ob3s/7zZ9P9tgbD/eZXD/3yYwP91lcD/gaXQ/1Zllf9gcp//bX+n/3yS
+ tf+0wM3/4ubi/+jq5v/g5d7/xM3J/+Ts4v/n7uT/6O/k/+fu5P+Jsc3/ga3O/3yozf9tl77/frDW/4y3
+ 0f+Pq8T/w9/y/7HP9f+fueX/hbPY/4/A5P+Rv+L/gKPM/4Gozf+Fs9b/isLl/4/C4f+uy+v/t9P5/7PP
+ 9v+qyPX/pMT1/6bF9/+y0Pr/utj6/8Dc+//D3/r/yOL8/8zk+//O5vv/0On6/9Hq+v/S6/r/0un6/8DX
+ 7v/K4vn/zef7/8bg+v/C3fz/vdf8/7bP+/+yyfj/tcv4/46k2v+72fb/psDj/3iTwv+Bosn/dY64/4aj
+ y/9whLL/X2+b/3GDrP+BlbT/rrrH/+Hn4//i5eL/4Obe/8PNyf/j6uH/5e3i/+ju4v/o7uP/j7fR/4Sx
+ 0v9tk7v/gKnP/3ihx/+jzeP/h6G8/8Lf8v+wz/b/kq3X/5LA4f+Sv+L/ibLX/4Ciyv+Mttf/hLPb/4/I
+ 6P+hxN//u9b3/7vU+f+0zfb/r8z3/63L9/+xz/f/uNX4/7/c+f/E4Pr/yeP7/8zl/P/P5/v/0Oj7/9Hp
+ +v/S6/v/0+z7/9Tr+//S6Pr/0+n7/87m+//I4fz/w9z8/7zW+/+30Pv/t876/7vP+P+cr97/jqXW/7rW
+ +P96l8b/gKfQ/3GPuP+Epcz/epfD/2Bzn/9vh7L/l6m//6+8yP/g5eP/4+bk/+Hm3//G0Mv/5Ozh/+Xt
+ 4f/m7eH/5uzi/4u1z/+IsdT/aIix/4eu1P+Cp8n/krXM/2uAof/K5vb/nb7q/4Wky/+WweH/mMHk/4el
+ zv+Eqc//hrTa/4vC5/+dzOn/tc/s/8Td+v+/1/j/utHv/6DE4f+axNz/eZu7/7/Z8P/I4/r/zef8/9Dp
+ +//Q6fv/0On6/9Hq+v/S6/v/1Ov7/9Xs+//U6/v/1Ov7/9Pq+//Q6Pr/zuX8/8nh/P/D3fz/wdr8/7zT
+ +/+90/n/u8/y/2V3sP+0zvb/gpfH/4us1/95l7//f57H/3iYwv9qgK3/cYiz/6+6wv+tu8b/2uDe/97k
+ 4P/h5t7/xtDL/+Ts4f/m7eP/5+3j/+Ts4v+Mt9D/gqzP/2+Vvv+BrdP/hK3J/1drjv9QZYz/x+L2/6zI
+ 6P+FrMv/kMLj/4y84f+Cq9P/i7jc/4W23/+Sx+f/nsPg/8jf+f/I4Pr/vcnb/3ulpf+o7N3/tvTw/6/o
+ 4/+YrrT/6vf6/9jv/P/S6/v/0er6/9Hq+v/S6/v/1Ov7/9Xs/P/U6/v/1Ov7/9Tr+//U6vv/0en7/8ni
+ 9f+kxNr/l7jL/6G1x//e7Pf/y+D7/8je9/9xhLj/jKXX/3iOwP+Psd3/f6DH/4unzP+Amr//cISu/3WJ
+ rv/DzMv/qrrF/9Xc2//f5OD/3uXc/8vWz//k7OL/5u3i/+bt4v/l7OP/kLvT/32lyf94ocj/eqfO/16D
+ pP9MY4r/ZX6i/42nx/+iwOT/irzZ/4/E5P+ItNr/havS/4q33P+KwOX/nM/q/5y84P/L5fT/t8ja/2Nv
+ ef99u53/oeLV/6jm3v+Pybr/kbiw/+nw7v/n9/3/1e38/9Lr+//R6vr/0uv7/9Ps/P/V7Pv/1ez8/9Xs
+ +//U6/v/1Ov7/9Lr+/+dtcT/p+Hg/77r7/+ixsf/0tXW//L4+f/R5fn/lKjY/1twpf9sgLD/jq3a/4Cj
+ y/+AqMz/cJi8/2eItP91iqz/1d3Z/6e3w//R2Nb/3+Tf/9Tc1f/X4Nn/5Ozi/+bu4//m7uP/5u3k/5bE
+ 2v93ncH/fqfO/26UvP9ddp7/ZHmd/4Wew/93kLL/dJK0/5HF4/+TxOX/h63U/4y32/+Iu+H/jMLm/6PU
+ 7/+Cncz/a4Cw/5+ruv80P0T/bqGM/z9UWv8/UVr/ebCo/2uIjP/Iz9H/8Pv7/9Xu/f/S6/v/0er7/9Ls
+ +//U7fz/1ez7/9Xs+//V7Pv/1ez7/9Ts+//T7fv/eZmg/4G0sv9wj5r/iaiu/5ujqv/19vb/ydLk/5yw
+ 5P9dcqn/X3Sk/4yn1P+LrdT/hqbL/3uXu/9vibL/jp2w/9fd1/+ktcH/09rZ/+Hn4f/Dzcr/4Ong/+Ts
+ 4v/l7eP/5e3j/+bu5P+kzuP/dJe8/4Sq0f9igaj/W3Ga/3yVvv9/mL//gZvA/3Wbvf+Nxeb/jMDj/4ez
+ 2f+RweX/hLji/4/F6f+TxeT/cYe2/z9Qgv94gpL/RU5O/09fXP9FVVb/MT5C/0VfZ/9KWmj/tb/F/+33
+ +P/V7vz/0er7/9Lq+//T6/v/1O37/9bt/P/V7Pv/1ez7/9Xs+//U7Pv/1e/7/2J6g/9HXmn/NEFP/1Vl
+ df9JU2f/6+/x/8zP2f9TYaP/Yni3/2V/sv+Lqtb/jrbb/4iu0P+Bo8b/cZG7/5Wjtf/V3NX/nrbG/9Pc
+ 2v/i6OH/wc3L/+Lr4f/l7eP/5e3j/+bu5P/m7uT/o8bf/3SXvP99ps7/WXmi/2aDqv93k77/fJW+/32X
+ vf93ocT/jcbp/4m+4P+Jut3/jr/k/4m95f+Yz+7/irfc/6nC4f8nN2n/OkRf/76/vP/T2M//RVVN/zhI
+ R/9JWmD/P0tU/6WyvP/P3eP/0en7/9Dp+//S6vv/1Ov7/9bs+//W7Pv/1u38/9bt/P/X7fz/2O38/9fu
+ +v9ebH//PVFa/zdIT/8+TVj/P0ta/7zF0P+1usb/Lzxz/2iAvv9cd6f/iKjU/5K12f+Lrc//gZ7C/3KP
+ uf+Tp77/197a/5axxP/W3tz/3OPc/8DNyv/f6N3/4urf/+Tr4f/l7eP/5u7k/4enxf9ylLn/eaHK/1Rw
+ mP97mMP/e5XB/36Xwf97lbv/eqzO/43G6f+Lvt//k8Tm/4zA5P+Wy+7/mc/u/4q02f+xy+j/QVN5/x4p
+ Qv+BhIT/srSt/0pSSv9MV1D/Ym1m/0BGRv+9ysv/ydrk/7PL5v/P6fr/0ej6/9Xr+//X7Pv/1+z8/9fs
+ +//X7Pz/2O38/9jt/P/W6/n/iZvA/9zh2/9RX13/QU9R/ztCSf+8xc7/ZXCH/zNDef96lcv/Y3up/4yr
+ 1/+Wu93/kLPV/4imyf92kbr/k6e9/9DW0v+VscX/2uHd/8rT0P/T3tf/4uvi/+Ts4//l7eP/5e3k/+bu
+ 5P9xjbD/bo2z/3WXwf9ohK7/fJfE/3uYw/+Bosf/dpW7/4G73f+Kxef/ksXl/5jK6/+Txun/l8rr/5bM
+ 7P+Eqs//xeD0/8vn8/9SY3z/HyEr/y0tMv9ISkT/W2BX/0tQS/9XX2b/lKS0/1Rmjv9lfKf/zub4/9Hp
+ +v/V6/z/1+v8/9jr/P/Y7P3/1+v8/9fs/P/Y7Pz/1+38/4eZt/9ocID/VFta/1hhXP9ES1j/a3iR/x8u
+ Uv99mr//gZ/S/26IuP+Ns9z/kb3f/4q42P+Bq87/dpfB/4+lu//Cycj/mbfJ/9zi2/+7x8j/4uvi/+Xt
+ 5v/n7uf/5u7m/+fu5v/o8Ob/cYuq/2uKsv9tjrf/bou3/2GDrP9OcJX/V3eT/1Ryj/+HxOb/jMfo/5nO
+ 7f+Vyer/lcnq/5XJ6P+Uy+v/a4q0/83n+v/S7/r/zer4/42isv87RFL/HR8o/yEkLf8fJDL/JC9I/yEw
+ U/9nfaP/vtnu/9Hp+v/T6vv/1+v8/9fr/P/W6/z/1uv8/9fr/P/W6/z/1u38/9bs+v/L4PL/bHiQ/yQo
+ O/8SFiX/KTNQ/x8sTf9th6v/psjs/3eZzf93l8X/h6zX/5O63f+Mttj/hK3R/3qZw/+Qp7z/tcLI/5q5
+ y//a4dj/uMbJ/+Hr4f/l7eP/6O3k/+ft5P/n7ub/6fHn/4ibrP9vjbP/aYiv/2F+p/9rgpn/doya/3GK
+ k/9khpr/iMXl/4/J6f+Xze3/k8fp/5XI6f+VyOf/ksfo/2KBrf/F3vb/0+76/9Lu+//R7fv/yub3/5at
+ x/+Morj/hZqx/4Oatf+TrdH/qcbq/8Pc9//S6vv/1Oz7/9Pp+//W7P3/1+z8/9Tr/f/U6vz/1Ov8/9jt
+ /P/a7fv/ssjo/67E5v+NnLj/TFhz/3mKp/+Rqsz/lbTb/5Kt4f96mcj/gqTP/4Oi0P+VvN//jrXY/4ut
+ 0/+AncX/lqq+/6m7xv+kvcv/w83L/8rX1f/j6+L/5u7k/+bt4//l7eP/5u7k/+vx6P+bqrL/dZGv/2mF
+ qP98lqj/hZyk/3mQm/90i5j/bJGo/4fD4/+Vzuz/l8vo/5TG5v+Vx+j/lcnn/4u93v9miLb/rcfm/9Pu
+ +v/T7vv/0+78/9Ls+//I4vn/yuT7/77Y9P+40vH/xd/5/8vk+//Q6f3/0On7/7vT9P+uwuf/zOP2/9Ts
+ /P/S7fz/xNv2/8jb9f+0yOf/prfd/83h8//V5/v/vdL2/7jQ8v+YtNj/gJ/H/4WgzP99ltD/fqHN/4et
+ 2P97os//ksDi/4242/+Lstb/fqXM/5Wvw/+WrsH/scPK/668wv/d59//5e3k/+fv5f/n7+b/5+7m/+jv
+ 5//r8uj/nKyz/36Vp/+Amqv/jqes/4Cdpf94k6T/c42h/22Vsv+Jw+L/mM/r/5XI5v+VyOf/lcjn/5TJ
+ 5/9/sNP/b5TB/5Gu0//S7vv/0+77/9Ls+//R6/v/0er7/9Hq/P/Q6f3/z+j8/87n/P/O5vz/zeb7/67G
+ 7v+RpM//lanR/9Xq+f+91vD/lavf/46l2P+Ost7/mbTX/9Hj8//I3Pb/prro/5Gr3f+VuN//fKLH/4mp
+ 0P+Encv/f5nL/32o0f+Csdr/d6PP/4684P+Mtdn/i7LX/3yky/+Jpb7/ja/K/7XAxv+vwcf/4+vk/+bu
+ 5P/n7+X/5+7l/+nw5//q8Oj/7vPs/5ysuP+JmqX/ip+o/5Cpr/+Anqn/dZOn/3KNqP9umbj/iMLh/4/I
+ 5/+Rx+f/k8jn/5LG5v+TyOj/dqjN/2yUvf98ocX/yOP4/9Ht+//Q6/r/0Or7/9Dq+//Q6fz/z+j8/87n
+ +//O5vz/utL2/6S86v+NpNX/g5vL/6fA7P+Qq93/d5HL/4mt2/+Tw+3/irHV/8fb8v+muuL/jqLY/5Cs
+ 3f+avub/faHJ/4uw0/+Np8//f5XC/4CfyP+CqdD/h6vT/3mcyf+QuN7/jLPa/4uz2P99o8r/hKC9/46v
+ y/+tt77/w9DR/+Pr5P/l6+P/5Ovh/+Ts4f/o7+X/6/Dn//H17v+ltsb/jJ+x/4Scqv+Pr7X/f6Ov/2+O
+ pf9vi6n/bpm5/4a/3/+Mw+P/j8Xl/5HH5v+QxeX/kcjo/3WmzP9qk7n/dqTH/5i01f+0zeL/zuj5/9Hr
+ +//Q6vr/z+n7/87o+//M5vv/vdb5/5247P+GodL/iKPT/3qS0/9xicv/gqDQ/5C54/+RvOb/haXQ/6G0
+ 3/+GnNL/f5rJ/5O33P+Ttdv/epjB/4mv0f+Kqcz/gJa//3SJsv+Mqs//iqvS/4yq1P94mMb/jbTb/4uy
+ 2f+Jsdf/e6XJ/4Glxf+JqMX/pLO//9Pd2f/k7OX/5+7n/+Xu5v/l7uX/5+7m/+rv5//u8+r/ma7G/3OJ
+ o/9zi6D/fZql/3ecqf9vlar/aYem/3CavP+Ivt7/jMLh/47E4v+QxuT/j8Xj/5DI6P91o8v/cZnA/3qt
+ 0f+Ostj/xOHz/6bB2P+fuNH/nbXO/6vE2/+20Of/scnp/6K66P+DoM7/kLLc/3KNyf92jcn/i63X/4y2
+ 3/+PuuT/hKTS/4uf1f99ksr/kbXe/53L7/+Ot93/fKXJ/4GpzP99osX/gaHE/3eTu/9+ncT/irHX/4ez
+ 2/+EsNv/dZzJ/4u02v+Is9j/hbDV/3emyf+CstH/fqC9/6W+yv/h6uT/5u7n/+jv6P/m7uf/6O/o/+nw
+ 6P/p8Oj/7PHo/2Z6lf9dcJL/UGiF/117kv9vjqL/cZSq/26OrP9vlrr/iL7e/4vA4P+OxOL/kcbk/5LG
+ 5P+Ryuj/daLJ/3KZwP9+r9H/g63T/77c9P/N7Pz/0O78/8/r+P/A2er/scjf/5iu1v9/l8X/hqfQ/4Of
+ zv9shsH/jLPc/4y23f+PuN//ia/Y/3ySxf+Am87/lcDn/5a+5f+Tu+L/gq/U/4a12P+Gtdf/gavO/4On
+ zP95nMP/g6/V/36t0/+Gt93/hLXe/3ShzP+Fsdf/hLDV/4Kt0v99rM7/kcPh/4Ckw/+4zdH/4+vk/+bt
+ 5v/o8Of/6O/o/+rw6P/q8uj/6vHp/+ry6f9fdJX/bH+g/111lP9Zepj/WX2Z/2ODnf9qiaj/b5O5/4q8
+ 3/+Mv+D/jsTi/5HG5P+Sx+X/ksvr/3emzf9ymsL/frDS/4i12P+but//zu38/83s+//P7Pv/z+z7/8jj
+ +v+Rr+f/fZ/K/5C13f9hfK7/jLXc/4u23f+Pt97/lrzi/3OMuv+FpdL/lL3j/5G23v+Qut//g67U/4ez
+ 2P+Js9r/hq3T/4Glyf95mL//gqzP/5C+4/+BqtH/kLfc/4qv2f92o8r/gq7T/4at0/+CrND/g7XV/4u7
+ 2/+KrsP/zNjY/+Ts5f/l7OX/5+7n/+jv6P/p8On/6/Pp/+vz6v/q8er/cIio/3GGp/9jepz/Yn6f/2GK
+ qP9cfZn/U3CV/2yOuP+Kud//jb3g/47E4/+QxuT/kcfl/5DL6/94qc//cpzF/4O32P9+sdL/gKfP/8bl
+ +P/M7Pv/zOv6/8zq+/+pxu//gJ7S/4u33f96mMP/ia7V/5G74f+Stt3/lr/i/3ieyP97oMn/jLbb/5G3
+ 2/+Jstj/hK3U/4ix1/+Msdn/jrPZ/4Cjyf+EpMr/d5S6/4y42v+Nud3/ha7T/4y43/+Dq9b/e6XL/4Ss
+ 0v+Fr9P/fa3P/4nD3/+BtNb/oMTQ/97n4f/j6+T/5Ozl/+bu5f/o7+f/6/Hp/+3y6f/s8en/6vHq/3qS
+ rv93jKz/bYOl/3GLrv9cepz/cZa3/1Btk/9khKz/ibnf/4694v+QxOX/kMfm/5DH5v+Ryur/e6zR/3Ob
+ xv+Et9j/fKzP/4Gv0f+px+n/zOz8/8zr+//F4/f/jaje/4Ghy/+Ott3/hqnP/5XB5v+Rtt3/lr/h/4u2
+ 2f96mcP/ia3S/5K63f+Hs9j/g63S/4qu1f+MsNf/jbLZ/4yy2P98ocf/f6DH/36oy/+QwOL/iLHW/5W/
+ 5P+Fs9z/eazV/36w0/+EsdT/g7LT/3mrzP+Z1Ov/iLjU/7XL0f/i6+P/5e3m/+bu5//n7+j/6PDo/+rx
+ 6P/s8+n/6/Lq/+307f99lrD/c4mn/26Fpv9yjK7/dZG0/1x9of9/osT/WXec/4S02v+PveT/ksPo/5HH
+ 5/+Qx+f/j8rq/3+w1P9ylsP/iLjb/4Ct0f+VxeP/gJ/M/8jo/P/I6P3/pL/k/3uYzf+Ov+L/irrf/5jI
+ 6v+Ru+L/lL7h/5C+4P9xnsf/gKzU/4253P+Mut3/gq7U/4iw1f+KrtX/jbLY/4yy2P+DqtD/gavP/3id
+ w/+Lv+L/kcTo/4q02f+VweX/ia3X/3+kzf+FstP/hbPU/4S00/+EttT/ls3k/5XE1v/S3t3/5+/o/+jv
+ 6P/o7+j/6PDp/+nw6f/q8en/7PPq/+707P/0+fP/f5u1/2uAn/9rgaL/bYSm/3+bvf9kgKT/dZi8/3ic
+ vv94pcn/jLzj/5PG6/+Tyev/k8rq/5HM7f+Et9n/aY29/5HB5f+Ov+H/k8bk/3yfx/+31fD/yej6/4mk
+ 0/99osz/n9Tw/5PF5v+Ww+n/l8Pq/5PA5f9+tNv/cqPO/4a44P+QwOX/hbTa/4q01/+Lstf/iLHX/4u1
+ 2f+LtNj/faXK/4Kkyv+Dr9H/kMPl/5XE5v+PvuH/jsDl/4W13/97qtH/hbfV/4a11P+EttX/js3k/47J
+ 4/+jydb/5Ozm/+nw6f/p8On/6O/o/+nw6f/r8+r/7PPq/+306//v9ez/9fnz/4mlvv9yh6b/b4Ol/2uA
+ ov+Am73/haTG/1x7n/+LttT/cZq8/42+5f+Qxer/nNHw/6TT7/+o3PX/jcPh/2WKvf+r2PX/rNn0/5XC
+ 4v+Ns9X/ka/X/7fS7v+Ens//jrna/57Q7v+Tw+j/p870/7Xb9v+gx+j/c5fD/32m0/+hyer/jrnd/5e9
+ 4/+awuX/mMLl/5bB5v+MuNz/hbPW/3ynzP95osb/kMTk/5LI6P+VxOX/k8Ll/4u94/+FvuX/ea7S/4W5
+ 1/+IuNX/hbnX/5rb8P+c1+v/us/W/+fv6P/p8On/6fDp/+nw6f/q8er/6/Lr/+vz6v/s8+r/7PTr//L4
+ 8f+OrMP/fpW0/4OWu/9sfqL/epCx/4qpyv9wj7D/eZ/B/4W3zP+Ju+H/jcHm/5TK6/+o2PH/lMzq/5LL
+ 6f9fgbP/nMvs/6vb9P+MvNv/nc/r/3CQvv+VsNz/eZPD/53M6v+byer/ocvt/5nD4/+aw+H/jLLV/3WR
+ vf+Yv+H/rdbw/53E5v+s0PD/tt75/6bR8f+x2/f/l7/k/3+rz/99psz/g7TV/5HI5/+YzOz/kcPm/5LF
+ 6P+LveL/iLre/4Sz0v+Kutb/irzY/43I4f+Uzub/qNjm/9jh3v/o7+j/6fDp/+nw6f/p8On/6fDp/+rx
+ 6v/q8er/6fDp/+rx6f/u9ez/javA/4qmwv+Kn8P/anyg/3aJq/+Nqsn/jbHP/2WGq/+azOH/fa7Q/4u9
+ 4/+MxOf/jsfn/4rG5f+RzOr/W32r/4m83v+Qx+T/jsHf/4/D3/9qj7b/fZjN/3iayf+Vyej/mMbn/5bH
+ 5P+Twt//ksPg/3GZvf9+rM//mMnn/5XG5f+VxeX/lsPk/6nS8P+q1PL/pc/t/5jA4v+Gr9T/dZ3D/57Q
+ 7v+a0O3/p9Tx/5DB5f+Qw+f/i73i/4W42v+Lvdn/jsDa/4rB2/+Qy+X/oNjp/6/H0f/j7Ob/6O/o/+rx
+ 6v/p8On/6fDp/+nw6f/p8er/6vHr/+rx6//q8Ov/6/Lr/4ylsv+Nrcb/kabK/3uOsf9zhaT/lK/M/5Cx
+ z/96nrz/garN/32uy/+Hud3/ib3h/4jA4P+JwuD/isbj/2GIsv99r9L/j8Xi/5HH4/+Lvdv/fqXF/3KP
+ xv97pM3/kcTj/5bG5f+Rw9//kcLd/4W31P9xmrz/jr/b/5jI4/+Xx+T/k8Xk/5PD4/+WxeX/k8Pj/429
+ 3v+ZxuP/d6HF/4y+3v+f0/D/m83r/6jQ7v+SweX/lsXn/4zD5v95r9P/i8Ld/4vD3v+HwNz/jMXf/6za
+ 5f/J1Nb/5u7o/+nx6v/r8uv/6/Lr/+vy6//r8+z/6vLt/+vz7//t9O//7fTv/+307v/B0dL/i7DH/5Kp
+ zf+KnsP/e46q/5Cnw/+LpcT/ncLc/3KTu/9pkrf/gK/Q/4e01/+Htdf/hrnY/4e/3P9pk7j/cpm//43F
+ 4P+QxuH/jr/b/4Wtzf9lgLD/fa3S/5DC4P+VxuD/kcPa/5DC2/9yoL//grLR/5XI4v+Wx+P/l8jk/5XG
+ 4v+WxuT/lcbl/47A4f+SwuL/hK3O/3mmxv+az+v/lszp/6TR7v+Uxef/nsvr/5zL6P+AuuH/hLbW/5HH
+ 4/+Mw97/jMTe/53X6f+txc7/5O7p/+ny7f/t9e//7fXt/+317f/t9O3/7vXu/+307f/u9e7/8Pbw//L4
+ 8f/0+PL/6e/q/4+2w/+Us9H/oLva/4meu/+FmbT/iaC9/6XI4f+Ts9D/Y4qv/22Yuv9+s9P/grPV/4K3
+ 1f+EvNf/cqHC/2eLs/+Nwt//j8Xf/4/F4P9/sM//VnGc/4K42P+Owd//jcLc/4zB2f+IvNX/cJ68/43A
+ 2/+Tx+H/ksbi/5HF4/+SxeP/ksbk/5DD4v+MwOD/jbvb/2eSs/+Qx+b/kcnm/5PI6P+Wyen/lcrr/6DQ
+ 7f+Xyer/e67W/5HB4v+j1u//j8bg/5LJ4f+jz97/ztnZ/+jx6//v9e//9fry//P58P/v9u//7vXu/+71
+ 7v/t9O3/7fPt/+/17//u9e7/7vTt//f68/+uz8//rN7n/6fR4f+Mp7//m7bM/4+mwf+oxeD/rczk/2eM
+ q/94p8b/bpq7/3+x0v+AstL/gLfV/3621P9ehqz/gLTT/4zD3f+Nw9z/hrjW/19+pf+Fvdv/ir7b/4u/
+ 2P+Lv9b/fbDJ/4Kzzv+Qw93/kcXf/47D3v+Owd7/kMLf/5DD4P+Lvtz/kMLg/2OJq/+Kvtr/kcjj/4/G
+ 5f+Vyuj/k8jn/5PJ6f+Wze3/ib/j/4a01/+q1+//n8/p/5bM5v+e0uf/s8bO/+fu6P/r8+z/8ffv//X6
+ 8v/1+vH/8Pfw//D38P/x+PH/8Pfw/+707//u9O//7PPs/+nw6f/4+vL/wNXQ/63e4P+fyM7/r7vD/6bD
+ 1f+qyN//p8bg/6nF2/+Yqrn/dKTA/26cvf9yn8D/gLHR/4Cz0/+CuNb/api5/2yWuv+Kwt3/i8La/4q+
+ 2v9mh6v/iMDc/4vA2v+KvtX/ir7V/3uux/+Kv9j/jMHa/43C3P+Mwdv/jsHb/5DD3f+Pwd3/j73a/26W
+ tf+BttH/j8bd/5LH4P+UyOH/k8jj/5LI5f+Syeb/kMjm/3alxv+Wx+P/vOP1/57P6f+r3O//o8DS/+Pt
+ 6f/n8e3/6/Pu//D38P/1+vT/8/nx//D38P/y+PL/9Prz//D38P/t8+7/7PPu/+vy7f/o8u7/+Pvy//L2
+ 7f/M1tL/3ODa//j49f/K0NL/psPQ/6jG1f/Dy8//8fPs/4Kit/90nr3/bJC1/3qox/+Bs9L/grXT/4G2
+ 0v9agqX/f7LR/4m/2f+Ivdj/cJW3/4e/2f+Jv9j/ib3U/4m+1f9/s8v/isDY/4rA2P+KwNn/isDZ/43B
+ 2/+Nw9z/iL7a/22cuv+CuNP/jMLY/4zC2v+Qxd3/k8je/5LH4P+Sx+L/k8rl/3iuz/+Fu9j/jsXi/5fL
+ 6f+z4/b/stTh/93n5v/n8/D/8Pjz//T69P/3/PX/+Pz2//T68//x+PH/9vr1//b79P/v9u//7PPt/+71
+ 8P/v9vD/9fn1//b58P/3+vH/9/nx//n79P/9/fn/+fr3//Lz7v/y8+7/+/v1//v79f/f5uP/epax/3Sc
+ vv9uk7b/fazI/4Oz0v+DttL/e6zL/16Cpv+HvNr/hrrX/3+qyf9/s87/iL7X/4a80/+Gu9P/frPL/4m/
+ 1/+Iv9b/ib/X/4m/2P+Jvtj/gK/L/2yWs/+BttD/isDX/42+1f+OwNf/jMHY/43F3P+NxuH/j8jj/3+3
+ 1f99s9H/h7zZ/4vA3f+az+f/ttjl/9ni4P/o8u3/8Pjz//f79f/3+/X/+Pz2//n99//4/Pb/9vr0//f7
+ 9f/1+vT/7vXu/+zz7f/s8+3/8Pbv//n89//6/PX/+/z1//r89f/7/Pb/+/v2//z8+P/8+/f//f33//z8
+ 9v/7+/X/9Pfw/9bf3f95lq//bpm7/2iRtP96qcX/g7XT/4Kz0f93pMT/Yoqr/4i72v+Ft9X/eKjD/4W/
+ 2P+Eu9T/hrnT/3yxyv+Hv9f/hr7X/4e91v+DuNL/b566/3Kfu/+Ftc3/isDV/4i/1f+KvtP/i77U/4vA
+ 1v+Jwdn/icHd/3621P96sM7/hLnU/4i71v+MwNv/qs/i/9Pf4f/n8Oz/6/Xv//X79f/3+/X/+f33//n8
+ 9v/5/Pb/+/33//n89v/4/Pb/9vv0//L58v/v9vD/7fTu/+717v/2+vP/+/z5//39+P/+/fj//P34//r7
+ 9v/6/Pb/+/v2//v79f/6+vT/9Pbw/+zw6v/p7ur/4+rm/5arvP9rkrb/bJC2/2yXt/+BsM7/eq/O/2WO
+ sf9jhKj/daHD/22auP+Hv9j/hLnU/4G20/+Bt9H/h73V/4O61P9yo7//cqO//3+20P+CudL/hLrR/4S6
+ 0f+Cu9P/grvT/4O71P+Gu9X/iLzY/3+00f97rMv/g7TS/4S31P+Gutb/m8Xa/9Hf4v/k8fD/6fPx//H4
+ 9P/3+/b/9vv0//n89f/8/vj//P74//z++f/7/ff/+v33//f89P/3+/X/9vr0//X58//0+fP/9fnz//z9
+ +v/8/Pv//P37//z9+v/8/fn//Pz3//v79f/6+vT/9/nz//Hz7f/p7ub/6/Dt//X49P/r8Ov/vsnO/4KY
+ s/93lrz/ZYWr/1qBo/9ZgKP/YoSp/2qQsf9chKT/daXB/3Giw/91qMj/daXE/3SkwP91pcH/g7LN/4a8
+ 0v+CudH/hLfO/4K3zv+Ets7/hbrR/4W50/+Ft9P/hbTR/3SlxP95qsr/g7HQ/4Sz0P+HttH/nb3Q/9Hf
+ 4P/j7+7/6fPx//T59f/6/ff/+vz2//b68v/2+/T/+/76//3+/P/9/vv//P35//r89v/3+/X/+Pz2//b6
+ 9P/5/Pb//P35//v9+P/8/fv//Pz7//z8/P/9/f3//P37//z9+f/8/Pb/+vvz//b48f/x9O7/6/Do/+/0
+ 7//7/Pj/9Pfy/+zy7v/e5eT/qLbC/2+Os/90mcT/cJO7/2OAqf9SbZP/VXOY/2aPsP9wmrf/Z5Gy/3uo
+ x/+CttL/g7LO/4SyzP+EudH/gbXP/4S1z/+BuND/gbbQ/4K50v+CttH/dqXC/26cu/95qMj/gbDP/36v
+ zP97q8n/t8zX/93p6P/h7uz/5PDu/+r08v/1+/X//P34//r9+f/3+/X/9/v1//z++v/7/vz/+/78//z+
+ +f/7/ff/+vz2//v9+P/5+/b/+/z3//3++//9/vv//P37//z9+//8/fv//f38//39/P/9/fz//f36//v8
+ +P/5+/T/9/r0//L27v/19/H//f33//v79f/2+PP/7/Pu/+ft6P/j7e//tMHP/4Oau/9hf67/WXak/2eJ
+ sP9ki67/XH6l/1Buk/9mj7D/cqTA/3Wkwf98qsb/frLN/4Kzzv+Dss3/gLLM/3mpxP9zob3/cJ+7/3ys
+ yP9+r8v/frDN/3KoyP99rsf/scrS/+Dr6P/k7+z/6fLv/+v08P/w9/P/+Pz2//z9+v/8/vz//P76//z+
+ +f/8/vv/+/78//v+/P/7/fv//P34//z9+P/9/vv//P36//z9+v/9/vv//f78//z8/P/8/fz//P37//3+
+ /P/9/fz//f39//z9+//8/fz//P38//z9/P/7/Pr//f35//79+P/9/fj//f34//r79v/3+fX/+fz6//j7
+ +f/v9PP/y9Pa/6Cuwf+Sp77/j6q//2WLqv9Xe6T/X4Gn/2mQs/9znL3/daHA/3Kiv/9xnrz/cJ24/3al
+ wP98rMj/eq7K/3muyv97sMv/cqnG/2ycu/+Dqb//wuXm/9Db2v/q8uz/8/jy//X69P/2+/T/+fz2//z+
+ +f/8/vv/+/78//z++//8/vv/+/77//v+/P/7/vz/+/78//z+/P/9/vv//f78//z9/P/7/fz//P78//z+
+ /f/9/f3//P38//z9+//9/fz//f79//39/P/9/vz//f38//39/P/8/fz//P38//39/P/8/fv//P37//z9
+ +//8/fv//P37//z9/P/8/fz//P38//v8+//5+/j/8/bz/+/08v/u8/D/qrrG/22LrP9khaz/cZC1/3WW
+ uv95nL7/epy9/36gvv+HqML/mLfM/4+vxf+CssX/dqK1/5e/yv+Nq7r/udzi/8vX2P/x9/D/+vz3//z+
+ +P/8/fj//P34//z9+f/8/fv/+/38//v9/P/7/fz/+/38//v9/P/7/fz/+/78//v9/P/7/fz/+/78//z+
+ /P/7/fz/+/38//v+/f/8/f3//Pz8//z9/P/9/fz//f38//39/P/9/vz//f78//3+/P/8/fv//f38//39
+ /P/9/fz//f38//39/P/9/fz//P37//z8+v/8/fz//f39//z8/P/8/fz//P38//v8+v/7/Pz/9/r3/+js
+ 5v/k7Ov/3ubs/8/Y4P/L1d3/y9ff/9Hc4f/c5+j/3+vr/+Ht7P/e6Of/ucrM/6jIzf+13+T/uOHm/8nY
+ 2f/y+PH/+v35//v9+//7/fv/+/37//v9+//8/vv/+/38//v+/P/7/v3/+/78//v9/P/7/f3/+/38//v9
+ /P/7/fz/+/38//v9/P/7/vz/+/78//v9/P/7/f3//P38//z8/P/8/Pz//f39//39/f/9/fz//f78//3+
+ /P/9/vz//f78//3+/P/9/vz//P37//39/P/9/Pz//Pz8//v8+f/6+vL//P37//39/P/8/Pz//Pz7//z9
+ +//8/fz//Pz8//v8+v/y9ez/7fPw//r8+//6/Pr/+Pv3//b69v/1+vX/8fj0/+728//v9vP/8Pfx/+vy
+ 7P/f6OT/yNna/9Pi3//2+/P/+f35//r9+//7/fv/+/78//r9+//7/fv//P37//r9/P/6/fz/+v38//v+
+ /P/7/fz/+/38//v9/f/7/f3/+/37//v9+//7/fv/+/78//v9/P/7/fz/+/38//v+/P/8/fv//Pz8//39
+ /P/9/vz//f78//3+/P/9/vz//f78//3+/P/8/fv//P37//39+//9/fj//fz6//z8/P/8/Pn/9Pfs//v8
+ +f/9/fz//Pz7//z8+f/8/ff//f38//z8/P/8/Pr/9vnw//P48f/7/fr//P36//v89//6/Pb/+fv1//T6
+ 8v/y+fL/8/rz//L58f/z+vL/8/rx//T68f/3/fT/+/35//r9+//6/fv//P77//3++//6/fv/+/37//z9
+ +f/7/fz/+/39//v9/P/7/vz/+/78//v9/P/7/f3/+/39//v9/f/9/fv/+/32//z9+v/7/f3/+/39//v9
+ /f/9/f3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
+
+
+
\ No newline at end of file
diff --git a/Ribbon1.cs b/Ribbon1.cs
index cda2be4..a488bde 100644
--- a/Ribbon1.cs
+++ b/Ribbon1.cs
@@ -255,6 +255,9 @@ private void Ribbon1_Load(object sender, RibbonUIEventArgs e)
charMatchForm = new CharMatchForm();
charMatchPane = Globals.ThisAddIn.CustomTaskPanes.Add(charMatchForm, "设置匹配字符");
+ //颜色对话框自定义颜色集
+ MyColorDialog.CustomColors = new int[] { 14282722, 13684944, 13298939, 14869500 };
+
//
#if DEBUG
KeyAllTrue();
@@ -318,11 +321,12 @@ void AutoUpdate()
JObject js_latest = ImportJSON(latest_info);
Version ver_cur = new Version(Properties.Resources.current_ver);
- Version ver_latest = new Version(js_latest["tag_name"].ToString().Substring(1));
+ string latest_version = js_latest["tag_name"].ToString().Substring(1);
+ Version ver_latest = new Version(latest_version);
if (ver_cur < ver_latest)
{
- DialogResult dr = MessageBox.Show("插件更新啦,去看看吧!", "分点作答", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign, false);
+ DialogResult dr = MessageBox.Show("插件更新啦,去看看吧!\r\n\r\n当前版本:" + Properties.Resources.current_ver + "\r\n最新版本:" + latest_version, "分点作答", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign, false);
if (dr == DialogResult.OK)
{
@@ -2142,7 +2146,7 @@ public Color Wdcolor2Color(Word.WdColor color_wd)
{
//convert WdColor to color class
- string color_wd16 = Convert.ToString(int.Parse(color_wd.ToString()), 16);
+ string color_wd16 = Convert.ToString(((int)color_wd), 16);
string b_str16 = color_wd16.Substring(0, 2);
string g_str16 = color_wd16.Substring(2, 2);
string r_str16 = color_wd16.Substring(4, 2);
@@ -2189,70 +2193,87 @@ private void styleShading_Click(object sender, RibbonControlEventArgs e)
{
//设置样式底纹颜色
- string style_name = Interaction.InputBox("输入样式名称", "样式底纹").ToString();
+ PatternSelectForm patterns = new PatternSelectForm(app.Documents);
+ patterns.ShowDialog();
+ string style_name = patterns.selectedName;
+
+ // string style_name = Interaction.InputBox("输入样式名称", "样式底纹").ToString();
int style_exsit = 0;
Word.WdColor style_color;
- for (int i = 1; i < Globals.ThisAddIn.Application.ActiveDocument.Styles.Count; i++)
+ if (style_name != "")
{
- if (Globals.ThisAddIn.Application.ActiveDocument.Styles[i].NameLocal == style_name)
+ for (int i = 1; i < Globals.ThisAddIn.Application.ActiveDocument.Styles.Count; i++)
{
- style_exsit = 1;
- break;
+ if (Globals.ThisAddIn.Application.ActiveDocument.Styles[i].NameLocal == style_name)
+ {
+ style_exsit = 1;
+ break;
+ }
}
- }
- if (style_exsit == 1)
- {
- if (Globals.ThisAddIn.Application.ActiveDocument.Styles[style_name].ParagraphFormat.Shading.BackgroundPatternColor != Word.WdColor.wdColorAutomatic)
+ if (style_exsit == 1)
{
- MyColorDialog.Color = Wdcolor2Color(Globals.ThisAddIn.Application.ActiveDocument.Styles[style_name].ParagraphFormat.Shading.BackgroundPatternColor);
- MyColorDialog.FullOpen = true;
- }
+ if (Globals.ThisAddIn.Application.ActiveDocument.Styles[style_name].ParagraphFormat.Shading.BackgroundPatternColor != Word.WdColor.wdColorAutomatic)
+ {
+ MyColorDialog.Color = Wdcolor2Color(Globals.ThisAddIn.Application.ActiveDocument.Styles[style_name].ParagraphFormat.Shading.BackgroundPatternColor);
+ MyColorDialog.FullOpen = true;
+ }
- DialogResult dr = MyColorDialog.ShowDialog();
+ DialogResult dr = MyColorDialog.ShowDialog();
- if (dr == DialogResult.OK)
- {
- style_color = GetColor(MyColorDialog.Color);
- Globals.ThisAddIn.Application.ActiveDocument.Styles[style_name].ParagraphFormat.Shading.BackgroundPatternColor = style_color;
-
- styleShadingChoice = 1;
- StyleShadeSplit.Image = Properties.Resources.样式底纹;
+ if (dr == DialogResult.OK)
+ {
+ style_color = GetColor(MyColorDialog.Color);
+ Globals.ThisAddIn.Application.ActiveDocument.Styles[style_name].ParagraphFormat.Shading.BackgroundPatternColor = style_color;
+
+ styleShadingChoice = 1;
+ StyleShadeSplit.Image = Properties.Resources.样式底纹;
+ }
+ }
+ else
+ {
+ MessageBox.Show("样式输入错误!", "样式底纹");
}
}
- else
- {
- MessageBox.Show("样式输入错误!", "样式底纹");
- }
+
}
private void styleShadeClear_Click(object sender, RibbonControlEventArgs e)
{
//删除样式底纹颜色
- string style_name = Interaction.InputBox("输入样式名称", "样式底纹").ToString();
+
+ PatternSelectForm patterns = new PatternSelectForm(app.Documents);
+ patterns.ShowDialog();
+ string style_name = patterns.selectedName;
+
+ //string style_name = Interaction.InputBox("输入样式名称", "样式底纹").ToString();
int style_exsit = 0;
- for (int i = 1; i < Globals.ThisAddIn.Application.ActiveDocument.Styles.Count; i++)
+ if (style_name != "")
{
- if (Globals.ThisAddIn.Application.ActiveDocument.Styles[i].NameLocal == style_name)
+ for (int i = 1; i < Globals.ThisAddIn.Application.ActiveDocument.Styles.Count; i++)
{
- style_exsit = 1;
- break;
+ if (Globals.ThisAddIn.Application.ActiveDocument.Styles[i].NameLocal == style_name)
+ {
+ style_exsit = 1;
+ break;
+ }
}
- }
- if (style_exsit == 1)
- {
- Globals.ThisAddIn.Application.ActiveDocument.Styles[style_name].ParagraphFormat.Shading.BackgroundPatternColor = Word.WdColor.wdColorAutomatic;
+ if (style_exsit == 1)
+ {
+ Globals.ThisAddIn.Application.ActiveDocument.Styles[style_name].ParagraphFormat.Shading.BackgroundPatternColor = Word.WdColor.wdColorAutomatic;
- styleShadingChoice = 2;
- StyleShadeSplit.Image = Properties.Resources.样式底纹清除;
- }
- else
- {
- MessageBox.Show("样式输入错误!", "样式底纹");
+ styleShadingChoice = 2;
+ StyleShadeSplit.Image = Properties.Resources.样式底纹清除;
+ }
+ else
+ {
+ MessageBox.Show("样式输入错误!", "样式底纹");
+ }
}
+
}
private void StyleShadeSplit_Click(object sender, RibbonControlEventArgs e)
diff --git a/WordAddIn1.csproj b/WordAddIn1.csproj
index 9802646..26d85c5 100644
--- a/WordAddIn1.csproj
+++ b/WordAddIn1.csproj
@@ -206,6 +206,12 @@
CodeControlForm.cs
+
+ Form
+
+
+ PatternSelectForm.cs
+
Code
@@ -221,6 +227,9 @@
CodeControlForm.cs
+
+ PatternSelectForm.cs
+
PublicResXFileCodeGenerator
Designer