From c99a1ca61649583e23b6e641b39b473d446d07e5 Mon Sep 17 00:00:00 2001
From: simonyan <315082291@qq.com>
Date: Sun, 20 Oct 2024 12:07:46 +0800
Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=AE=8C=E6=88=90=E4=BB=8E=E8=8F=9C?=
=?UTF-8?q?=E5=8D=95=E6=A0=8F=E8=BF=9B=E8=A1=8C=E7=BB=98=E5=88=B6=E4=BA=95?=
=?UTF-8?q?=E3=80=81=E8=BE=B9=E7=95=8C=E3=80=81=E6=96=AD=E5=B1=82=E3=80=81?=
=?UTF-8?q?=E8=A3=82=E7=BC=9D=E7=9A=84=E5=8A=9F=E8=83=BD=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Bin/Config/Common/BtnCmds.dat | 2 +-
Bin/XmlFiles/BtnCmds.xml | 12 ++++----
Include/nmNum/nmSubWnd/nmSubWndMain.h | 3 ++
Src/nmNum/nmPlot/nmGuiPlot.cpp | 7 +++--
Src/nmNum/nmPlot/nmGuiPlotCmdHelper.cpp | 17 ++++++------
Src/nmNum/nmPlot/nmObjLineCrack.cpp | 2 +-
Src/nmNum/nmPlot/nmObjLineCrackTool.cpp | 2 ++
Src/nmNum/nmPlot/nmObjLineFaultTool.cpp | 2 ++
Src/nmNum/nmPlot/nmObjLineTool.cpp | 2 +-
Src/nmNum/nmSubWnd/nmSubWndMain.cpp | 37 +++++++++++++++++--------
10 files changed, 55 insertions(+), 31 deletions(-)
diff --git a/Bin/Config/Common/BtnCmds.dat b/Bin/Config/Common/BtnCmds.dat
index 0fe2d00..e9d9555 100644
--- a/Bin/Config/Common/BtnCmds.dat
+++ b/Bin/Config/Common/BtnCmds.dat
@@ -1 +1 @@
-77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu5/nmoTnu5jlm77pg6jliIbnmoTlip/og73mjInpkq4gICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBBdXRob3Iocyk6IHdhbmd6ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgRGF0ZTogMjAyNDAzMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLSDpg6jliIbmlbDmja7pobnor7TmmI4NCiAgICAgICAgSUQ6ICAgICAgICAgIOWUr+S4gOagh+ivhg0KICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICBUZXh0ICAgICAgICAg5YaF5a6577yM6YCa5bi45Lit5paHDQogICAgICAgIEljb27vvJogICAgICAg5Zu+5qCHDQogICAgICAgIFRpcHPvvJogICAgICAg6L6F5Yqp6K+05piODQogICAgICAgIENoZWNrTW9kZe+8miAgQ2hlY2vnirbmgIHmqKHlvI/vvIzpu5jorqTkuLowDQogICAgICAgICAgICAgICAgICAgICAgICAw77ya54K55Ye75LmL5ZCO5peg54q25oCB77yM5Y+q5piv5Y2V57qv55qEQWN0aW9u77yM5q+U5aaCIOWKoOi9veWOi+WKm+aWh+S7tg0KICAgICAgICAgICAgICAgICAgICAgICAgMTog54K55Ye75LmL5ZCO5peg54q25oCB77yM5L2G6ZyA6KaB5oqK5YW25a6DQ2hlY2tlZOWOu+mZpO+8jOW5tuS4lOWbnuW9kuWIneWni+eKtuaAge+8jOWmgiDmgaLlpI3mkqTplIDjgIHmlL7lpKfjgIHnvKnlsI/jgIHljp/lp4vnirbmgIENCiAgICAgICAgICAgICAgICAgICAgICAgIDI6IOeCueWHu+S5i+WQjuacieeKtuaAge+8jOS9humcgOimgeaKiuWFtuWug0NoZWNrZWTljrvpmaTvvIzkuIDml6bmk43kvZzlrozmiJDlkI7vvIzlm57lvZLliJ3lp4vnirbmgIHvvIzlpoIg5o+S5YWl54K544CB5o+S5YWl54m55b6B57q/562JDQogICAgICAgICAgICAgICAgICAgICAgICAz77ya5oyB57ut55qE54q25oCB77yM5q+U5aaCIOawtOW5s+e8qeaUvi/lnoLnm7TnvKnmlL7vvIxNb3Zl77yM5qGG6YCJ57yp5pS+562J77yM54K55Ye75ZCO77yM5L+d5oyBQ2hlY2vnirbmgIHvvIzkuIDnm7TliLDkuozmrKHngrnlh7vmiJbngrnlh7vlhbblroMNCiAgICAgICAgICAgICAgICAgICAgICAgIDQ6IOW8gOWFs+exu+eahOaMiemSrueKtuaAge+8jOavlOWmguaYvuekuuWNgeWtl+e6v++8jOaMieS4i+S4uuW8gOOAgeWGjeasoeaMieS4i+S4uuWFs++8jOS4jeW9seWTjeWFtuWug+aMiemSrueKtuaAgQ0KICAgICAgICAgICAgICAgICAgICAgICAgNe+8muWFtuWug++8iFRPRE/vvIkNCi0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCg0KPFJvb3Q+DQoNCiAgICA8IS0tIOWRveS7pOWfuuehgOWumuS5iSAtLT4NCiAgICA8QnV0dG9ucyBOYW1lPSIxIj4NCg0KICAgICAgICA8IS0tIOWbvuWFgyAtLT4NCiAgICAgICAgPEJ0biBJRD0iMTAwIiBOYW1lPSJQb2ludCIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249Ikluc2VydFBvaW50IiBUaXBzPSLmj5LlhaXngrkiIC8+DQogICAgICAgIDxCdG4gSUQ9IjEwMSIgTmFtZT0iTGluZSIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249Ikluc2VydExpbmUiIFRpcHM9IuaPkuWFpeebtOe6vyIgLz4NCiAgICAgICAgPEJ0biBJRD0iMTAyIiBOYW1lPSJSZWN0IiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iSW5zZXJ0UmVjdCIgVGlwcz0i55+p5b2i5qGG6YCJIiAvPg0KICAgICAgICA8QnRuIElEPSIxMDMiIE5hbWU9IlBvbHlnb24iIFRleHQ9IiIgQ2hlY2tNb2RlPSIyIiBJY29uPSJJbnNlcnRQb2x5Z29uIiBUaXBzPSLmj5LlhaXlpJrovrnlvaIiIC8+DQogICAgICAgIDxCdG4gSUQ9IjEwNCIgTmFtZT0iVGV4dCIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249Ikluc2VydFRleHQiIFRpcHM9IuaPkuWFpeaWh+acrOahhiIgLz4NCiAgICAgICAgPEJ0biBJRD0iMTA1IiBOYW1lPSJCYW5kViIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249Ikluc2VydFZlckJhbmQiIFRpcHM9IuWMuuWfn+W4pijnq5bnm7Qp6YCJ5Y+WIiAvPg0KICAgICAgICA8QnRuIElEPSIxMDYiIE5hbWU9IkJhbmRIIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iSW5zZXJ0SG9yaUJhbmQiIFRpcHM9IuWMuuWfn+W4pijmsLTlubMp6YCJ5Y+WIiAvPg0KICAgICAgICA8QnRuIElEPSIxMDciIE5hbWU9IkltYWdlIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iSW5zZXJ0UGljIiBUaXBzPSLmj5LlhaXlm77niYciIC8+DQogICAgICAgIDxCdG4gSUQ9IjEwOCIgTmFtZT0iQ3VydmVGcmVlIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iSW5zZXJ0Q3VydmUiIFRpcHM9IuaPkuWFpeiHqueUseabsue6vyIgLz4NCg0KICAgICAgICA8IS0tIOmrmOe6p+WbvuWFgyAtLT4NCiAgICAgICAgPEJ0biBJRD0iMTU3IiBOYW1lPSJDdXJ2ZVBQRCIgVGV4dD0iIiBDaGVja01vZGU9IjQiIEljb249IkN1cnZlUFBEIiBUaXBzPSLmj5LlhaVQUETmm7Lnur8iIC8+DQogICAgICAgIDxCdG4gSUQ9IjE1NiIgTmFtZT0iU0xSX1BPSU5UIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iSW5zZXJ0UG9pbnQiIFRpcHM9IuaPkuWFpeeJueW+geeCuSIgLz4NCiAgICAgICAgPEJ0biBJRD0iMTUwIiBOYW1lPSJTTFJfMCIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249IlJhZGlhbEZsb3ciIFRpcHM9IuaPkuWFpeeJueW+gee6vygwKSIgLz4NCiAgICAgICAgPEJ0biBJRD0iMTUxIiBOYW1lPSJTTFJfNDEiIFRleHQ9IiIgQ2hlY2tNb2RlPSIyIiBJY29uPSJCaWxpbmVhckZsb3ciIFRpcHM9IuaPkuWFpeeJueW+gee6vygxLzQpIiAvPg0KICAgICAgICA8QnRuIElEPSIxNTIiIE5hbWU9IlNMUl8yMSIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249IkxpbmVhckZsb3ciIFRpcHM9IuaPkuWFpeeJueW+gee6vygxLzIpIiAvPg0KICAgICAgICA8QnRuIElEPSIxNTMiIE5hbWU9IlNMUl8xIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iVW5pdFNsb3BlIiBUaXBzPSLmj5LlhaXnibnlvoHnur8oMSkiIC8+DQogICAgICAgIDxCdG4gSUQ9IjE1NCIgTmFtZT0iU0xSXzIxTmVnYXRpdmUiIFRleHQ9IiIgQ2hlY2tNb2RlPSIyIiBJY29uPSJTcGhlcmljYWxGbG93IiBUaXBzPSLmj5LlhaXnibnlvoHnur8oLTEvMikiIC8+DQogICAgICAgIDxCdG4gSUQ9IjE1NSIgTmFtZT0iTGluZVBhcmFsbGVsIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iTGluZVBhcmFsbGVsIiBUaXBzPSLmj5LlhaXlubPooYznur8iIC8+DQoNCiAgICAgICAgPCEtLSBXZWxsTWFwIC0tPg0KICAgICAgICA8QnRuIElEPSIxODAiIE5hbWU9IldfViIgVGV4dD0iIiBDaGVja01vZGU9IjIiICBJY29uPSJJbnNlcnRQb2ludCIgVGlwcz0i55u05LqVIiAvPg0KICAgICAgICA8QnRuIElEPSIxODEiIE5hbWU9IldfSCIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249Ikluc2VydExpbmUiIFRpcHM9IuawtOW5s+S6lSIgLz4NCiAgICAgICAgPEJ0biBJRD0iMTgyIiBOYW1lPSJXX01MIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iSW5zZXJ0UmVjdCIgVGlwcz0i5aSa5q615LqVIiAvPg0KDQogICAgICAgIDwhLS0g57yW6L6R5Y+K5Lqk5LqSIC0tPg0KICAgICAgICA8QnRuIElEPSIyMDAiIE5hbWU9IlVuZG8iIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJVbmRvIiBUaXBzPSLmkqTplIAiIC8+DQogICAgICAgIDxCdG4gSUQ9IjIwMSIgTmFtZT0iUmVkbyIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IlJlZG8iIFRpcHM9IuaBouWkjSIgLz4NCg0KICAgICAgICA8QnRuIElEPSIyMDgiIE5hbWU9IlNlbGVjdCIgVGV4dD0iIiBDaGVja01vZGU9IjMiIEljb249IkFycm93IiBUaXBzPSLliIfmjaLkuLrpgInmi6nmqKHlvI8iIC8+DQogICAgICAgIA0KICAgICAgICA8QnRuIElEPSIyMDIiIE5hbWU9IlNlbGVjdE11bHRpIiBUZXh0PSIiIENoZWNrTW9kZT0iMyIgSWNvbj0iTXVsdGlTZWxlY3QiIFRpcHM9IuWkmumAiSIgLz4NCiAgICAgICAgPEJ0biBJRD0iMjAzIiBOYW1lPSJTZWxlY3RSZWN0IiBUZXh0PSIiIENoZWNrTW9kZT0iMyIgSWNvbj0iUmVnaW9uU2VsZWN0IiBUaXBzPSLmibnph4/moYbpgInngrkiIC8+DQogICAgICAgIDxCdG4gSUQ9IjIwNCIgTmFtZT0iRXhjbHVkZVJlY3QiIFRleHQ9IiIgQ2hlY2tNb2RlPSIzIiBJY29uPSJFeGNsdWRlUmVjdCIgVGlwcz0i5qGG6YCJ5YmU6Zmk54K5IiAvPg0KICAgICAgICA8QnRuIElEPSIyMDUiIE5hbWU9IkVyYXNlUmVjdCIgVGV4dD0iIiBDaGVja01vZGU9IjMiIEljb249IkVyYXNlUmVjdCIgVGlwcz0i5qGG6YCJ5Yig6Zmk54K5IiAvPg0KICAgICAgICA8QnRuIElEPSIyMDYiIE5hbWU9Ik1vdmUiIFRleHQ9IiIgQ2hlY2tNb2RlPSIzIiBJY29uPSJNb3ZlIiBUaXBzPSJNb3ZlIiAvPg0KICAgICAgICA8IS0tIDIwMTgwMzE5IDIwN+WKn+iDveebruWJjeWwseaYr+S/ruaUueS4gOS4qm9wTm9uZeaEj+S5ieS4jeWkp++8jOaaguaXtuWOu+aOiSAtLT4NCiAgICAgICAgPEJ0biBJRD0iMjA3IiBOYW1lPSJBbGwiIFRleHQ9IiIgQ2hlY2tNb2RlPSIxIiBJY29uPSJBbGwiIFRpcHM9IlJlc2V0IiAvPg0KDQogICAgICAgIDxCdG4gSUQ9IjIwOSIgTmFtZT0iSGl0UG9pbnQiIFRleHQ9IiIgQ2hlY2tNb2RlPSIyIiBJY29uPSJBZGRQb2ludCIgVGlwcz0i5aKe5Yqg5Zue5b2S54K5IiAvPg0KICAgICAgICA8IS0tIDIwMTgwMzE56ICD6JmR5Yiw55uu5YmN55qE5Yqf6IO977yMMjA05LiOMjEw5a6e546w55qE5Yqf6IO95LiA6Ie0IC0tPg0KICAgICAgICA8QnRuIElEPSIyMTAiIE5hbWU9IlJlc2V0UmVjdCIgVGV4dD0iIiBDaGVja01vZGU9IjEiIEljb249IlJlc2V0UmVjdCIgVGlwcz0i6YeN572u54K5IiAvPg0KICAgICAgICANCiAgICAgICAgPCEtLSDnvKnmlL4gLS0+DQogICAgICAgIDxCdG4gSUQ9IjMwMCIgTmFtZT0iWm9vbUluIiBUZXh0PSIiIENoZWNrTW9kZT0iMSIgSWNvbj0iWm9vbUluIiBUaXBzPSLmlbTkvZPmlL7lpKciIC8+DQogICAgICAgIDxCdG4gSUQ9IjMxMCIgTmFtZT0iWm9vbU91dCIgVGV4dD0iIiBDaGVja01vZGU9IjEiIEljb249Ilpvb21PdXQiIFRpcHM9IuaVtOS9k+e8qeWwjyIgLz4NCiAgICAgICAgPEJ0biBJRD0iMzAxIiBOYW1lPSJab29tUmVjdEluIiBUZXh0PSIiIENoZWNrTW9kZT0iMyIgSWNvbj0iWm9vbVJlY3RJbiIgVGlwcz0i5qGG6YCJ5pS+5aSnIiAvPg0KICAgICAgICA8QnRuIElEPSIzMDIiIE5hbWU9Ilpvb21SZWN0SW5WIiBUZXh0PSIiIENoZWNrTW9kZT0iMyIgSWNvbj0iWm9vbUluViIgVGlwcz0i5qGG6YCJ5pS+5aSnKOerluebtCkiIC8+DQogICAgICAgIDxCdG4gSUQ9IjMwMyIgTmFtZT0iWm9vbVJlY3RJbkgiIFRleHQ9IiIgQ2hlY2tNb2RlPSIzIiBJY29uPSJab29tSW5IIiBUaXBzPSLmoYbpgInmlL7lpKco5rC05bmzKSIgLz4NCiAgICAgICAgPEJ0biBJRD0iMzA0IiBOYW1lPSJab29tUmVzZXQiIFRleHQ9IiIgQ2hlY2tNb2RlPSIxIiBJY29uPSJab29tUmVzZXQiIFRpcHM9IuWOn+Wni+Wkp+WwjyIgLz4NCiAgICAgICAgPEJ0biBJRD0iMzA1IiBOYW1lPSJab29tU2VsZkFkYXB0YXRpb24iIENoZWNrTW9kZT0iMSIgVGV4dD0iIiBJY29uPSJab29tU2VsZkFkYXB0YXRpb24iIFRpcHM9IuiHqumAguW6lOWkp+WwjyIgLz4NCg0KICAgICAgICA8IS0tIOaYvuekuiAtLT4NCiAgICAgICAgPEJ0biBJRD0iNDAxIiBOYW1lPSJTaG93Q3Jvc3NMaW5lIiBUZXh0PSIiIENoZWNrTW9kZT0iNCIgSWNvbj0iQ3Jvc3NsaW5lIiBUaXBzPSLmmL7npLrljYHlrZfnur8iIC8+DQogICAgICAgIDxCdG4gSUQ9IjQwMiIgTmFtZT0iU2hvd1ZhbHVlIiBUZXh0PSIiIENoZWNrTW9kZT0iNCIgSWNvbj0iU2hvd1ZhbHVlIiBUaXBzPSLmmL7npLrmlbDlgLzmj5DnpLoiIC8+DQogICAgICAgIDxCdG4gSUQ9IjQwMyIgTmFtZT0iU2hvd1Byb3BlcnR5IiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iUHJvcGVydHkiIFRpcHM9IuWxnuaAp+mhtSIgLz4NCiAgICAgICAgPEJ0biBJRD0iNDA0IiBOYW1lPSJSZWZyZXNoR3JhcGgiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJSZWZyZXNoIiBUaXBzPSLliLfmlrAiIC8+DQoNCiAgICAgICAgPCEtLSDovpPlhaXovpPlh7ogLS0+DQogICAgICAgIDxCdG4gSUQ9IjUwMCIgTmFtZT0iTG9hZEdyYXBoIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iTG9hZEdyYXBoIiBUaXBzPSLmiZPlvIDlm77ku7YiIC8+DQogICAgICAgIDxCdG4gSUQ9IjUwMSIgTmFtZT0iU2F2ZUdyYXBoIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iU2F2ZUdyYXBoIiBUaXBzPSLkv53lrZjlm77ku7YiIC8+DQogICAgICAgIDxCdG4gSUQ9IjUwMiIgTmFtZT0iTG9hZEV4Y2VsIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW1wb3J0RXhjZWwiIFRpcHM9IuWKoOi9vUV4Y2VsIiAvPg0KICAgICAgICA8QnRuIElEPSI1MDMiIE5hbWU9IlNhdmVFeGNlbCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IkV4cG9ydEV4Y2VsIiBUaXBzPSLlr7zlh7pFeGNlbCIgLz4NCiAgICAgICAgPEJ0biBJRD0iNTA0IiBOYW1lPSJMb2FkRGF0YWJhc2UiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJEYXRhYmFzZSIgVGlwcz0i5LuO5pWw5o2u5bqT6K+75Y+WIiAvPg0KICAgICAgICA8QnRuIElEPSI1MDUiIE5hbWU9IlNhdmVEYXRhYmFzZSIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IkluRGF0YWJhc2UiIFRpcHM9IuS/neWtmOWFpeW6kyIgLz4NCg0KICAgICAgICA8QnRuIElEPSI1MDYiIE5hbWU9IkxvYWRQIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iUHJlc3N1cmVEYXRhIiBUaXBzPSLliqDovb3ljovlipvmlbDmja4iIC8+DQogICAgICAgIDxCdG4gSUQ9IjUwNyIgTmFtZT0iTG9hZEYiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJSYXRlRGF0YSIgVGlwcz0i5Yqg6L295rWB6YeP5pWw5o2uIiAvPg0KDQogICAgICAgIDxCdG4gSUQ9IjUwOCIgTmFtZT0iUHJpbnQiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJQcmludCIgVGlwcz0i5omT5Y2wIiAvPg0KICAgICAgICA8QnRuIElEPSI1MDkiIE5hbWU9InByaW50X1ByZXZpZXciIENoZWNrTW9kZT0iMCIgVGV4dD0iIiBJY29uPSJQcmVQcmludCIgVGlwcz0i5omT5Y2w6aKE6KeIIiAvPg0KDQogICAgICAgIDxCdG4gSUQ9IjUxMCIgTmFtZT0iU2F2ZUFzSW1nIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iU2F2ZUFzSW1hZ2UiIFRpcHM9IuS/neWtmOS4uuWbvueJhyIgLz4NCiAgICAgICAgPEJ0biBJRD0iNTExIiBOYW1lPSJTYXZlQXNUZW1wbCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IlNhdmVBc1RlbXBsIiBUaXBzPSLkv53lrZjkuLrmqKHmnb8iIC8+DQoNCiAgICAgICAgPCEtLSDljovlipvmtYHph4/nvJbovpEgLS0+DQogICAgICAgIDxCdG4gSUQ9IjYwMCIgTmFtZT0iVGhpbm5pbmciIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJUaGlubmluZyIgVGlwcz0i5oq956iAIiAvPg0KICAgICAgICA8QnRuIElEPSI2MDEiIE5hbWU9IlNtb290aCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IlNtb290aCIgVGlwcz0i5YWJ5ruRIiAvPg0KICAgICAgICA8QnRuIElEPSI2MDIiIE5hbWU9Ikluc2VydFJhdGUiIFRleHQ9IiIgQ2hlY2tNb2RlPSIzIiBJY29uPSJSYXRlUG9pbnQiIFRpcHM9IuaPkuWFpea1gemHj+eCuSIgLz4NCiAgICAgICAgPEJ0biBJRD0iNjAzIiBOYW1lPSJQcmV2aWV3QnlDdXIiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJQcmV2aWV3QnlDdXIiIFRpcHM9IumihOiniOW9k+WJjemAieS4rSIgLz4NCiAgICAgICAgPEJ0biBJRD0iNjA0IiBOYW1lPSJTd2FwUEYiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJQRiIgVGlwcz0i6YCJ5oup5Y6L5Yqb5rWB6YePIiAvPg0KDQoNCiAgICAgICAgPCEtLSDmlbDlgLzor5XkupXnm7jlhbPlip/og70gLS0+DQogICAgICAgIDxCdG4gSUQ9IjcwMCIgTmFtZT0ibm1JbnNlcnRPYmpQb2ludCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249Ikluc2VydFBvaW50IiBUaXBzPSJb5qC35L6LXeaPkuWFpeeCuSIgLz4NCiAgICAgICAgPEJ0biBJRD0iNzAxIiBOYW1lPSJubUluc2VydE9iakxpbmUiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJJbnNlcnRMaW5lIiBUaXBzPSJb5qC35L6LXeaPkuWFpee6vyIgLz4NCiAgICAgICAgPEJ0biBJRD0iNzAyIiBOYW1lPSJubUluc2VydE9ialBvbHlnb24iIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJJbnNlcnRQb2x5Z29uIiBUaXBzPSJb5qC35L6LXeaPkuWFpeWkmui+ueW9oiIgLz4NCiAgICAgICAgPEJ0biBJRD0iNzAzIiBOYW1lPSJubUluc2VydE9ialBvbHlnb25PdXRsaW5lIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW5zZXJ0UG9seWdvbiIgVGlwcz0i6L6555WMIiAvPg0KICAgICAgICA8QnRuIElEPSI3MDQiIE5hbWU9Im5tSW5zZXJ0T2JqTGluZUNyYWNrIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW5zZXJ0TGluZSIgVGlwcz0i6KOC57ydIiAvPg0KICAgICAgICA8QnRuIElEPSI3MDUiIE5hbWU9Im5tSW5zZXJ0T2JqTGluZUZhdWx0IiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW5zZXJ0TGluZSIgVGlwcz0i5pat5bGCIiAvPg0KICAgICAgICA8QnRuIElEPSI3MDYiIE5hbWU9Im5tSW5zZXJ0T2JqUG9pbnRXZWxsIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW5zZXJ0UG9pbnQiIFRpcHM9IuayueS6lSIgLz4NCg0KICAgICAgICA8IS0tIFBWVOebuOWFsyAtLT4NCiAgICAgICAgPEJ0biBJRD0iODAwIiBOYW1lPSJCYXNpY09wdGlvbiIgVGV4dD0iIiBJY29uPSJQdnRCYXNpY09wdGlvbiIgVGlwcz0i5Z+656GA6YCJ6aG5IiAvPg0KICAgICAgICA8QnRuIElEPSI4MDEiIE5hbWU9IlBoYXNlT2lsIiBUZXh0PSIiIEljb249IlBoYXNlT2lsIiBUaXBzPSLmsrnnm7giIC8+DQogICAgICAgIDxCdG4gSUQ9IjgwMiIgTmFtZT0iUGhhc2VHYXMiIFRleHQ9IiIgSWNvbj0iUGhhc2VHYXMiIFRpcHM9IuawlOebuCIgLz4NCiAgICAgICAgPEJ0biBJRD0iODAzIiBOYW1lPSJQaGFzZVdhdGVyIiBUZXh0PSIiIEljb249IlBoYXNlV2F0ZXIiIFRpcHM9IuawtOebuCIgLz4NCiAgICAgICAgPEJ0biBJRD0iODA0IiBOYW1lPSJTYXZlUHZ0IiBUZXh0PSIiIEljb249IlNhdmVQdnQiIFRpcHM9IuS/neWtmFB2dCIgLz4NCiAgICAgICAgPEJ0biBJRD0iODA1IiBOYW1lPSJMb2FkUHZ0IiBUZXh0PSIiIEljb249IkxvYWRQdnQiIFRpcHM9IuWKoOi9vVB2dCIgLz4NCiAgICAgICAgPEJ0biBJRD0iODA2IiBOYW1lPSJQc2V1UHJlc3N1cmUiIFRleHQ9IiIgSWNvbj0iUHNlZG9QIiBUaXBzPSLorqHnrpfmi5/ljovlipsiIC8+DQogICAgICAgIDxCdG4gSUQ9IjgwNyIgTmFtZT0iUHNldVByZXNzdXJlMyIgVGV4dD0iIiBJY29uPSJQc2Vkb1AzIiBUaXBzPSLorqHnrpfkuInljLrmi5/ljovlipsiIC8+DQogICAgICAgIDxCdG4gSUQ9IjgwOCIgTmFtZT0iUHNldVByZXNzdXJlQyIgVGV4dD0iIiBJY29uPSJQc2Vkb1BDIiBUaXBzPSLnu4TliIblkKvph4/orqHnrpfmi5/ljovlipsiIC8+DQoNCiAgICAgICAgPCEtLSDkuqfmtrLmrrXlm77lvaLnm7jlhbMgLS0+DQogICAgICAgIDxCdG4gSUQ9IjkwMCIgTmFtZT0iRXF1TGF5b3V0IiBUZXh0PSIiIEljb249IkVxdUxheW91dCIgVGlwcz0i562J6Ze06ZqU5biD5bGAIiAvPg0KICAgICAgICA8QnRuIElEPSI5MDEiIE5hbWU9IkFsbFNlZyIgVGV4dD0iIiBJY29uPSJBbGxTZWciIFRpcHM9IuS6p+a2suauteaVtOS9k+aTjeS9nCIgLz4NCiAgICAgICAgPEJ0biBJRD0iOTAyIiBOYW1lPSJUb3RhbFNlZyIgVGV4dD0iIiBDaGVja01vZGUgPSAiNCIgSWNvbj0iVG90YWxTZWciIFRpcHM9IuS6pOS6kuaVtOS9k+aTjeS9nCIgLz4NCg0KICAgICAgICA8IS0tIOWFtuWugyAtLT4NCiAgICAgICAgPEJ0biBJRD0iOTk5IiBOYW1lPSJIZWxwIiBUZXh0PSIiIEljb249IkhlbHAiIFRpcHM9IuW4ruWKqSIgLz4NCg0KICAgIDwvQnV0dG9ucz4NCg0KICAgIDwhLS0g5ZG95Luk5YWz6IGUIC0tPg0KICAgIDxDb21tYW5kcyBOYW1lPSIxIiA+DQoNCiAgICAgICAgPCEtLSDlm77nsbvlnovlkb3ku6TnmoTphY3nva7vvIzmr5TlpoLljYrlr7nmlbDjgIHlj4zlr7nmlbDlpoLmnpzmjInpkq7kuI3kuIDoh7TvvIzlj6/ku6XlnKjmraTphY3nva4gLS0+DQoNCiAgICAgICAgPCEtLSBQbG90QmFzaWNUeXBl5Li65Z+656GA57G75Z6L77yM6buY6K6k55qE5Zu+5b2i6YWN572uIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iUGxvdEJhc2ljVHlwZSI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwMDs1MDEiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjEwMDsxMDE7MTAyOzEwMzsxMDQ7MTA1OzEwNjsxMDc7MTA4IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDA7MjAxOzsyMDg7MjA5OzIwMzsyMDQ7MjA1OzIwNiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMTUwOzE1MTsxNTI7MTUzOzE1NDsxNTU7MTU2OzI1IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAyOzMwMzszMDA7MzEwOzMwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNDAxOzQwMjs0MDM7NDA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDg7NTA5OzUxMDs1MTE7OTk5IiAvPiAgICAgICAgICAgIA0KICAgICAgICA8L0NoYXJ0Pg0KDQogICAgICAgIDwhLS0g5Y6L5Yqb57yW6L6R5qih5byPIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iUF9UeXBlX0VkaXQiPg0KICAgICAgICAgICAgPENtZHMgSURzPSI2MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwNiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjA4OzEwMjsxMDU7MTA2OzIwNSIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjAwOzIwMSIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMzAxOzMwMjszMDM7MjA2OzMwMDszMTA7MzA0OzMwNSIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNDAxOzQwMjs0MDM7NDA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDU7NTA4OzUwOTs1MTAiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQoNCiAgICAgICAgPCEtLSDmtYHph4/nvJbovpHmqKHlvI8gLS0+DQogICAgICAgIDxDaGFydCBUeXBlPSJGX1R5cGVfRWRpdCI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwNyIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjA4OzYwMiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjAwOzIwMSIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMzAxOzMwMjszMDM7MjA2OzMwMDszMTA7MzA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwNTs1MDg7NTA5OzUxMCIgLz4NCiAgICAgICAgPC9DaGFydD4NCg0KICAgICAgICA8IS0tIOWOi+WKmyvmtYHph4/nu5/kuIDmqKHlvI8gLS0+DQogICAgICAgIDxDaGFydCBUeXBlPSJQRl9UeXBlX01FUkdFIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNjA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDY7NTA3IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI2MDIiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjIwODsxMDI7MTA1OzEwNjsyMDUiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjMwMTszMDI7MzAzOzIwNjszMDA7MzEwOzMwNDszMDUiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjQwMTs0MDI7NDAzOzQwNCIgLz4NCiAgICAgICAgPC9DaGFydD4NCg0KDQogICAgICAgIDwhLS0g5Y6L5Yqb57yW6L6R5qih5byPW+WinuWKoOWbnuW9kueCuV0gLS0+DQogICAgICAgIDxDaGFydCBUeXBlPSJQX1R5cGVfRWRpdF9FWCI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjYwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTA2IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDg7MTAyOzEwNTsxMDY7MjA1IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDA7MjAxIiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAyOzMwMzsyMDY7MzAwOzMxMDszMDQ7MzA1IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwNTs1MDg7NTA5OzUxMCIgLz4NCiAgICAgICAgPC9DaGFydD4NCg0KICAgICAgICA8IS0tIElQUuaooeW8jyAtLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9IklQUl9UeXBlX0VkaXQiPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDk7MjA4OzsyMDA7MjAxIiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAyOzMwMzsyMDY7MzAwOzMxMDszMDQ7MzA1IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwODs1MDk7NTEwIiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KICAgICAgICA8IS0tIOa1gemHj+WOi+WKmyjlpITnkIbnu5PmnpznmoTljoblj7Lmm7Lnur/vvIzkuIrkuIvmqKHlvI8pIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iSElTVF9UeXBlX1BGIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMTAwOzEwMTsxMDI7MTAzOzEwNDsxMDU7MTA2OzEwNzsxMDgiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjIwMDsyMDEiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjMwMTszMDI7MzAzOzMwMDszMTA7MzA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwODs1MDk7NTEwIiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KICAgICAgICA8IS0tIOa1gemHj+WOi+WKm+mdnue8lui+keaooeW8jyAtLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9IkZfVHlwZV9VbkVkaXQiPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDc7NTA4OzUwOTs1MTAiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQogICAgICAgIDxDaGFydCBUeXBlPSJQX1R5cGVfVW5FZGl0Ij4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTA2OzUwODs1MDk7NTEwIiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KDQogICAgICAgIDxDaGFydCBUeXBlPSJMb2dfVHlwZV9FZGl0Ij4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjA5OzUwNjs1MDg7NTA5OzUxMCIgLz4NCiAgICAgICAgPC9DaGFydD4NCg0KICAgICAgICA8IS0tIFBsb3RTcXVhcmVHcmlk5Li65pa55b2i572R5qC877yM5Y+M5a+55pWw5LiT5bGeIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iUGxvdFNxdWFyZUdyaWQiPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDA7NTAxIiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDA7MjAxOzsyMDg7MjA5OzIwMzsyMDQ7MjA1OzIwNiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMTU3OzE1MDsxNTE7MTUyOzE1MzsxNTQ7MTU1OzE1NiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMTAwOzEwMTsxMDI7MTAzOzEwNDsxMDU7MTA2OzEwNzsxMDgiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjMwMTszMDA7MzEwOzMwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNDAxOzQwMjs0MDM7NDA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDg7NTA5OzUxMDs1MTE7OTk5IiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KDQogICAgICAgIDwhLS0gUGxvdFRhYmxlSGVscGVy5Li6UGxvdOeahOi+heWKqeihqOagvOS4iuS+p+eahOmFjee9riAtLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9IlBsb3RUYWJsZUhlbHBlciI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwMzs1MDUiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQoNCiAgICAgICAgPCEtLSDmlbDmja7nrqHnkIbnsbvnmoTlt6XlhbfmoI/phY3nva4gLS0+DQogICAgICAgIDxDaGFydCBUeXBlPSJTdWJXbmREYXRhIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTAzOzUwNSIgLz4NCiAgICAgICAgPC9DaGFydD4NCiAgICAgICAgPENoYXJ0IFR5cGU9IlN1YlduZERhdGFQRiI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwNjs1MDc7OzUwMzs1MDUiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQoNCiAgICAgICAgPCEtLSBXZWxsTWFwMkTnu5jlm77phY3nva4gLS0+DQogICAgICAgIDxDaGFydCBUeXBlPSJXZWxsTWFwMkRUeXBlIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMTgwOzE4MTsxODIiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjIwMDsyMDE7OzIwODsyMDYiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjMwMTszMDI7MzAzOzMwMDszMTA7MzA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwODs1MDk7NTEwOzUxMTs5OTkiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQoNCiAgICAgICAgPCEtLSDmlbDlgLzor5XkupUyROe7mOWbvuagt+S+i+mFjee9riAtLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9Ik5tRGVtbzJEVHlwZSI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjcwMDs3MDE7NzAyOzcwMzs3MDQ7NzA1OzcwNiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjAwOzIwMTs7MjA4IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAyOzMwMzszMDA7MzEwOzMwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNDAxOzQwMjs0MDM7NDA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDg7NTA5OzUxMDs1MTE7OTk5IiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KDQogICAgICAgIDwhLS0gUnN0IEZpdOmFjee9riAtLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9IlJzdEZpdFR5cGUiPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAwOzMxMDszMDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwODs1MDk7NTEwIiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KICAgICAgICAgPCEtLSBTZWdNb3Jl5Lqn5ray5q615pWw6YWN572uIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iU2VnTW9yZVR5cGUiPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDA7MjAxOzsyMDg7MjA2IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAwOzMxMDszMDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjQwMTs0MDI7NDAzOzQwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iOTAwOzkwMTs5MDIiLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTA4OzUwOTs1MTAiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQoNCiAgICA8L0NvbW1hbmRzPg0KDQo8L1Jvb3Q+DQo=
\ No newline at end of file
+77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu5/nmoTnu5jlm77pg6jliIbnmoTlip/og73mjInpkq4gICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBBdXRob3Iocyk6IHdhbmd6ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgRGF0ZTogMjAyNDAzMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLSDpg6jliIbmlbDmja7pobnor7TmmI4NCiAgICAgICAgSUQ6ICAgICAgICAgIOWUr+S4gOagh+ivhg0KICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICBUZXh0ICAgICAgICAg5YaF5a6577yM6YCa5bi45Lit5paHDQogICAgICAgIEljb27vvJogICAgICAg5Zu+5qCHDQogICAgICAgIFRpcHPvvJogICAgICAg6L6F5Yqp6K+05piODQogICAgICAgIENoZWNrTW9kZe+8miAgQ2hlY2vnirbmgIHmqKHlvI/vvIzpu5jorqTkuLowDQogICAgICAgICAgICAgICAgICAgICAgICAw77ya54K55Ye75LmL5ZCO5peg54q25oCB77yM5Y+q5piv5Y2V57qv55qEQWN0aW9u77yM5q+U5aaCIOWKoOi9veWOi+WKm+aWh+S7tg0KICAgICAgICAgICAgICAgICAgICAgICAgMTog54K55Ye75LmL5ZCO5peg54q25oCB77yM5L2G6ZyA6KaB5oqK5YW25a6DQ2hlY2tlZOWOu+mZpO+8jOW5tuS4lOWbnuW9kuWIneWni+eKtuaAge+8jOWmgiDmgaLlpI3mkqTplIDjgIHmlL7lpKfjgIHnvKnlsI/jgIHljp/lp4vnirbmgIENCiAgICAgICAgICAgICAgICAgICAgICAgIDI6IOeCueWHu+S5i+WQjuacieeKtuaAge+8jOS9humcgOimgeaKiuWFtuWug0NoZWNrZWTljrvpmaTvvIzkuIDml6bmk43kvZzlrozmiJDlkI7vvIzlm57lvZLliJ3lp4vnirbmgIHvvIzlpoIg5o+S5YWl54K544CB5o+S5YWl54m55b6B57q/562JDQogICAgICAgICAgICAgICAgICAgICAgICAz77ya5oyB57ut55qE54q25oCB77yM5q+U5aaCIOawtOW5s+e8qeaUvi/lnoLnm7TnvKnmlL7vvIxNb3Zl77yM5qGG6YCJ57yp5pS+562J77yM54K55Ye75ZCO77yM5L+d5oyBQ2hlY2vnirbmgIHvvIzkuIDnm7TliLDkuozmrKHngrnlh7vmiJbngrnlh7vlhbblroMNCiAgICAgICAgICAgICAgICAgICAgICAgIDQ6IOW8gOWFs+exu+eahOaMiemSrueKtuaAge+8jOavlOWmguaYvuekuuWNgeWtl+e6v++8jOaMieS4i+S4uuW8gOOAgeWGjeasoeaMieS4i+S4uuWFs++8jOS4jeW9seWTjeWFtuWug+aMiemSrueKtuaAgQ0KICAgICAgICAgICAgICAgICAgICAgICAgNe+8muWFtuWug++8iFRPRE/vvIkNCi0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCg0KPFJvb3Q+DQoNCiAgICA8IS0tIOWRveS7pOWfuuehgOWumuS5iSAtLT4NCiAgICA8QnV0dG9ucyBOYW1lPSIxIj4NCg0KICAgICAgICA8IS0tIOWbvuWFgyAtLT4NCiAgICAgICAgPEJ0biBJRD0iMTAwIiBOYW1lPSJQb2ludCIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249Ikluc2VydFBvaW50IiBUaXBzPSLmj5LlhaXngrkiIC8+DQogICAgICAgIDxCdG4gSUQ9IjEwMSIgTmFtZT0iTGluZSIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249Ikluc2VydExpbmUiIFRpcHM9IuaPkuWFpeebtOe6vyIgLz4NCiAgICAgICAgPEJ0biBJRD0iMTAyIiBOYW1lPSJSZWN0IiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iSW5zZXJ0UmVjdCIgVGlwcz0i55+p5b2i5qGG6YCJIiAvPg0KICAgICAgICA8QnRuIElEPSIxMDMiIE5hbWU9IlBvbHlnb24iIFRleHQ9IiIgQ2hlY2tNb2RlPSIyIiBJY29uPSJJbnNlcnRQb2x5Z29uIiBUaXBzPSLmj5LlhaXlpJrovrnlvaIiIC8+DQogICAgICAgIDxCdG4gSUQ9IjEwNCIgTmFtZT0iVGV4dCIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249Ikluc2VydFRleHQiIFRpcHM9IuaPkuWFpeaWh+acrOahhiIgLz4NCiAgICAgICAgPEJ0biBJRD0iMTA1IiBOYW1lPSJCYW5kViIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249Ikluc2VydFZlckJhbmQiIFRpcHM9IuWMuuWfn+W4pijnq5bnm7Qp6YCJ5Y+WIiAvPg0KICAgICAgICA8QnRuIElEPSIxMDYiIE5hbWU9IkJhbmRIIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iSW5zZXJ0SG9yaUJhbmQiIFRpcHM9IuWMuuWfn+W4pijmsLTlubMp6YCJ5Y+WIiAvPg0KICAgICAgICA8QnRuIElEPSIxMDciIE5hbWU9IkltYWdlIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iSW5zZXJ0UGljIiBUaXBzPSLmj5LlhaXlm77niYciIC8+DQogICAgICAgIDxCdG4gSUQ9IjEwOCIgTmFtZT0iQ3VydmVGcmVlIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iSW5zZXJ0Q3VydmUiIFRpcHM9IuaPkuWFpeiHqueUseabsue6vyIgLz4NCg0KICAgICAgICA8IS0tIOmrmOe6p+WbvuWFgyAtLT4NCiAgICAgICAgPEJ0biBJRD0iMTU3IiBOYW1lPSJDdXJ2ZVBQRCIgVGV4dD0iIiBDaGVja01vZGU9IjQiIEljb249IkN1cnZlUFBEIiBUaXBzPSLmj5LlhaVQUETmm7Lnur8iIC8+DQogICAgICAgIDxCdG4gSUQ9IjE1NiIgTmFtZT0iU0xSX1BPSU5UIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iSW5zZXJ0UG9pbnQiIFRpcHM9IuaPkuWFpeeJueW+geeCuSIgLz4NCiAgICAgICAgPEJ0biBJRD0iMTUwIiBOYW1lPSJTTFJfMCIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249IlJhZGlhbEZsb3ciIFRpcHM9IuaPkuWFpeeJueW+gee6vygwKSIgLz4NCiAgICAgICAgPEJ0biBJRD0iMTUxIiBOYW1lPSJTTFJfNDEiIFRleHQ9IiIgQ2hlY2tNb2RlPSIyIiBJY29uPSJCaWxpbmVhckZsb3ciIFRpcHM9IuaPkuWFpeeJueW+gee6vygxLzQpIiAvPg0KICAgICAgICA8QnRuIElEPSIxNTIiIE5hbWU9IlNMUl8yMSIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249IkxpbmVhckZsb3ciIFRpcHM9IuaPkuWFpeeJueW+gee6vygxLzIpIiAvPg0KICAgICAgICA8QnRuIElEPSIxNTMiIE5hbWU9IlNMUl8xIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iVW5pdFNsb3BlIiBUaXBzPSLmj5LlhaXnibnlvoHnur8oMSkiIC8+DQogICAgICAgIDxCdG4gSUQ9IjE1NCIgTmFtZT0iU0xSXzIxTmVnYXRpdmUiIFRleHQ9IiIgQ2hlY2tNb2RlPSIyIiBJY29uPSJTcGhlcmljYWxGbG93IiBUaXBzPSLmj5LlhaXnibnlvoHnur8oLTEvMikiIC8+DQogICAgICAgIDxCdG4gSUQ9IjE1NSIgTmFtZT0iTGluZVBhcmFsbGVsIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iTGluZVBhcmFsbGVsIiBUaXBzPSLmj5LlhaXlubPooYznur8iIC8+DQoNCiAgICAgICAgPCEtLSBXZWxsTWFwIC0tPg0KICAgICAgICA8QnRuIElEPSIxODAiIE5hbWU9IldfViIgVGV4dD0iIiBDaGVja01vZGU9IjIiICBJY29uPSJJbnNlcnRQb2ludCIgVGlwcz0i55u05LqVIiAvPg0KICAgICAgICA8QnRuIElEPSIxODEiIE5hbWU9IldfSCIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249Ikluc2VydExpbmUiIFRpcHM9IuawtOW5s+S6lSIgLz4NCiAgICAgICAgPEJ0biBJRD0iMTgyIiBOYW1lPSJXX01MIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iSW5zZXJ0UmVjdCIgVGlwcz0i5aSa5q615LqVIiAvPg0KDQogICAgICAgIDwhLS0g57yW6L6R5Y+K5Lqk5LqSIC0tPg0KICAgICAgICA8QnRuIElEPSIyMDAiIE5hbWU9IlVuZG8iIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJVbmRvIiBUaXBzPSLmkqTplIAiIC8+DQogICAgICAgIDxCdG4gSUQ9IjIwMSIgTmFtZT0iUmVkbyIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IlJlZG8iIFRpcHM9IuaBouWkjSIgLz4NCg0KICAgICAgICA8QnRuIElEPSIyMDgiIE5hbWU9IlNlbGVjdCIgVGV4dD0iIiBDaGVja01vZGU9IjMiIEljb249IkFycm93IiBUaXBzPSLliIfmjaLkuLrpgInmi6nmqKHlvI8iIC8+DQogICAgICAgIA0KICAgICAgICA8QnRuIElEPSIyMDIiIE5hbWU9IlNlbGVjdE11bHRpIiBUZXh0PSIiIENoZWNrTW9kZT0iMyIgSWNvbj0iTXVsdGlTZWxlY3QiIFRpcHM9IuWkmumAiSIgLz4NCiAgICAgICAgPEJ0biBJRD0iMjAzIiBOYW1lPSJTZWxlY3RSZWN0IiBUZXh0PSIiIENoZWNrTW9kZT0iMyIgSWNvbj0iUmVnaW9uU2VsZWN0IiBUaXBzPSLmibnph4/moYbpgInngrkiIC8+DQogICAgICAgIDxCdG4gSUQ9IjIwNCIgTmFtZT0iRXhjbHVkZVJlY3QiIFRleHQ9IiIgQ2hlY2tNb2RlPSIzIiBJY29uPSJFeGNsdWRlUmVjdCIgVGlwcz0i5qGG6YCJ5YmU6Zmk54K5IiAvPg0KICAgICAgICA8QnRuIElEPSIyMDUiIE5hbWU9IkVyYXNlUmVjdCIgVGV4dD0iIiBDaGVja01vZGU9IjMiIEljb249IkVyYXNlUmVjdCIgVGlwcz0i5qGG6YCJ5Yig6Zmk54K5IiAvPg0KICAgICAgICA8QnRuIElEPSIyMDYiIE5hbWU9Ik1vdmUiIFRleHQ9IiIgQ2hlY2tNb2RlPSIzIiBJY29uPSJNb3ZlIiBUaXBzPSJNb3ZlIiAvPg0KICAgICAgICA8IS0tIDIwMTgwMzE5IDIwN+WKn+iDveebruWJjeWwseaYr+S/ruaUueS4gOS4qm9wTm9uZeaEj+S5ieS4jeWkp++8jOaaguaXtuWOu+aOiSAtLT4NCiAgICAgICAgPEJ0biBJRD0iMjA3IiBOYW1lPSJBbGwiIFRleHQ9IiIgQ2hlY2tNb2RlPSIxIiBJY29uPSJBbGwiIFRpcHM9IlJlc2V0IiAvPg0KDQogICAgICAgIDxCdG4gSUQ9IjIwOSIgTmFtZT0iSGl0UG9pbnQiIFRleHQ9IiIgQ2hlY2tNb2RlPSIyIiBJY29uPSJBZGRQb2ludCIgVGlwcz0i5aKe5Yqg5Zue5b2S54K5IiAvPg0KICAgICAgICA8IS0tIDIwMTgwMzE56ICD6JmR5Yiw55uu5YmN55qE5Yqf6IO977yMMjA05LiOMjEw5a6e546w55qE5Yqf6IO95LiA6Ie0IC0tPg0KICAgICAgICA8QnRuIElEPSIyMTAiIE5hbWU9IlJlc2V0UmVjdCIgVGV4dD0iIiBDaGVja01vZGU9IjEiIEljb249IlJlc2V0UmVjdCIgVGlwcz0i6YeN572u54K5IiAvPg0KICAgICAgICANCiAgICAgICAgPCEtLSDnvKnmlL4gLS0+DQogICAgICAgIDxCdG4gSUQ9IjMwMCIgTmFtZT0iWm9vbUluIiBUZXh0PSIiIENoZWNrTW9kZT0iMSIgSWNvbj0iWm9vbUluIiBUaXBzPSLmlbTkvZPmlL7lpKciIC8+DQogICAgICAgIDxCdG4gSUQ9IjMxMCIgTmFtZT0iWm9vbU91dCIgVGV4dD0iIiBDaGVja01vZGU9IjEiIEljb249Ilpvb21PdXQiIFRpcHM9IuaVtOS9k+e8qeWwjyIgLz4NCiAgICAgICAgPEJ0biBJRD0iMzAxIiBOYW1lPSJab29tUmVjdEluIiBUZXh0PSIiIENoZWNrTW9kZT0iMyIgSWNvbj0iWm9vbVJlY3RJbiIgVGlwcz0i5qGG6YCJ5pS+5aSnIiAvPg0KICAgICAgICA8QnRuIElEPSIzMDIiIE5hbWU9Ilpvb21SZWN0SW5WIiBUZXh0PSIiIENoZWNrTW9kZT0iMyIgSWNvbj0iWm9vbUluViIgVGlwcz0i5qGG6YCJ5pS+5aSnKOerluebtCkiIC8+DQogICAgICAgIDxCdG4gSUQ9IjMwMyIgTmFtZT0iWm9vbVJlY3RJbkgiIFRleHQ9IiIgQ2hlY2tNb2RlPSIzIiBJY29uPSJab29tSW5IIiBUaXBzPSLmoYbpgInmlL7lpKco5rC05bmzKSIgLz4NCiAgICAgICAgPEJ0biBJRD0iMzA0IiBOYW1lPSJab29tUmVzZXQiIFRleHQ9IiIgQ2hlY2tNb2RlPSIxIiBJY29uPSJab29tUmVzZXQiIFRpcHM9IuWOn+Wni+Wkp+WwjyIgLz4NCiAgICAgICAgPEJ0biBJRD0iMzA1IiBOYW1lPSJab29tU2VsZkFkYXB0YXRpb24iIENoZWNrTW9kZT0iMSIgVGV4dD0iIiBJY29uPSJab29tU2VsZkFkYXB0YXRpb24iIFRpcHM9IuiHqumAguW6lOWkp+WwjyIgLz4NCg0KICAgICAgICA8IS0tIOaYvuekuiAtLT4NCiAgICAgICAgPEJ0biBJRD0iNDAxIiBOYW1lPSJTaG93Q3Jvc3NMaW5lIiBUZXh0PSIiIENoZWNrTW9kZT0iNCIgSWNvbj0iQ3Jvc3NsaW5lIiBUaXBzPSLmmL7npLrljYHlrZfnur8iIC8+DQogICAgICAgIDxCdG4gSUQ9IjQwMiIgTmFtZT0iU2hvd1ZhbHVlIiBUZXh0PSIiIENoZWNrTW9kZT0iNCIgSWNvbj0iU2hvd1ZhbHVlIiBUaXBzPSLmmL7npLrmlbDlgLzmj5DnpLoiIC8+DQogICAgICAgIDxCdG4gSUQ9IjQwMyIgTmFtZT0iU2hvd1Byb3BlcnR5IiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iUHJvcGVydHkiIFRpcHM9IuWxnuaAp+mhtSIgLz4NCiAgICAgICAgPEJ0biBJRD0iNDA0IiBOYW1lPSJSZWZyZXNoR3JhcGgiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJSZWZyZXNoIiBUaXBzPSLliLfmlrAiIC8+DQoNCiAgICAgICAgPCEtLSDovpPlhaXovpPlh7ogLS0+DQogICAgICAgIDxCdG4gSUQ9IjUwMCIgTmFtZT0iTG9hZEdyYXBoIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iTG9hZEdyYXBoIiBUaXBzPSLmiZPlvIDlm77ku7YiIC8+DQogICAgICAgIDxCdG4gSUQ9IjUwMSIgTmFtZT0iU2F2ZUdyYXBoIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iU2F2ZUdyYXBoIiBUaXBzPSLkv53lrZjlm77ku7YiIC8+DQogICAgICAgIDxCdG4gSUQ9IjUwMiIgTmFtZT0iTG9hZEV4Y2VsIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW1wb3J0RXhjZWwiIFRpcHM9IuWKoOi9vUV4Y2VsIiAvPg0KICAgICAgICA8QnRuIElEPSI1MDMiIE5hbWU9IlNhdmVFeGNlbCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IkV4cG9ydEV4Y2VsIiBUaXBzPSLlr7zlh7pFeGNlbCIgLz4NCiAgICAgICAgPEJ0biBJRD0iNTA0IiBOYW1lPSJMb2FkRGF0YWJhc2UiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJEYXRhYmFzZSIgVGlwcz0i5LuO5pWw5o2u5bqT6K+75Y+WIiAvPg0KICAgICAgICA8QnRuIElEPSI1MDUiIE5hbWU9IlNhdmVEYXRhYmFzZSIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IkluRGF0YWJhc2UiIFRpcHM9IuS/neWtmOWFpeW6kyIgLz4NCg0KICAgICAgICA8QnRuIElEPSI1MDYiIE5hbWU9IkxvYWRQIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iUHJlc3N1cmVEYXRhIiBUaXBzPSLliqDovb3ljovlipvmlbDmja4iIC8+DQogICAgICAgIDxCdG4gSUQ9IjUwNyIgTmFtZT0iTG9hZEYiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJSYXRlRGF0YSIgVGlwcz0i5Yqg6L295rWB6YeP5pWw5o2uIiAvPg0KDQogICAgICAgIDxCdG4gSUQ9IjUwOCIgTmFtZT0iUHJpbnQiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJQcmludCIgVGlwcz0i5omT5Y2wIiAvPg0KICAgICAgICA8QnRuIElEPSI1MDkiIE5hbWU9InByaW50X1ByZXZpZXciIENoZWNrTW9kZT0iMCIgVGV4dD0iIiBJY29uPSJQcmVQcmludCIgVGlwcz0i5omT5Y2w6aKE6KeIIiAvPg0KDQogICAgICAgIDxCdG4gSUQ9IjUxMCIgTmFtZT0iU2F2ZUFzSW1nIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iU2F2ZUFzSW1hZ2UiIFRpcHM9IuS/neWtmOS4uuWbvueJhyIgLz4NCiAgICAgICAgPEJ0biBJRD0iNTExIiBOYW1lPSJTYXZlQXNUZW1wbCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IlNhdmVBc1RlbXBsIiBUaXBzPSLkv53lrZjkuLrmqKHmnb8iIC8+DQoNCiAgICAgICAgPCEtLSDljovlipvmtYHph4/nvJbovpEgLS0+DQogICAgICAgIDxCdG4gSUQ9IjYwMCIgTmFtZT0iVGhpbm5pbmciIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJUaGlubmluZyIgVGlwcz0i5oq956iAIiAvPg0KICAgICAgICA8QnRuIElEPSI2MDEiIE5hbWU9IlNtb290aCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IlNtb290aCIgVGlwcz0i5YWJ5ruRIiAvPg0KICAgICAgICA8QnRuIElEPSI2MDIiIE5hbWU9Ikluc2VydFJhdGUiIFRleHQ9IiIgQ2hlY2tNb2RlPSIzIiBJY29uPSJSYXRlUG9pbnQiIFRpcHM9IuaPkuWFpea1gemHj+eCuSIgLz4NCiAgICAgICAgPEJ0biBJRD0iNjAzIiBOYW1lPSJQcmV2aWV3QnlDdXIiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJQcmV2aWV3QnlDdXIiIFRpcHM9IumihOiniOW9k+WJjemAieS4rSIgLz4NCiAgICAgICAgPEJ0biBJRD0iNjA0IiBOYW1lPSJTd2FwUEYiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJQRiIgVGlwcz0i6YCJ5oup5Y6L5Yqb5rWB6YePIiAvPg0KDQoNCiAgICAgICAgPCEtLSDmlbDlgLzor5XkupXnm7jlhbPlip/og70gLS0+DQogICAgICAgIDxCdG4gSUQ9IjcwMCIgTmFtZT0ibm1JbnNlcnRPYmpQb2ludCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249Ikluc2VydFBvaW50IiBUaXBzPSJb5qC35L6LXeaPkuWFpeeCuSIgLz4NCiAgICAgICAgPEJ0biBJRD0iNzAxIiBOYW1lPSJubUluc2VydE9ialBvaW50V2VsbCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249Ikluc2VydFBvaW50IiBUaXBzPSLmsrnkupUiIC8+DQogICAgICAgIDxCdG4gSUQ9IjcwMiIgTmFtZT0ibm1JbnNlcnRPYmpMaW5lIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW5zZXJ0TGluZSIgVGlwcz0iW+agt+S+i13mj5LlhaXnur8iIC8+DQogICAgICAgIDxCdG4gSUQ9IjcwMyIgTmFtZT0ibm1JbnNlcnRPYmpQb2x5Z29uIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW5zZXJ0UG9seWdvbiIgVGlwcz0iW+agt+S+i13mj5LlhaXlpJrovrnlvaIiIC8+DQogICAgICAgIDxCdG4gSUQ9IjcwNCIgTmFtZT0ibm1JbnNlcnRPYmpQb2x5Z29uT3V0bGluZSIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249Ikluc2VydFBvbHlnb24iIFRpcHM9Iui+ueeVjCIgLz4NCiAgICAgICAgPEJ0biBJRD0iNzA1IiBOYW1lPSJubUluc2VydE9iakxpbmVDcmFjayIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249Ikluc2VydExpbmUiIFRpcHM9Iuijgue8nSIgLz4NCiAgICAgICAgPEJ0biBJRD0iNzA2IiBOYW1lPSJubUluc2VydE9iakxpbmVGYXVsdCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249Ikluc2VydExpbmUiIFRpcHM9IuaWreWxgiIgLz4NCg0KICAgICAgICA8IS0tIFBWVOebuOWFsyAtLT4NCiAgICAgICAgPEJ0biBJRD0iODAwIiBOYW1lPSJCYXNpY09wdGlvbiIgVGV4dD0iIiBJY29uPSJQdnRCYXNpY09wdGlvbiIgVGlwcz0i5Z+656GA6YCJ6aG5IiAvPg0KICAgICAgICA8QnRuIElEPSI4MDEiIE5hbWU9IlBoYXNlT2lsIiBUZXh0PSIiIEljb249IlBoYXNlT2lsIiBUaXBzPSLmsrnnm7giIC8+DQogICAgICAgIDxCdG4gSUQ9IjgwMiIgTmFtZT0iUGhhc2VHYXMiIFRleHQ9IiIgSWNvbj0iUGhhc2VHYXMiIFRpcHM9IuawlOebuCIgLz4NCiAgICAgICAgPEJ0biBJRD0iODAzIiBOYW1lPSJQaGFzZVdhdGVyIiBUZXh0PSIiIEljb249IlBoYXNlV2F0ZXIiIFRpcHM9IuawtOebuCIgLz4NCiAgICAgICAgPEJ0biBJRD0iODA0IiBOYW1lPSJTYXZlUHZ0IiBUZXh0PSIiIEljb249IlNhdmVQdnQiIFRpcHM9IuS/neWtmFB2dCIgLz4NCiAgICAgICAgPEJ0biBJRD0iODA1IiBOYW1lPSJMb2FkUHZ0IiBUZXh0PSIiIEljb249IkxvYWRQdnQiIFRpcHM9IuWKoOi9vVB2dCIgLz4NCiAgICAgICAgPEJ0biBJRD0iODA2IiBOYW1lPSJQc2V1UHJlc3N1cmUiIFRleHQ9IiIgSWNvbj0iUHNlZG9QIiBUaXBzPSLorqHnrpfmi5/ljovlipsiIC8+DQogICAgICAgIDxCdG4gSUQ9IjgwNyIgTmFtZT0iUHNldVByZXNzdXJlMyIgVGV4dD0iIiBJY29uPSJQc2Vkb1AzIiBUaXBzPSLorqHnrpfkuInljLrmi5/ljovlipsiIC8+DQogICAgICAgIDxCdG4gSUQ9IjgwOCIgTmFtZT0iUHNldVByZXNzdXJlQyIgVGV4dD0iIiBJY29uPSJQc2Vkb1BDIiBUaXBzPSLnu4TliIblkKvph4/orqHnrpfmi5/ljovlipsiIC8+DQoNCiAgICAgICAgPCEtLSDkuqfmtrLmrrXlm77lvaLnm7jlhbMgLS0+DQogICAgICAgIDxCdG4gSUQ9IjkwMCIgTmFtZT0iRXF1TGF5b3V0IiBUZXh0PSIiIEljb249IkVxdUxheW91dCIgVGlwcz0i562J6Ze06ZqU5biD5bGAIiAvPg0KICAgICAgICA8QnRuIElEPSI5MDEiIE5hbWU9IkFsbFNlZyIgVGV4dD0iIiBJY29uPSJBbGxTZWciIFRpcHM9IuS6p+a2suauteaVtOS9k+aTjeS9nCIgLz4NCiAgICAgICAgPEJ0biBJRD0iOTAyIiBOYW1lPSJUb3RhbFNlZyIgVGV4dD0iIiBDaGVja01vZGUgPSAiNCIgSWNvbj0iVG90YWxTZWciIFRpcHM9IuS6pOS6kuaVtOS9k+aTjeS9nCIgLz4NCg0KICAgICAgICA8IS0tIOWFtuWugyAtLT4NCiAgICAgICAgPEJ0biBJRD0iOTk5IiBOYW1lPSJIZWxwIiBUZXh0PSIiIEljb249IkhlbHAiIFRpcHM9IuW4ruWKqSIgLz4NCg0KICAgIDwvQnV0dG9ucz4NCg0KICAgIDwhLS0g5ZG95Luk5YWz6IGUIC0tPg0KICAgIDxDb21tYW5kcyBOYW1lPSIxIiA+DQoNCiAgICAgICAgPCEtLSDlm77nsbvlnovlkb3ku6TnmoTphY3nva7vvIzmr5TlpoLljYrlr7nmlbDjgIHlj4zlr7nmlbDlpoLmnpzmjInpkq7kuI3kuIDoh7TvvIzlj6/ku6XlnKjmraTphY3nva4gLS0+DQoNCiAgICAgICAgPCEtLSBQbG90QmFzaWNUeXBl5Li65Z+656GA57G75Z6L77yM6buY6K6k55qE5Zu+5b2i6YWN572uIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iUGxvdEJhc2ljVHlwZSI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwMDs1MDEiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjEwMDsxMDE7MTAyOzEwMzsxMDQ7MTA1OzEwNjsxMDc7MTA4IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDA7MjAxOzsyMDg7MjA5OzIwMzsyMDQ7MjA1OzIwNiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMTUwOzE1MTsxNTI7MTUzOzE1NDsxNTU7MTU2OzI1IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAyOzMwMzszMDA7MzEwOzMwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNDAxOzQwMjs0MDM7NDA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDg7NTA5OzUxMDs1MTE7OTk5IiAvPiAgICAgICAgICAgIA0KICAgICAgICA8L0NoYXJ0Pg0KDQogICAgICAgIDwhLS0g5Y6L5Yqb57yW6L6R5qih5byPIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iUF9UeXBlX0VkaXQiPg0KICAgICAgICAgICAgPENtZHMgSURzPSI2MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwNiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjA4OzEwMjsxMDU7MTA2OzIwNSIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjAwOzIwMSIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMzAxOzMwMjszMDM7MjA2OzMwMDszMTA7MzA0OzMwNSIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNDAxOzQwMjs0MDM7NDA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDU7NTA4OzUwOTs1MTAiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQoNCiAgICAgICAgPCEtLSDmtYHph4/nvJbovpHmqKHlvI8gLS0+DQogICAgICAgIDxDaGFydCBUeXBlPSJGX1R5cGVfRWRpdCI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwNyIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjA4OzYwMiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjAwOzIwMSIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMzAxOzMwMjszMDM7MjA2OzMwMDszMTA7MzA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwNTs1MDg7NTA5OzUxMCIgLz4NCiAgICAgICAgPC9DaGFydD4NCg0KICAgICAgICA8IS0tIOWOi+WKmyvmtYHph4/nu5/kuIDmqKHlvI8gLS0+DQogICAgICAgIDxDaGFydCBUeXBlPSJQRl9UeXBlX01FUkdFIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNjA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDY7NTA3IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI2MDIiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjIwODsxMDI7MTA1OzEwNjsyMDUiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjMwMTszMDI7MzAzOzIwNjszMDA7MzEwOzMwNDszMDUiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjQwMTs0MDI7NDAzOzQwNCIgLz4NCiAgICAgICAgPC9DaGFydD4NCg0KDQogICAgICAgIDwhLS0g5Y6L5Yqb57yW6L6R5qih5byPW+WinuWKoOWbnuW9kueCuV0gLS0+DQogICAgICAgIDxDaGFydCBUeXBlPSJQX1R5cGVfRWRpdF9FWCI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjYwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTA2IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDg7MTAyOzEwNTsxMDY7MjA1IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDA7MjAxIiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAyOzMwMzsyMDY7MzAwOzMxMDszMDQ7MzA1IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwNTs1MDg7NTA5OzUxMCIgLz4NCiAgICAgICAgPC9DaGFydD4NCg0KICAgICAgICA8IS0tIElQUuaooeW8jyAtLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9IklQUl9UeXBlX0VkaXQiPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDk7MjA4OzsyMDA7MjAxIiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAyOzMwMzsyMDY7MzAwOzMxMDszMDQ7MzA1IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwODs1MDk7NTEwIiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KICAgICAgICA8IS0tIOa1gemHj+WOi+WKmyjlpITnkIbnu5PmnpznmoTljoblj7Lmm7Lnur/vvIzkuIrkuIvmqKHlvI8pIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iSElTVF9UeXBlX1BGIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMTAwOzEwMTsxMDI7MTAzOzEwNDsxMDU7MTA2OzEwNzsxMDgiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjIwMDsyMDEiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjMwMTszMDI7MzAzOzMwMDszMTA7MzA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwODs1MDk7NTEwIiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KICAgICAgICA8IS0tIOa1gemHj+WOi+WKm+mdnue8lui+keaooeW8jyAtLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9IkZfVHlwZV9VbkVkaXQiPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDc7NTA4OzUwOTs1MTAiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQogICAgICAgIDxDaGFydCBUeXBlPSJQX1R5cGVfVW5FZGl0Ij4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTA2OzUwODs1MDk7NTEwIiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KDQogICAgICAgIDxDaGFydCBUeXBlPSJMb2dfVHlwZV9FZGl0Ij4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjA5OzUwNjs1MDg7NTA5OzUxMCIgLz4NCiAgICAgICAgPC9DaGFydD4NCg0KICAgICAgICA8IS0tIFBsb3RTcXVhcmVHcmlk5Li65pa55b2i572R5qC877yM5Y+M5a+55pWw5LiT5bGeIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iUGxvdFNxdWFyZUdyaWQiPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDA7NTAxIiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDA7MjAxOzsyMDg7MjA5OzIwMzsyMDQ7MjA1OzIwNiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMTU3OzE1MDsxNTE7MTUyOzE1MzsxNTQ7MTU1OzE1NiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMTAwOzEwMTsxMDI7MTAzOzEwNDsxMDU7MTA2OzEwNzsxMDgiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjMwMTszMDA7MzEwOzMwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNDAxOzQwMjs0MDM7NDA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDg7NTA5OzUxMDs1MTE7OTk5IiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KDQogICAgICAgIDwhLS0gUGxvdFRhYmxlSGVscGVy5Li6UGxvdOeahOi+heWKqeihqOagvOS4iuS+p+eahOmFjee9riAtLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9IlBsb3RUYWJsZUhlbHBlciI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwMzs1MDUiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQoNCiAgICAgICAgPCEtLSDmlbDmja7nrqHnkIbnsbvnmoTlt6XlhbfmoI/phY3nva4gLS0+DQogICAgICAgIDxDaGFydCBUeXBlPSJTdWJXbmREYXRhIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTAzOzUwNSIgLz4NCiAgICAgICAgPC9DaGFydD4NCiAgICAgICAgPENoYXJ0IFR5cGU9IlN1YlduZERhdGFQRiI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwNjs1MDc7OzUwMzs1MDUiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQoNCiAgICAgICAgPCEtLSBXZWxsTWFwMkTnu5jlm77phY3nva4gLS0+DQogICAgICAgIDxDaGFydCBUeXBlPSJXZWxsTWFwMkRUeXBlIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMTgwOzE4MTsxODIiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjIwMDsyMDE7OzIwODsyMDYiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjMwMTszMDI7MzAzOzMwMDszMTA7MzA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwODs1MDk7NTEwOzUxMTs5OTkiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQoNCiAgICAgICAgPCEtLSDmlbDlgLzor5XkupUyROe7mOWbvuagt+S+i+mFjee9riAtLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9Ik5tRGVtbzJEVHlwZSI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjcwMDs3MDE7NzAyOzcwMzs3MDQ7NzA1OzcwNiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjAwOzIwMTs7MjA4IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAyOzMwMzszMDA7MzEwOzMwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNDAxOzQwMjs0MDM7NDA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDg7NTA5OzUxMDs1MTE7OTk5IiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KDQogICAgICAgIDwhLS0gUnN0IEZpdOmFjee9riAtLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9IlJzdEZpdFR5cGUiPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAwOzMxMDszMDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwODs1MDk7NTEwIiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KICAgICAgICAgPCEtLSBTZWdNb3Jl5Lqn5ray5q615pWw6YWN572uIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iU2VnTW9yZVR5cGUiPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDA7MjAxOzsyMDg7MjA2IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAwOzMxMDszMDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjQwMTs0MDI7NDAzOzQwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iOTAwOzkwMTs5MDIiLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTA4OzUwOTs1MTAiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQoNCiAgICA8L0NvbW1hbmRzPg0KDQo8L1Jvb3Q+DQo=
\ No newline at end of file
diff --git a/Bin/XmlFiles/BtnCmds.xml b/Bin/XmlFiles/BtnCmds.xml
index f094cb9..df98f8d 100644
--- a/Bin/XmlFiles/BtnCmds.xml
+++ b/Bin/XmlFiles/BtnCmds.xml
@@ -115,12 +115,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/Include/nmNum/nmSubWnd/nmSubWndMain.h b/Include/nmNum/nmSubWnd/nmSubWndMain.h
index 460bec2..287e3a5 100644
--- a/Include/nmNum/nmSubWnd/nmSubWndMain.h
+++ b/Include/nmNum/nmSubWnd/nmSubWndMain.h
@@ -143,6 +143,9 @@ private:
void identificationRegion();
// 网格生成
void generationMesh();
+
+ // 从菜单点击绘制,除非ToolBar上的点击
+ void triggerToolBarAction(int index);
private:
// 绘图相关
diff --git a/Src/nmNum/nmPlot/nmGuiPlot.cpp b/Src/nmNum/nmPlot/nmGuiPlot.cpp
index 593373b..952a660 100644
--- a/Src/nmNum/nmPlot/nmGuiPlot.cpp
+++ b/Src/nmNum/nmPlot/nmGuiPlot.cpp
@@ -127,11 +127,13 @@ nmObjBase* nmGuiPlot::_createOneObj(NM_Obj_Type o, QString& sName)
listOlds << m_pPlot->getObjByIndex(i)->getName();
}
sName = ZxBaseUtil::getNextOneName(listOlds, sName);
- nmDataLogFile::getInstance()->writeLog(sName + " " + QString::number(o));
+ nmDataLogFile::getInstance()->writeLog(sName + " ------ " + QString::number(o));
// 创建,此处代码为了简洁,作了非规范性书写
nmObjBase* pObj = NULL;
if (o == NOT_Point) {
pObj = new nmObjPoint(sName, NULL, NULL);
+ } else if (o == NOT_Point_Well) {
+ pObj = new nmObjPointWell(sName, NULL, NULL);
} else if (o == NOT_Line) {
pObj = new nmObjLine(sName, NULL, NULL);
} else if (o == NOT_Polygon) {
@@ -142,10 +144,9 @@ nmObjBase* nmGuiPlot::_createOneObj(NM_Obj_Type o, QString& sName)
pObj = new nmObjLineCrack(sName, NULL, NULL);
} else if (o == NOT_Line_Fault) {
pObj = new nmObjLineFault(sName, NULL, NULL);
- } else if (o == NOT_Point_Well) {
- pObj = new nmObjPointWell(sName, NULL, NULL);
} else {
zxLogRunW(tr("Type '%1' not supported.").arg((int)o));
+ nmDataLogFile::getInstance()->writeLog(tr("Type '%1' not supported.").arg((int)o));
return NULL;
}
Q_ASSERT (NULL != pObj);
diff --git a/Src/nmNum/nmPlot/nmGuiPlotCmdHelper.cpp b/Src/nmNum/nmPlot/nmGuiPlotCmdHelper.cpp
index 4bd6b7b..b947b9e 100644
--- a/Src/nmNum/nmPlot/nmGuiPlotCmdHelper.cpp
+++ b/Src/nmNum/nmPlot/nmGuiPlotCmdHelper.cpp
@@ -31,6 +31,7 @@ bool nmGuiPlotCmdHelper::runAction(QString sAction)
Q_ASSERT (NULL != m_pGuiPlot);
ZxPlot* pPlot = m_pGuiPlot->m_pPlot;
Q_ASSERT (NULL != pPlot);
+ nmDataLogFile::getInstance()->writeLog(" cmdHelper " + sAction);
// 鼠标交互,插入数值试井绘图对象 的例子:点、线、多边形
if (_isSame(sAction, "nmInsertObjPoint")) {
nmObjToolBase* pObjTool = new nmObjPointTool();
@@ -39,6 +40,14 @@ bool nmGuiPlotCmdHelper::runAction(QString sAction)
connect(pObjTool, SIGNAL(sigPtsFinished(QVector&)), \
this, SLOT(slotObjPtsFinished(QVector&)));
return true;
+ } else if (_isSame(sAction, "nmInsertObjPointWell")) {
+ nmObjToolBase* pObjTool = new nmObjPointWellTool();
+ nmDataLogFile::getInstance()->writeLog("in nmGuiPlotCmdHelper " + QString::number(pObjTool->getNOT()));
+ Q_ASSERT (NULL != pObjTool);
+ pPlot->appendTools(pObjTool);
+ connect(pObjTool, SIGNAL(sigPtsFinished(QVector&)), \
+ this, SLOT(slotObjPtsFinished(QVector&)));
+ return true;
} else if (_isSame(sAction, "nmInsertObjLine")) {
nmObjToolBase* pObjTool = new nmObjLineTool();
Q_ASSERT (NULL != pObjTool);
@@ -76,14 +85,6 @@ bool nmGuiPlotCmdHelper::runAction(QString sAction)
connect(pObjTool, SIGNAL(sigPtsFinished(QVector&)), \
this, SLOT(slotObjPtsFinished(QVector&)));
return true;
- } else if (_isSame(sAction, "nmInsertObjPointWell")) {
- nmObjToolBase* pObjTool = new nmObjPointWellTool();
- nmDataLogFile::getInstance()->writeLog("in nmGuiPlotCmdHelper " + QString::number(pObjTool->getNOT()));
- Q_ASSERT (NULL != pObjTool);
- pPlot->appendTools(pObjTool);
- connect(pObjTool, SIGNAL(sigPtsFinished(QVector&)), \
- this, SLOT(slotObjPtsFinished(QVector&)));
- return true;
} else {
// 其它Action
}
diff --git a/Src/nmNum/nmPlot/nmObjLineCrack.cpp b/Src/nmNum/nmPlot/nmObjLineCrack.cpp
index a4495d1..234e9a2 100644
--- a/Src/nmNum/nmPlot/nmObjLineCrack.cpp
+++ b/Src/nmNum/nmPlot/nmObjLineCrack.cpp
@@ -48,8 +48,8 @@ nmObjLineCrack::~nmObjLineCrack()
void nmObjLineCrack::initTools()
{
- m_pTool = new nmObjLineCrackTool();
ZxObjBase::initTools();
+ m_pTool = new nmObjLineCrackTool();
}
void nmObjLineCrack::initSubObjs()
diff --git a/Src/nmNum/nmPlot/nmObjLineCrackTool.cpp b/Src/nmNum/nmPlot/nmObjLineCrackTool.cpp
index 2bc3da4..ccbbf34 100644
--- a/Src/nmNum/nmPlot/nmObjLineCrackTool.cpp
+++ b/Src/nmNum/nmPlot/nmObjLineCrackTool.cpp
@@ -2,11 +2,13 @@
#include "nmObjLine.h"
#include "nmObjLineCrackTool.h"
+#include "nmDataLogFile.h"
nmObjLineCrackTool::nmObjLineCrackTool()
{
setText(tr("nObjLineCrackTool"));
m_oNot = NOT_Line_Crack;
+ nmDataLogFile::getInstance()->writeLog(" nmObjLineCrackTool ++++++++ " + QString::number(m_oNot));
}
diff --git a/Src/nmNum/nmPlot/nmObjLineFaultTool.cpp b/Src/nmNum/nmPlot/nmObjLineFaultTool.cpp
index b98ce15..564effa 100644
--- a/Src/nmNum/nmPlot/nmObjLineFaultTool.cpp
+++ b/Src/nmNum/nmPlot/nmObjLineFaultTool.cpp
@@ -2,11 +2,13 @@
#include "nmObjLine.h"
#include "nmObjLineFaultTool.h"
+#include "nmDataLogFile.h"
nmObjLineFaultTool::nmObjLineFaultTool()
{
setText(tr("nObjLineFaultTool"));
m_oNot = NOT_Line_Fault;
+ nmDataLogFile::getInstance()->writeLog(" nmObjLineCrackTool ++++++++ " + QString::number(m_oNot));
}
diff --git a/Src/nmNum/nmPlot/nmObjLineTool.cpp b/Src/nmNum/nmPlot/nmObjLineTool.cpp
index 75a881e..07d773f 100644
--- a/Src/nmNum/nmPlot/nmObjLineTool.cpp
+++ b/Src/nmNum/nmPlot/nmObjLineTool.cpp
@@ -3,7 +3,7 @@
#include "nmObjLine.h"
#include "nmObjLineTool.h"
-nmObjLineTool::nmObjLineTool() : nmObjPointTool()
+nmObjLineTool::nmObjLineTool()
{
setText(tr("nObjLineTool"));
m_oNot = NOT_Line;
diff --git a/Src/nmNum/nmSubWnd/nmSubWndMain.cpp b/Src/nmNum/nmSubWnd/nmSubWndMain.cpp
index 842ca08..394b295 100644
--- a/Src/nmNum/nmSubWnd/nmSubWndMain.cpp
+++ b/Src/nmNum/nmSubWnd/nmSubWndMain.cpp
@@ -672,11 +672,12 @@ void nmSubWndMain::drawPolygonOutline()
{
// 获取多边形边界的绘制,并模拟触发点击操作
// 目前多边形边界绘制是工具栏的第4个,所以用 3
- QList actions = m_pPlotToolBar->actions();
- if (!actions.isEmpty()) {
- QAction *action = actions[3];
- action->trigger();
- }
+// QList actions = m_pPlotToolBar->actions();
+// if (!actions.isEmpty()) {
+// QAction *action = actions[3];
+// action->trigger();
+// }
+ this->triggerToolBarAction(NOT_PolygonOutline);
}
void nmSubWndMain::drawSquareOutline()
@@ -689,21 +690,24 @@ void nmSubWndMain::drawRoundOutline()
void nmSubWndMain::drawFault()
{
+ this->triggerToolBarAction(NOT_Line_Fault);
}
void nmSubWndMain::drawWell()
{
// 获取多边形边界的绘制,并模拟触发点击操作
// 目前多边形边界绘制是工具栏的第4个,所以用 3
- QList actions = m_pPlotToolBar->actions();
- if (!actions.isEmpty()) {
- QAction *action = actions[0];
- action->trigger();
- }
+// QList actions = m_pPlotToolBar->actions();
+// if (!actions.isEmpty()) {
+// QAction *action = actions[0];
+// action->trigger();
+// }
+ this->triggerToolBarAction(NOT_Point_Well);
}
void nmSubWndMain::drawCrack()
{
+ this->triggerToolBarAction(NOT_Line_Crack);
}
void nmSubWndMain::drawRegion()
@@ -730,7 +734,18 @@ void nmSubWndMain::generationMesh()
//// gridWindow->resize(1200, 800);
//// gridWindow->show();
// gridWindow->initialize();
-// gridWindow->render();
+ // gridWindow->render();
+}
+
+void nmSubWndMain::triggerToolBarAction(int index)
+{
+ // 获取多边形边界的绘制,并模拟触发点击操作
+ // 目前多边形边界绘制是工具栏的第4个,所以用 3
+ QList actions = m_pPlotToolBar->actions();
+ if (!actions.isEmpty() && index >= 0 && index < actions.count()) {
+ QAction *action = actions[index];
+ action->trigger();
+ }
}
bool nmSubWndMain::onConfirmClosing()