diff --git a/Bin/Config/Attributes/MPA.dat b/Bin/Config/Attributes/MPA.dat deleted file mode 100644 index bedb4b0..0000000 Binary files a/Bin/Config/Attributes/MPA.dat and /dev/null differ diff --git a/Bin/Config/Attributes/MPA_Attributes_cn.dat b/Bin/Config/Attributes/MPA_Attributes_cn.dat deleted file mode 100644 index 6010208..0000000 --- a/Bin/Config/Attributes/MPA_Attributes_cn.dat +++ /dev/null @@ -1 +0,0 @@ -PD94bWwgdmVycup_mpac2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx6aEF0dHJpYnV0ZXM+DQogICwzyAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9Ilp4T2JqQmFzZSIgT3JkZXI9IjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56LGh5ZCN56ewIiBOYW1lPSJaeE9iakJhc2UuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCYXNlLmNwcCg2MDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrlrZDlr7nosaEiIE5hbWU9Ilp4T2JqQmFzZS5TaG93U3ViT2JqcyIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpCYXNlLmNwcCg2MDMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWvueixoSIgTmFtZT0iQXhpczEiIE9yZGVyPSIyIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWQjeensCIgTmFtZT0iQXhpcy5OYW1lIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0MzYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkF4aXMuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6IyD5Zu0IiBOYW1lPSJBeGlzMiIgT3JkZXI9IjMiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pyA5bCPIiBOYW1lPSJTY2FsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWkpyIgTmFtZT0iU2NhbGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NTApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iue9keagvCIgTmFtZT0iQXhpczMiIE9yZGVyPSI0Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuS4u+WIu+W6piIgTmFtZT0iQXhpcy5zaG93QmlnU2NhbGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ1NykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuue7huWIhuWIu+W6piIgTmFtZT0iQXhpcy5zaG93U21hbGxTY2FsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDU4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Li75Yi75bqmIiBOYW1lPSJBeGlzLk1haW5JbnRlcnZhbCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDUxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57uG5YiG5Yi75bqmIiBOYW1lPSJBeGlzLlN1YkludGVydmFsIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NTIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaYvuekuuaooeW8jyIgTmFtZT0iQXhpczQiIE9yZGVyPSI1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIu+W6puaYvuS6juWkluS+pyIgTmFtZT0iQXhpcy5zY2FsZU91dHdhcmQiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ2MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS5mOW5guaYvuekuuWIu+W6piIgTmFtZT0iQXhpcy5zaG93VGlja0FzRXhwIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NzIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlsI/mlbDkvY3mlbAiIE5hbWU9IkF4aXMuRGVjaW1hbE51bWJlciIgRWRpdG9yPSJJbnRTcGluIiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDY0KSIgTWluPSIwIiBNYXg9IjEwIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iQXhpczUiIE9yZGVyPSI2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWQjeensOWtl+S9kyIgTmFtZT0iQXhpcy5OYW1lRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDY3KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Yi75bqm5a2X5L2TIiBOYW1lPSJBeGlzLk51bWJlckZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ2OCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuW5guWtl+S9kyIgTmFtZT0iQXhpcy5JbmRleEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ3MSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuminOiJsiIgTmFtZT0iQXhpcy5Db2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0NCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJQbG90MSIgT3JkZXI9IjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65qCH6aKYIiBOYW1lPSJQbG90LlNob3dUaXRsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzA5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65Zu+5L6LIiBOYW1lPSJQbG90LlNob3dMZWdlbmQiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwNikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i572R5qC8IiBOYW1lPSJQbG90MiIgT3JkZXI9IjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65Li75Yi75bqmWCIgTmFtZT0iUGxvdC5zaG93U2NhbGVCaWdYIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrkuLvliLvluqZZIiBOYW1lPSJQbG90LnNob3dTY2FsZUJpZ1kiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcxNSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuasoeWIu+W6plgiIE5hbWU9IlBsb3Quc2hvd1NjYWxlU21hbGxYIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIzIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MTkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrmrKHliLvluqZZIiBOYW1lPSJQbG90LnNob3dTY2FsZVNtYWxsWSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iNCIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzIxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLloavlhYUiIE5hbWU9IlBsb3QzIiBPcmRlcj0iOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmuJDlj5joibIxIiBOYW1lPSJQbG90LkJLQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmuJDlj5joibIyIiBOYW1lPSJQbG90LkJLQ29sb3JFeCIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwMSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJQbG90NCIgT3JkZXI9IjEwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui+ueahhuminOiJsiIgTmFtZT0iUGxvdC5GcmFtZUNvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzAyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IlBsb3Q1IiBPcmRlcj0iMTEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L656LedIiBOYW1lPSJQbG90Lk1hcmdpbiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzIzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9IlBsb3Q2IiBPcmRlcj0iMTIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5qCH6aKY5L2N572uIiBOYW1lPSJQbG90LlRpdGxlUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MjUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iWnhPYmoxIiBPcmRlcj0iMTMiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5puy57q/5Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5DdXJ2ZVZpc2libGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMjk0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57q/5Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5MaW5lVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDkyMCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOauteWPr+ingSIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuU2VnbWVudFZpc2libGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg5MjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iWnhPYmoyIiBPcmRlcj0iMTQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmtYHliqjnur/popzoibIiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLmNsckZsb3dMaW5lIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDkyMikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOauteminOiJsiIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuY2xyRmxvd1NlZ21lbnQiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoOTIzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5Eb3QiIEVkaXRvcj0iRG90IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLpgInkuK3ngrnmqKHlvI8iIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkRvdFNlbCIgRWRpdG9yPSJEb3QiIE9yZGVyPSI1IiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5NikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5L2N572uIiBOYW1lPSJaeE9iajMiIE9yZGVyPSIxNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLpgInmi6nntKLlvJUiIE5hbWU9Ilp4T2JqQ3VydmVGbG93LkN1clNlZ1B0SW5kZXgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoOTI1KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9Ilp4T2JqNCIgT3JkZXI9IjE2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuenu+WKqOaooeW8jyIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cub2JqQ3VydmVGbG93TW92ZU1vZGUiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMzAwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IkxlZ2VuZDEiIE9yZGVyPSIxNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrovrnmoYYiIE5hbWU9IkxkLlNob3dGcmFtZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzgwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJMZC5GcmFtZVBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWIhue7hOagh+ivhiIgTmFtZT0iTGVnZW5kMiIgT3JkZXI9IjE4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheiJsiIgTmFtZT0iTGRHcm91cC5CYWNrZ3JkQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6Imy6YCP5piO5bqmIiBOYW1lPSJMZEdyb3VwLkJhY2tncmRDbHJBbHBoYSIgRWRpdG9yPSJTbGlkZXIiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODQpIiBNaW49IjAiIE1heD0iMjU1Ii8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLliIbnu4TlkI3np7DlrZfkvZMiIE5hbWU9IkxkR3JvdXAuVGV4dEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIhue7hOWQjeensOminOiJsiIgTmFtZT0iTGRHcm91cC5UZXh0Q2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlm77kvovpobkiIE5hbWU9IkxlZ2VuZDMiIE9yZGVyPSIxOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpopzoibIiIE5hbWU9IkxkSXRlbS5CYWNrZ3JkQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6Imy6YCP5piO5bqmIiBOYW1lPSJMZEl0ZW0uQmFja2dyZENsckFscGhhIiBFZGl0b3I9IlNsaWRlciIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4OSkiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuS+i+WQjeensOWtl+S9kyIgTmFtZT0iTGRJdGVtLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlm77kvovlkI3np7DpopzoibIiIE5hbWU9IkxkSXRlbS5UZXh0Q2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzkxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IkxlZ2VuZDQiIE9yZGVyPSIyMCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhoXnvKnov5socHgpIiBOYW1lPSJMZC5NYXJnaW5Jbm5lciIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklue8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbk91dGVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk0KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLmlbTkvZPkvY3nva4iIE5hbWU9IkxlZ2VuZDUiIE9yZGVyPSIyMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkvY3nva4iIE5hbWU9IkxkLkxkUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzNjYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iTGVnZW5kNiIgT3JkZXI9IjIyIiBFeHBhbmQ9IjAiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Zu+56S65a695bqmIiBOYW1lPSJMZC5MZWZ0V2lkdGgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjpq5jluqYiIE5hbWU9IkxkLkdyb3VwSGVpZ2h0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9IlRpdGxlMSIgT3JkZXI9IjIzIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuagh+mimOWGheWuuSIgTmFtZT0iVGl0bGUuVGl0bGVUZXh0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCg5OSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJUaXRsZTIiIE9yZGVyPSIyNCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlrZfkvZMiIE5hbWU9IlRpdGxlLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCgxMDEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjpopzoibIiIE5hbWU9IlRpdGxlLlRleHRDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViVGl0bGUuY3BwKDEwMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJSZWN0MSIgT3JkZXI9IjI1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuui+ueahhiIgTmFtZT0iUmVjdC5TaG93Qm94IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialJlY3QuY3BwKDMxMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aGr5YWFIiBOYW1lPSJSZWN0MiIgT3JkZXI9IjI2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuiDjOaZr+minOiJsiIgTmFtZT0iUmVjdC5CYWNrZ3JvdW5kQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialJlY3QuY3BwKDMwOCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuiDjOaZr+minOiJsumAj+aYjuW6piIgTmFtZT0iUmVjdC5CYWNrZ3JvdW5kQWxwaGEiIEVkaXRvcj0iU2xpZGVyIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDkpIiBNaW49IjAiIE1heD0iMjU1Ii8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUmVjdDMiIE9yZGVyPSIyNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnlLvnrJQiIE5hbWU9IlJlY3QuQm91bmRQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMTEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iQmFuZDEiIE9yZGVyPSIyOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlt6bovrnnlYwiIE5hbWU9IkJhbmQuTCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlj7PovrnnlYwiIE5hbWU9IkJhbmQuUiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuIrovrnnlYwiIE5hbWU9IkJhbmQuVCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuIvovrnnlYwiIE5hbWU9IkJhbmQuQiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMzApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUG9pbnQiIE9yZGVyPSIyOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IlBvaW50LkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSIxIiBQYXRoPSJubU9ialBvaW50LmNwcCgxNjIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iTGluZTEiIE9yZGVyPSIzMCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrngrkiIE5hbWU9IkxpbmUuU2hvd0RvdFBvaW50IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialNlZ0xpbmUuY3BwKDQwNykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJMaW5lMiIgT3JkZXI9IjMxIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IueUu+eslCIgTmFtZT0iTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpTZWdMaW5lLmNwcCg0MDYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IkxpbmUuRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqU2VnTGluZS5jcHAoNDA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9IkxpbmUzIiBPcmRlcj0iMzIiPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iui1t+eCuSIgTmFtZT0iU3RhcnRQb3MiIE9yZGVyPSIxIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IlN0YXJ0UG9zLlgiIEVkaXRvcj0iRWRpdCIgZGlnaXRzPSI0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpMaW5lLmNwcCgyNzkpIi8+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWSIgTmFtZT0iU3RhcnRQb3MuWSIgRWRpdG9yPSJFZGl0IiBkaWdpdHM9IjQiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MCkiLz4NCiAgICAgICAgPC9QdHlHcm91cD4NCiAgICAgICAgPFB0eUdyb3VwIExhYmVsPSLnu4jngrkiIE5hbWU9IkVuZFBvcyIgT3JkZXI9IjMzIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IkVuZFBvcy5YIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBkaWdpdHM9IjQiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjgxKSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IkVuZFBvcy5ZIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBkaWdpdHM9IjQiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjgyKSIvPg0KICAgICAgICA8L1B0eUdyb3VwPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLloavlhYUiIE5hbWU9IlBvbHlnb24xIiBPcmRlcj0iMzQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5piv5ZCm5aGr5YWFIiBOYW1lPSJQb2x5Z29uLklzRmlsbCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpQb2x5Z29uLmNwcCgyODMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpopzoibIiIE5hbWU9IlBvbHlnb24uRmlsbENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpQb2x5Z29uLmNwcCgyODIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUG9seWdvbjIiIE9yZGVyPSIzNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnnlYznlLvnrJQiIE5hbWU9IlBvbHlnb24uUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9IlRleHQxIiBPcmRlcj0iMzYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5paH5pysIiBOYW1lPSJUZXh0LlRleHQiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA5KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLmmL7npLrmqKHlvI8iIE5hbWU9IlRleHQyIiBPcmRlcj0iMzciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Ieq5Yqo6LCD5pW0IiBOYW1lPSJUZXh0LkF1dG9BZGp1c3QiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjEyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56b2Q5qih5byPIiBOYW1lPSJUZXh0LkFsaWduRmxhZyIgRWRpdG9yPSJGbGFncyIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjE2KSIvPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9IuaWh+acrOWvuem9kCIgTmFtZT0iQWxpZ24iIE9yZGVyPSIzIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuawtOW5s+Wvuem9kCIgTmFtZT0iVGV4dC5BbGlnbkhvciIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMTkpIi8+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Z6C55u05a+56b2QIiBOYW1lPSJUZXh0LkFsaWduVmVydCIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMjkpIi8+DQogICAgICAgIDwvUHR5R3JvdXA+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iVGV4dDMiIE9yZGVyPSIzOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlrZfkvZMiIE5hbWU9IlRleHQuRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlrZfkvZPpopzoibIiIE5hbWU9IlRleHQuQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9ialRleHQuY3BwKDIxMSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui+ueahhueUu+eslCIgTmFtZT0iVGV4dC5Cb3JkZXJQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iOSIgUGF0aD0iWnhTdHJpbmdJdGVtLmNwcCgxMjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iVGV4dDQiIE9yZGVyPSIzOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhYHorrjnvJbovpEiIE5hbWU9IlRleHQuTWFudWxFZGl0IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI1IiBQYXRoPSJaeE9ialRleHQuY3BwKDIxMykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Zu+54mHIiBOYW1lPSJJbWFnZSIgT3JkZXI9IjQwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuadpea6kCIgTmFtZT0iSW1hZ2UuSW1nUGF0aCIgRWRpdG9yPSJQaWN0dXJlIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpJbWFnZS5jcHAoMTEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLoibLooagiIE5hbWU9IkNvbG9yVGFibGUiIE9yZGVyPSI0MSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7AiIE5hbWU9IkNvbG9yVGFibGUuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkNvbG9yVGFibGUuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlpKciIE5hbWU9IkNvbG9yVGFibGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkNvbG9yVGFibGUuY3BwKDI4OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWwjyIgTmFtZT0iQ29sb3JUYWJsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQ29sb3JUYWJsZS5jcHAoMjkwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57G75Z6LIiBOYW1lPSJDb2xvclRhYmxlLkNvbG9yVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iNSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyOTIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlciIgT3JkZXI9IjQyIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5Cb3JkZXIuVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDYzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iUGVuIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlci5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDY2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJaeE9iakN1cnZlQmFyLkJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIiIE9yZGVyPSI0MyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJXaWR0aCIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuV2lkdGgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ2OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuRmlsbCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDcwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJhci5GaWxsQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDczKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJaeE9iakN1cnZlQmFyLlZhbHVlIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlIiBPcmRlcj0iNDQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpblZhbHVlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NzYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuVmFsdWUuUGluRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDc5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpbkNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ4MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhciIgT3JkZXI9IjQ1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5TaG93M0QiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ4MikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJXbUxpbmUiIE9yZGVyPSI0NiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuLvnlLvnrJQiIE5hbWU9IldtTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW5lLmNwcCgyNzgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrKHnlLvnrJQiIE5hbWU9IldtTGluZS5TdWJQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpXbUxpbmUuY3BwKDQ2NSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpQb2x5Z29uIiBPcmRlcj0iNDciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJPYmpQb2x5Z29uLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheiDjOaZryIgTmFtZT0iT2JqUG9seWdvbi5CYWNrZ3JkQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE4NikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFhemAj+aYjuW6piIgTmFtZT0iT2JqUG9seWdvbi5CYWNrZ3JkQ29sb3JBbHBoYSIgRWRpdG9yPSJTbGlkZXIiIE9yZGVyPSIzIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE4NykiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6L6555WM5bGe5oCnIiBOYW1lPSJPYmpQb2x5Z29uT3V0bGluZSIgT3JkZXI9IjQ4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOaooeWeiyIgTmFtZT0iT2JqUG9seWdvbk91dGxpbmUuVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpQb2x5Z29uT3V0bGluZS5jcHAoNjcpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iuijgue8nea1geWKqOexu+WeiyIgTmFtZT0iT2JqTGluZUNyYWNrIiBPcmRlcj0iNDkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ewIiBOYW1lPSJPYmpMaW5lQ3JhY2suTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW5lQ3JhY2suY3BwKDE3NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOexu+WeiyIgTmFtZT0iT2JqTGluZUNyYWNrLkZsb3dNb2RlbCIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpMaW5lQ3JhY2suY3BwKDE3NikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWuveW6piIgTmFtZT0iT2JqTGluZUNyYWNrLlRoaWNrbmVzcyIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0ibm1PYmpMaW5lQ3JhY2suY3BwKDE3NykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS8oOWvvOeOhyIgTmFtZT0iT2JqTGluZUNyYWNrLkNvbmR1Y3Rpdml0eSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0ibm1PYmpMaW5lQ3JhY2suY3BwKDE3OCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pat5bGC5rWB5Yqo57G75Z6LIiBOYW1lPSJPYmpMaW5lRmF1bHQiIE9yZGVyPSI1MCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7AiIE5hbWU9Ik9iakxpbmVGYXVsdC5OYW1lIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJubU9iakxpbmVGYXVsdC5jcHAoMTc1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo57G75Z6LIiBOYW1lPSJPYmpMaW5lRmF1bHQuRmxvd01vZGVsIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIyIiBQYXRoPSJubU9iakxpbmVGYXVsdC5jcHAoMTc2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5riX6YCP546HIiBOYW1lPSJPYmpMaW5lRmF1bHQuTGVha2FnZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0ibm1PYmpMaW5lRmF1bHQuY3BwKDE3NykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6L6555WM6Led56a7IiBOYW1lPSJCZHlDcmljbGUiIE9yZGVyPSI1MSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsiIE5hbWU9IkJkeUNyaWNsZS5EaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCZHlDcmljbGUuY3BwKDE1MSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzEiIE5hbWU9IkJkeUNyb3NzLkhvckRpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakJkeUNyb3NzLmNwcCgyNzApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsyIiBOYW1lPSJCZHlDcm9zcy5TaWRlRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQmR5Q3Jvc3MuY3BwKDI3MSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWkueinkiIgTmFtZT0iQmR5Q3Jvc3MuU2lkZUFuZ2xlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI0IiBQYXRoPSJaeE9iakJkeUNyb3NzLmNwcCgyNzIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsiIE5hbWU9IkJkeUxpbmUuRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjUiIFBhdGg9Ilp4T2JqQmR5TGluZS5jcHAoMTgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7MSIgTmFtZT0iQmR5TGluZS5PbmVEaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNiIgUGF0aD0iWnhPYmpCZHlUcmkuY3BwKDMxMikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzIiIE5hbWU9IkJkeUxpbmUuVHdvRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjciIFBhdGg9Ilp4T2JqQmR5VHJpLmNwcCgzMTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsxIiBOYW1lPSJCZHlMaW5lLlRvcERpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI4IiBQYXRoPSJaeE9iakJkeVJlY3QuY3BwKDI3MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzIiIE5hbWU9IkJkeUxpbmUuQm90dG9tRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjkiIFBhdGg9Ilp4T2JqQmR5UmVjdC5jcHAoMjc0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7MyIgTmFtZT0iQmR5TGluZS5MZWZ0RGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEwIiBQYXRoPSJaeE9iakJkeVJlY3QuY3BwKDI3NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzQiIE5hbWU9IkJkeUxpbmUuUmlnaHREaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMTEiIFBhdGg9Ilp4T2JqQmR5UmVjdC5jcHAoMjc2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7IiBOYW1lPSJCZHlMaW5lLlNpbmdsZURpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxMiIgUGF0aD0iWnhPYmpCZHlUcmkuY3BwKDMxMSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6L6555WM5pa55L2NIiBOYW1lPSJCZHlQYXJhbCIgT3JkZXI9IjUzIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaWueS9jSIgTmFtZT0iQmR5UGFyYWwuUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakJkeVBhcmFsLmNwcCgyNDEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmlrnkvY0iIE5hbWU9IkJkeUxpbmUuUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIyIiBQYXRoPSJaeE9iakJkeUxpbmUuY3BwKDE4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaWueS9jSIgTmFtZT0iQmR5VHJpLlBvcyIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpCZHlUcmkuY3BwKDMxNSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5q615Y+C5pWwIiBOYW1lPSJTZWdMaW5lIiBPcmRlcj0iNTUiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5L2N572uKOawtOW5s20pIiBOYW1lPSJTZWdMaW5lLk5xWCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpTZWdMaW5lLmNwcCg0MTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrrXplb/luqYiIE5hbWU9IlNlZ0xpbmUuTnFMIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9ialNlZ0xpbmUuY3BwKDQxMSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuinkuW6piIgTmFtZT0iU2VnTGluZS5OcUEiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqU2VnTGluZS5jcHAoNDEyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva7kv6Hmga8iIE5hbWU9IndtRGF0YSIgT3JkZXI9IjU2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWdkOagh3giIE5hbWU9IndtRGF0YS5Qb3NYIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg3MDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlnZDmoId5IiBOYW1lPSJ3bURhdGEuUG9zWSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNzAxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LqV6Ze06LedIiBOYW1lPSJ3bURhdGEuV2VsbERpcyIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNzA1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YC+6KeSIiBOYW1lPSJ3bURhdGEuV2VsbFNsb3BlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI0IiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg3MDYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuS6leeCuSIgTmFtZT0id21Qb2ludCIgT3JkZXI9IjU3Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumVv+W6piIgTmFtZT0id21Qb2ludC5XbUxlbiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNjY5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YC+6KeSIiBOYW1lPSJ3bVBvaW50LldtRGV2IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg3MDcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrrXplb8iIE5hbWU9IndtUG9pbnQuU2VnTGVuViIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNjcxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IndtUG9pbnQxIiBPcmRlcj0iNTgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJ3bVBvaW50LkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDY3MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieS4reeUu+eslCIgTmFtZT0id21Qb2ludC5Eb3RTZWwiIEVkaXRvcj0iRG90IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg2NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLml6DmlYjpopzoibIiIE5hbWU9IndtUG9pbnQuQ2xyRmlsbFVudmFsaWQiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDY3NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklui+ueahhuminOiJsiIgTmFtZT0id21Qb2ludC5DbHJPdXRlciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNjc1KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLnvZHmoLxb5rWL6K+VXSIgTmFtZT0iVHJpR3JpZCIgT3JkZXI9IjU4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS4u+eUu+eslCIgTmFtZT0iVHJpR3JpZC5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUcmlHcmlkLmNwcCg1ODIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrKHnlLvnrJQiIE5hbWU9IlRyaUdyaWQuU3ViUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqVHJpR3JpZC5jcHAoNTgzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJPYmpGYXVsdCIgTmFtZT0iT2JqRmF1bHQiIE9yZGVyPSI1OSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJQZW4iIE5hbWU9Ik9iakZhdWx0LlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJubU9iakZhdWx0LmNwcCgxNjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ik9iakZyYWN0dXJlIiBOYW1lPSJPYmpGcmFjdHVyZSIgT3JkZXI9IjYwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlBlbiIgTmFtZT0iT2JqRnJhY3R1cmUuUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Im5tT2JqRnJhY3R1cmUuY3BwKDE4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iT2JqRnJhY3R1cmUuQmFja2dyZENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpGcmFjdHVyZS5jcHAoMTg2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9Ik9iakxpbWl0IiBPcmRlcj0iNjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJPYmpMaW1pdC5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW1pdC5jcHAoMTg1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6IOM5pmvIiBOYW1lPSJPYmpMaW1pdC5CYWNrZ3JkQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJubU9iakxpbWl0LmNwcCgxODYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpgI/mmI7luqYiIE5hbWU9Ik9iakxpbWl0LkJhY2tncmRDb2xvckFscGhhIiBFZGl0b3I9IlNsaWRlciIgT3JkZXI9IjMiIFBhdGg9Im5tT2JqTGltaXQuY3BwKDE4NykiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpDb21wYXNzIiBPcmRlcj0iNjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJDcFBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDMwNykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumVvy/lrr0iIE5hbWU9IkNwU2l6ZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDb21wYXNzLmNwcCgzMjQpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaVtOS9k+S9jee9riIgTmFtZT0iT2JqQ29tcGFzczIiIE9yZGVyPSI2MyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkvY3nva4iIE5hbWU9IkNwUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDMwOCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5LqV5ZCN6K6+572uIiBOYW1lPSJXbU1hcDEiIE9yZGVyPSI2NCI+DQoNCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuWQjeensCIgTmFtZT0iV21NYXAuTmFtZVZpc2libGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4MzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7DpopzoibIiIE5hbWU9IldtTWFwLldtTmFtZUNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4MzYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7DlrZfkvZMiIE5hbWU9IldtTWFwLldtTmFtZUZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4MzcpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuS6leeCueiuvue9riIgTmFtZT0iV21NYXAyIiBPcmRlcj0iNjUiPg0KDQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXngrnmoLflvI8iIE5hbWU9IldtTWFwLldtRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjEiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4MzkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXngrnlpKflsI8iIE5hbWU9IldtTWFwLldtUHRSIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDcxOSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheminOiJsiIgTmFtZT0iV21NYXAuV21PdXRlckZpbGxpbmdDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJpR3VpUGxvdE1hcC5jcHAoODQwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6YCP5piO5bqmIiBOYW1lPSJXbU1hcC5XbU91dGVyRmlsbGluZ0NsckFscGhhIiBFZGl0b3I9IlNsaWRlciIgT3JkZXI9IjQiIE1pbj0iMCIgTWF4PSIyNTUiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4NDEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlpJbovrnmoYbpopzoibIiIE5hbWU9IldtTWFwLldtT3V0ZXJMaW5lQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNSIgUGF0aD0iaUd1aVBsb3RNYXAuY3BwKDg0MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5LqV5q616K6+572uIiBOYW1lPSJXbU1hcDMiIE9yZGVyPSI2NiI+DQoNCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS6lemVv+W6piIgTmFtZT0iV21NYXAuV21MZW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeE9ialdtTGluZS5jcHAoMzg1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LqV6ZW/55S756yUIiBOYW1lPSJXbU1hcC5XbUxpbmVQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMiIgUGF0aD0iaUd1aVBsb3RNYXAuY3BwKDg0NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS6leauteaVsCIgTmFtZT0iV21NYXAuV21TZWdDb3VudCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpXbUxpbmVQbHVzLmNwcCgxODIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXmrrXplb8iIE5hbWU9IldtTWFwLldtU2VnTGVuViIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpXbUxpbmVQbHVzLmNwcCgxODMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXmrrXnlLvnrJQiIE5hbWU9IldtTWFwLldtU2VnUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjUiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4NDUpIi8+DQogICAgPC9QdHlHcm91cD4NCjwvemhBdHRyaWJ1dGVzPg0K \ No newline at end of file diff --git a/Bin/Config/Attributes/MPA_Attributes_en.dat b/Bin/Config/Attributes/MPA_Attributes_en.dat deleted file mode 100644 index 4b5a6b5..0000000 --- a/Bin/Config/Attributes/MPA_Attributes_en.dat +++ /dev/null @@ -1 +0,0 @@ -77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx6aEF0dHJpYnV0ZXM+DQwzyoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWvueixoSIgTmFtZT0iWnhPYmpCYXNlIiBPcmRlcj0iMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlr7nosaHlkI3np7AiIE5hbWU9Ilp4T2JqQmFzZS5OYW1lIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakJhc2UuY3BwKDU5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuWtkOWvueixoSIgTmFtZT0iWnhPYmpCYXNlLlNob3dTdWJPYmpzIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakJhc2UuY3BwKDU5OCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJBeGlzMSIgT3JkZXI9IjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ewIiBOYW1lPSJBeGlzLk5hbWUiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQxOCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWNleS9jSIgTmFtZT0iQXhpcy5Vbml0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDIzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLojIPlm7QiIE5hbWU9IkF4aXMyIiBPcmRlcj0iMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlsI8iIE5hbWU9IlNjYWxlLk1pbiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDMxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pyA5aSnIiBOYW1lPSJTY2FsZS5NYXgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQzMikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i572R5qC8IiBOYW1lPSJBeGlzMyIgT3JkZXI9IjQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65Li75Yi75bqmIiBOYW1lPSJBeGlzLnNob3dCaWdTY2FsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDM5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S657uG5YiG5Yi75bqmIiBOYW1lPSJBeGlzLnNob3dTbWFsbFNjYWxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuLvliLvluqYiIE5hbWU9IkF4aXMuTWFpbkludGVydmFsIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0MzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnu4bliIbliLvluqYiIE5hbWU9IkF4aXMuU3ViSW50ZXJ2YWwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQzNCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pi+56S65qih5byPIiBOYW1lPSJBeGlzNCIgT3JkZXI9IjUiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Yi75bqm5pi+5LqO5aSW5L6nIiBOYW1lPSJBeGlzLnNjYWxlT3V0d2FyZCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LmY5bmC5pi+56S65Yi75bqmIiBOYW1lPSJBeGlzLnNob3dUaWNrQXNFeHAiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWwj+aVsOS9jeaVsCIgTmFtZT0iQXhpcy5EZWNpbWFsTnVtYmVyIiBFZGl0b3I9IkludFNwaW4iIE9yZGVyPSIzIiBNaW49IjAiIE1heD0iMTAiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0MikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJBeGlzNSIgT3JkZXI9IjYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ew5a2X5L2TIiBOYW1lPSJBeGlzLk5hbWVGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NDQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLliLvluqblrZfkvZMiIE5hbWU9IkF4aXMuTnVtYmVyRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQ1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5bmC5a2X5L2TIiBOYW1lPSJBeGlzLkluZGV4Rm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQ4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6aKc6ImyIiBOYW1lPSJBeGlzLkNvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDI2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLln7rnoYAiIE5hbWU9IlBsb3QxIiBPcmRlcj0iNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrmoIfpopgiIE5hbWU9IlBsb3QuU2hvd1RpdGxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2ODkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrlm77kvosiIE5hbWU9IlBsb3QuU2hvd0xlZ2VuZCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjg3KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLnvZHmoLwiIE5hbWU9IlBsb3QyIiBPcmRlcj0iOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrkuLvliLvluqZYIiBOYW1lPSJQbG90LnNob3dTY2FsZUJpZ1giIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuS4u+WIu+W6plkiIE5hbWU9IlBsb3Quc2hvd1NjYWxlQmlnWSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjkzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65qyh5Yi75bqmWCIgTmFtZT0iUGxvdC5zaG93U2NhbGVTbWFsbFgiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjMiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuasoeWIu+W6plkiIE5hbWU9IlBsb3Quc2hvd1NjYWxlU21hbGxZIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI0IiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2OTYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWhq+WFhSIgTmFtZT0iUGxvdDMiIE9yZGVyPSI5Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua4kOWPmOiJsjEiIE5hbWU9IlBsb3QuQktDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY4MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua4kOWPmOiJsjIiIE5hbWU9IlBsb3QuQktDb2xvckV4IiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjgzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBsb3Q0IiBPcmRlcj0iMTAiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG6aKc6ImyIiBOYW1lPSJQbG90LkZyYW1lQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2ODUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iUGxvdDUiIE9yZGVyPSIxMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnot50iIE5hbWU9IlBsb3QuTWFyZ2luIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2OTgpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iUGxvdDYiIE9yZGVyPSIxMiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjkvY3nva4iIE5hbWU9IlBsb3QuVGl0bGVQb3MiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJaeE9iajEiIE9yZGVyPSIxMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmm7Lnur/lj6/op4EiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkN1cnZlVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnur/lj6/op4EiIE5hbWU9Ilp4T2JqQ3VydmVGbG93LkxpbmVWaXNpYmxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoODcwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo5q615Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5TZWdtZW50VmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDg3MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJaeE9iajIiIE9yZGVyPSIxNCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnlLvnrJQiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOe6v+minOiJsiIgTmFtZT0iWnhPYmpDdXJ2ZUJhc2UuY2xyRmxvd0xpbmUiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoODcyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo5q616aKc6ImyIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5jbHJGbG93U2VnbWVudCIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg4NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSI0IiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieS4reeCueaooeW8jyIgTmFtZT0iWnhPYmpDdXJ2ZUJhc2UuRG90U2VsIiBFZGl0b3I9IkRvdCIgT3JkZXI9IjUiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMjk2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9Ilp4T2JqMyIgT3JkZXI9IjE1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieaLqee0ouW8lSIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuQ3VyU2VnUHRJbmRleCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg4NzUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iWnhPYmo0IiBPcmRlcj0iMTYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i56e75Yqo5qih5byPIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5vYmpDdXJ2ZUZsb3dNb3ZlTW9kZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgzMDApIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iTGVnZW5kMSIgT3JkZXI9IjE3Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuui+ueahhiIgTmFtZT0iTGQuU2hvd0ZyYW1lIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzNzkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnmoYbnlLvnrJQiIE5hbWU9IkxkLkZyYW1lUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5YiG57uE5qCH6K+GIiBOYW1lPSJMZWdlbmQyIiBPcmRlcj0iMTgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6ImyIiBOYW1lPSJMZEdyb3VwLkJhY2tncmRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXoibLpgI/mmI7luqYiIE5hbWU9IkxkR3JvdXAuQmFja2dyZENsckFscGhhIiBFZGl0b3I9IlNsaWRlciIgTWluPSIwIiBNYXg9IjEwMCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIhue7hOWQjeensOWtl+S9kyIgTmFtZT0iTGRHcm91cC5UZXh0Rm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YiG57uE5ZCN56ew6aKc6ImyIiBOYW1lPSJMZEdyb3VwLlRleHRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWbvuS+i+mhuSIgTmFtZT0iTGVnZW5kMyIgT3JkZXI9IjE5Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheminOiJsiIgTmFtZT0iTGRJdGVtLkJhY2tncmRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXoibLpgI/mmI7luqYiIE5hbWU9IkxkSXRlbS5CYWNrZ3JkQ2xyQWxwaGEiIEVkaXRvcj0iU2xpZGVyIiBNaW49IjAiIE1heD0iMTAwIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Zu+5L6L5ZCN56ew5a2X5L2TIiBOYW1lPSJMZEl0ZW0uVGV4dEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuS+i+WQjeensOminOiJsiIgTmFtZT0iTGRJdGVtLlRleHRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iTGVnZW5kNCIgT3JkZXI9IjIwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWGhee8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbklubmVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklue8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbk91dGVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pW05L2T5L2N572uIiBOYW1lPSJMZWdlbmQ1IiBPcmRlcj0iMjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5L2N572uIiBOYW1lPSJMZC5MZFBvcyIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzY2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9IkxlZ2VuZDYiIE9yZGVyPSIyMiIgRXhwYW5kPSIwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuekuuWuveW6piIgTmFtZT0iTGQuTGVmdFdpZHRoIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5qCH6aKY6auY5bqmIiBOYW1lPSJMZC5Hcm91cEhlaWdodCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5NSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJUaXRsZTEiIE9yZGVyPSIyMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlhoXlrrkiIE5hbWU9IlRpdGxlLlRpdGxlVGV4dCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJUaXRsZS5jcHAoOTcpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iVGl0bGUyIiBPcmRlcj0iMjQiPg0KICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlrZfkvZMiIE5hbWU9IlRpdGxlLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCg5OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuagh+mimOminOiJsiIgTmFtZT0iVGl0bGUuVGV4dENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJUaXRsZS5jcHAoOTgpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iUmVjdDEiIE9yZGVyPSIyNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrovrnmoYYiIE5hbWU9IlJlY3QuU2hvd0JveCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDkpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWhq+WFhSIgTmFtZT0iUmVjdDIiIE9yZGVyPSIyNiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLog4zmma/popzoibIiIE5hbWU9IlJlY3QuQmFja2dyb3VuZENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLog4zmma/popzoibLpgI/mmI7luqYiIE5hbWU9IlJlY3QuQmFja2dyb3VuZEFscGhhIiBFZGl0b3I9IlNsaWRlciIgTWluPSIwIiBNYXg9IjEwMCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqUmVjdC5jcHAoMzA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlJlY3QzIiBPcmRlcj0iMjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJSZWN0LkJvdW5kUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUmVjdC5jcHAoMzEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IkJhbmQxIiBPcmRlcj0iMjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5bem6L6555WMIiBOYW1lPSJCYW5kLkwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjIzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Y+z6L6555WMIiBOYW1lPSJCYW5kLlIiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LiK6L6555WMIiBOYW1lPSJCYW5kLlQiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LiL6L6555WMIiBOYW1lPSJCYW5kLkIiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI5KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBvaW50IiBPcmRlcj0iMjkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJQb2ludC5Eb3QiIEVkaXRvcj0iRG90IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpQb2ludC5jcHAoMTU3KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLln7rnoYAiIE5hbWU9IkxpbmUxIiBPcmRlcj0iMzAiPg0KICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrngrkiIE5hbWU9IkxpbmUuU2hvd0RvdFBvaW50IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJMaW5lMiIgT3JkZXI9IjMxIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IueUu+eslCIgTmFtZT0iTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpMaW5lLmNwcCgyODIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IkxpbmUuRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjg0KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9IkxpbmUzIiBPcmRlcj0iMzIiPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iui1t+eCuSIgTmFtZT0iU3RhcnRQb3MiIE9yZGVyPSIxIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IlN0YXJ0UG9zLlgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjc4KSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IlN0YXJ0UG9zLlkiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjc5KSIvPg0KICAgICAgICA8L1B0eUdyb3VwPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iue7iOeCuSIgTmFtZT0iRW5kUG9zIiBPcmRlcj0iMzMiIEV4cGFuZD0iMCI+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWCIgTmFtZT0iRW5kUG9zLlgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjgwKSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IkVuZFBvcy5ZIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MSkiLz4NCiAgICAgICAgPC9QdHlHcm91cD4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aGr5YWFIiBOYW1lPSJQb2x5Z29uMSIgT3JkZXI9IjM0Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYr+WQpuWhq+WFhSIgTmFtZT0iUG9seWdvbi5Jc0ZpbGwiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6aKc6ImyIiBOYW1lPSJQb2x5Z29uLkZpbGxDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBvbHlnb24yIiBPcmRlcj0iMzUiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L6555WM55S756yUIiBOYW1lPSJQb2x5Z29uLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9ialBvbHlnb24uY3BwKDI4MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJUZXh0MSIgT3JkZXI9IjM2IiA+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmlofmnKwiIE5hbWU9IlRleHQuVGV4dCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMDMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaYvuekuuaooeW8jyIgTmFtZT0iVGV4dDIiIE9yZGVyPSIzNyIgPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Ieq5Yqo6LCD5pW0IiBOYW1lPSJUZXh0LkF1dG9BZGp1c3QiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56b2Q5qih5byPIiBOYW1lPSJUZXh0LkFsaWduRmxhZyIgRWRpdG9yPSJGbGFncyIgT3JkZXI9IjYiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlRleHQzIiBPcmRlcj0iMzgiID4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWtl+S9kyIgTmFtZT0iVGV4dC5Gb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIyIiBQYXRoPSJaeE9ialRleHQuY3BwKDIwNCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWtl+S9k+minOiJsiIgTmFtZT0iVGV4dC5Db2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJUZXh0LkJvcmRlclBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSI5IiBQYXRoPSJaeFN0cmluZ0l0ZW0uY3BwKDEyMSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5YW25a6DIiBOYW1lPSJUZXh0NCIgT3JkZXI9IjM5IiA+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhYHorrjnvJbovpEiIE5hbWU9IlRleHQuTWFudWxFZGl0IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI1IiBQYXRoPSJaeE9ialRleHQuY3BwKDIwNykiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Zu+54mHIiBOYW1lPSJJbWFnZSIgT3JkZXI9IjQwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuadpea6kCIgTmFtZT0iSW1hZ2UuSW1nUGF0aCIgRWRpdG9yPSJQaWN0dXJlIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpJbWFnZS5jcHAoMTEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLoibLooagiIE5hbWU9IkNvbG9yVGFibGUiIE9yZGVyPSI0MSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7AiIE5hbWU9IkNvbG9yVGFibGUuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkNvbG9yVGFibGUuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlpKciIE5hbWU9IkNvbG9yVGFibGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkNvbG9yVGFibGUuY3BwKDI5MCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWwjyIgTmFtZT0iQ29sb3JUYWJsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQ29sb3JUYWJsZS5jcHAoMjkxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57G75Z6LIiBOYW1lPSJDb2xvclRhYmxlLkNvbG9yVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iNSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyOTMpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlciIgT3JkZXI9IjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlci5WaXNpYmxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJQZW4iIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQmFyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJhciIgT3JkZXI9IjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iV2lkdGgiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQmFyLldpZHRoIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQmFyLkZpbGwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ2NykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuRmlsbENsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhci5WYWx1ZSIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5WYWx1ZSIgT3JkZXI9IjkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpblZhbHVlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuVmFsdWUuUGluRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDc2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpbkNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3NykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhciIgT3JkZXI9IjEwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5TaG93M0QiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3OSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpDb21wYXNzIiBPcmRlcj0iNjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJDcFBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDI5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumVvy/lrr0iIE5hbWU9IkNwU2l6ZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDb21wYXNzLmNwcCgzMDcpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pW05L2T5L2N572uIiBOYW1lPSJPYmpDb21wYXNzMiIgT3JkZXI9IjYzIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS9jee9riIgTmFtZT0iQ3BQb3MiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9IlpaeE9iakNvbXBhc3MuY3BwKDI5MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCjwvemhBdHRyaWJ1dGVzPg0K \ No newline at end of file diff --git a/Bin/Config/Attributes/OICE_Attributes_cn.dat b/Bin/Config/Attributes/OICE_Attributes_cn.dat deleted file mode 100644 index 6010208..0000000 --- a/Bin/Config/Attributes/OICE_Attributes_cn.dat +++ /dev/null @@ -1 +0,0 @@ -PD94bWwgdmVycup_mpac2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx6aEF0dHJpYnV0ZXM+DQogICwzyAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9Ilp4T2JqQmFzZSIgT3JkZXI9IjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56LGh5ZCN56ewIiBOYW1lPSJaeE9iakJhc2UuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCYXNlLmNwcCg2MDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrlrZDlr7nosaEiIE5hbWU9Ilp4T2JqQmFzZS5TaG93U3ViT2JqcyIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpCYXNlLmNwcCg2MDMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWvueixoSIgTmFtZT0iQXhpczEiIE9yZGVyPSIyIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWQjeensCIgTmFtZT0iQXhpcy5OYW1lIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0MzYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkF4aXMuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6IyD5Zu0IiBOYW1lPSJBeGlzMiIgT3JkZXI9IjMiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pyA5bCPIiBOYW1lPSJTY2FsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWkpyIgTmFtZT0iU2NhbGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NTApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iue9keagvCIgTmFtZT0iQXhpczMiIE9yZGVyPSI0Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuS4u+WIu+W6piIgTmFtZT0iQXhpcy5zaG93QmlnU2NhbGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ1NykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuue7huWIhuWIu+W6piIgTmFtZT0iQXhpcy5zaG93U21hbGxTY2FsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDU4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Li75Yi75bqmIiBOYW1lPSJBeGlzLk1haW5JbnRlcnZhbCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDUxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57uG5YiG5Yi75bqmIiBOYW1lPSJBeGlzLlN1YkludGVydmFsIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NTIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaYvuekuuaooeW8jyIgTmFtZT0iQXhpczQiIE9yZGVyPSI1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIu+W6puaYvuS6juWkluS+pyIgTmFtZT0iQXhpcy5zY2FsZU91dHdhcmQiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ2MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS5mOW5guaYvuekuuWIu+W6piIgTmFtZT0iQXhpcy5zaG93VGlja0FzRXhwIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NzIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlsI/mlbDkvY3mlbAiIE5hbWU9IkF4aXMuRGVjaW1hbE51bWJlciIgRWRpdG9yPSJJbnRTcGluIiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDY0KSIgTWluPSIwIiBNYXg9IjEwIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iQXhpczUiIE9yZGVyPSI2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWQjeensOWtl+S9kyIgTmFtZT0iQXhpcy5OYW1lRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDY3KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Yi75bqm5a2X5L2TIiBOYW1lPSJBeGlzLk51bWJlckZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ2OCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuW5guWtl+S9kyIgTmFtZT0iQXhpcy5JbmRleEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ3MSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuminOiJsiIgTmFtZT0iQXhpcy5Db2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0NCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJQbG90MSIgT3JkZXI9IjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65qCH6aKYIiBOYW1lPSJQbG90LlNob3dUaXRsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzA5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65Zu+5L6LIiBOYW1lPSJQbG90LlNob3dMZWdlbmQiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwNikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i572R5qC8IiBOYW1lPSJQbG90MiIgT3JkZXI9IjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65Li75Yi75bqmWCIgTmFtZT0iUGxvdC5zaG93U2NhbGVCaWdYIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrkuLvliLvluqZZIiBOYW1lPSJQbG90LnNob3dTY2FsZUJpZ1kiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcxNSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuasoeWIu+W6plgiIE5hbWU9IlBsb3Quc2hvd1NjYWxlU21hbGxYIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIzIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MTkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrmrKHliLvluqZZIiBOYW1lPSJQbG90LnNob3dTY2FsZVNtYWxsWSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iNCIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzIxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLloavlhYUiIE5hbWU9IlBsb3QzIiBPcmRlcj0iOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmuJDlj5joibIxIiBOYW1lPSJQbG90LkJLQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmuJDlj5joibIyIiBOYW1lPSJQbG90LkJLQ29sb3JFeCIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwMSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJQbG90NCIgT3JkZXI9IjEwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui+ueahhuminOiJsiIgTmFtZT0iUGxvdC5GcmFtZUNvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzAyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IlBsb3Q1IiBPcmRlcj0iMTEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L656LedIiBOYW1lPSJQbG90Lk1hcmdpbiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzIzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9IlBsb3Q2IiBPcmRlcj0iMTIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5qCH6aKY5L2N572uIiBOYW1lPSJQbG90LlRpdGxlUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MjUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iWnhPYmoxIiBPcmRlcj0iMTMiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5puy57q/5Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5DdXJ2ZVZpc2libGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMjk0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57q/5Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5MaW5lVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDkyMCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOauteWPr+ingSIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuU2VnbWVudFZpc2libGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg5MjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iWnhPYmoyIiBPcmRlcj0iMTQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmtYHliqjnur/popzoibIiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLmNsckZsb3dMaW5lIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDkyMikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOauteminOiJsiIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuY2xyRmxvd1NlZ21lbnQiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoOTIzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5Eb3QiIEVkaXRvcj0iRG90IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLpgInkuK3ngrnmqKHlvI8iIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkRvdFNlbCIgRWRpdG9yPSJEb3QiIE9yZGVyPSI1IiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5NikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5L2N572uIiBOYW1lPSJaeE9iajMiIE9yZGVyPSIxNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLpgInmi6nntKLlvJUiIE5hbWU9Ilp4T2JqQ3VydmVGbG93LkN1clNlZ1B0SW5kZXgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoOTI1KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9Ilp4T2JqNCIgT3JkZXI9IjE2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuenu+WKqOaooeW8jyIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cub2JqQ3VydmVGbG93TW92ZU1vZGUiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMzAwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IkxlZ2VuZDEiIE9yZGVyPSIxNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrovrnmoYYiIE5hbWU9IkxkLlNob3dGcmFtZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzgwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJMZC5GcmFtZVBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWIhue7hOagh+ivhiIgTmFtZT0iTGVnZW5kMiIgT3JkZXI9IjE4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheiJsiIgTmFtZT0iTGRHcm91cC5CYWNrZ3JkQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6Imy6YCP5piO5bqmIiBOYW1lPSJMZEdyb3VwLkJhY2tncmRDbHJBbHBoYSIgRWRpdG9yPSJTbGlkZXIiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODQpIiBNaW49IjAiIE1heD0iMjU1Ii8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLliIbnu4TlkI3np7DlrZfkvZMiIE5hbWU9IkxkR3JvdXAuVGV4dEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIhue7hOWQjeensOminOiJsiIgTmFtZT0iTGRHcm91cC5UZXh0Q2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlm77kvovpobkiIE5hbWU9IkxlZ2VuZDMiIE9yZGVyPSIxOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpopzoibIiIE5hbWU9IkxkSXRlbS5CYWNrZ3JkQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6Imy6YCP5piO5bqmIiBOYW1lPSJMZEl0ZW0uQmFja2dyZENsckFscGhhIiBFZGl0b3I9IlNsaWRlciIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4OSkiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuS+i+WQjeensOWtl+S9kyIgTmFtZT0iTGRJdGVtLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlm77kvovlkI3np7DpopzoibIiIE5hbWU9IkxkSXRlbS5UZXh0Q2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzkxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IkxlZ2VuZDQiIE9yZGVyPSIyMCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhoXnvKnov5socHgpIiBOYW1lPSJMZC5NYXJnaW5Jbm5lciIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklue8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbk91dGVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk0KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLmlbTkvZPkvY3nva4iIE5hbWU9IkxlZ2VuZDUiIE9yZGVyPSIyMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkvY3nva4iIE5hbWU9IkxkLkxkUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzNjYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iTGVnZW5kNiIgT3JkZXI9IjIyIiBFeHBhbmQ9IjAiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Zu+56S65a695bqmIiBOYW1lPSJMZC5MZWZ0V2lkdGgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjpq5jluqYiIE5hbWU9IkxkLkdyb3VwSGVpZ2h0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9IlRpdGxlMSIgT3JkZXI9IjIzIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuagh+mimOWGheWuuSIgTmFtZT0iVGl0bGUuVGl0bGVUZXh0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCg5OSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJUaXRsZTIiIE9yZGVyPSIyNCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlrZfkvZMiIE5hbWU9IlRpdGxlLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCgxMDEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjpopzoibIiIE5hbWU9IlRpdGxlLlRleHRDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViVGl0bGUuY3BwKDEwMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJSZWN0MSIgT3JkZXI9IjI1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuui+ueahhiIgTmFtZT0iUmVjdC5TaG93Qm94IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialJlY3QuY3BwKDMxMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aGr5YWFIiBOYW1lPSJSZWN0MiIgT3JkZXI9IjI2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuiDjOaZr+minOiJsiIgTmFtZT0iUmVjdC5CYWNrZ3JvdW5kQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialJlY3QuY3BwKDMwOCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuiDjOaZr+minOiJsumAj+aYjuW6piIgTmFtZT0iUmVjdC5CYWNrZ3JvdW5kQWxwaGEiIEVkaXRvcj0iU2xpZGVyIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDkpIiBNaW49IjAiIE1heD0iMjU1Ii8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUmVjdDMiIE9yZGVyPSIyNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnlLvnrJQiIE5hbWU9IlJlY3QuQm91bmRQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMTEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iQmFuZDEiIE9yZGVyPSIyOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlt6bovrnnlYwiIE5hbWU9IkJhbmQuTCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlj7PovrnnlYwiIE5hbWU9IkJhbmQuUiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuIrovrnnlYwiIE5hbWU9IkJhbmQuVCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuIvovrnnlYwiIE5hbWU9IkJhbmQuQiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMzApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUG9pbnQiIE9yZGVyPSIyOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IlBvaW50LkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSIxIiBQYXRoPSJubU9ialBvaW50LmNwcCgxNjIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iTGluZTEiIE9yZGVyPSIzMCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrngrkiIE5hbWU9IkxpbmUuU2hvd0RvdFBvaW50IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialNlZ0xpbmUuY3BwKDQwNykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJMaW5lMiIgT3JkZXI9IjMxIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IueUu+eslCIgTmFtZT0iTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpTZWdMaW5lLmNwcCg0MDYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IkxpbmUuRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqU2VnTGluZS5jcHAoNDA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9IkxpbmUzIiBPcmRlcj0iMzIiPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iui1t+eCuSIgTmFtZT0iU3RhcnRQb3MiIE9yZGVyPSIxIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IlN0YXJ0UG9zLlgiIEVkaXRvcj0iRWRpdCIgZGlnaXRzPSI0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpMaW5lLmNwcCgyNzkpIi8+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWSIgTmFtZT0iU3RhcnRQb3MuWSIgRWRpdG9yPSJFZGl0IiBkaWdpdHM9IjQiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MCkiLz4NCiAgICAgICAgPC9QdHlHcm91cD4NCiAgICAgICAgPFB0eUdyb3VwIExhYmVsPSLnu4jngrkiIE5hbWU9IkVuZFBvcyIgT3JkZXI9IjMzIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IkVuZFBvcy5YIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBkaWdpdHM9IjQiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjgxKSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IkVuZFBvcy5ZIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBkaWdpdHM9IjQiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjgyKSIvPg0KICAgICAgICA8L1B0eUdyb3VwPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLloavlhYUiIE5hbWU9IlBvbHlnb24xIiBPcmRlcj0iMzQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5piv5ZCm5aGr5YWFIiBOYW1lPSJQb2x5Z29uLklzRmlsbCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpQb2x5Z29uLmNwcCgyODMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpopzoibIiIE5hbWU9IlBvbHlnb24uRmlsbENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpQb2x5Z29uLmNwcCgyODIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUG9seWdvbjIiIE9yZGVyPSIzNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnnlYznlLvnrJQiIE5hbWU9IlBvbHlnb24uUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9IlRleHQxIiBPcmRlcj0iMzYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5paH5pysIiBOYW1lPSJUZXh0LlRleHQiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA5KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLmmL7npLrmqKHlvI8iIE5hbWU9IlRleHQyIiBPcmRlcj0iMzciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Ieq5Yqo6LCD5pW0IiBOYW1lPSJUZXh0LkF1dG9BZGp1c3QiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjEyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56b2Q5qih5byPIiBOYW1lPSJUZXh0LkFsaWduRmxhZyIgRWRpdG9yPSJGbGFncyIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjE2KSIvPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9IuaWh+acrOWvuem9kCIgTmFtZT0iQWxpZ24iIE9yZGVyPSIzIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuawtOW5s+Wvuem9kCIgTmFtZT0iVGV4dC5BbGlnbkhvciIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMTkpIi8+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Z6C55u05a+56b2QIiBOYW1lPSJUZXh0LkFsaWduVmVydCIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMjkpIi8+DQogICAgICAgIDwvUHR5R3JvdXA+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iVGV4dDMiIE9yZGVyPSIzOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlrZfkvZMiIE5hbWU9IlRleHQuRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlrZfkvZPpopzoibIiIE5hbWU9IlRleHQuQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9ialRleHQuY3BwKDIxMSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui+ueahhueUu+eslCIgTmFtZT0iVGV4dC5Cb3JkZXJQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iOSIgUGF0aD0iWnhTdHJpbmdJdGVtLmNwcCgxMjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iVGV4dDQiIE9yZGVyPSIzOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhYHorrjnvJbovpEiIE5hbWU9IlRleHQuTWFudWxFZGl0IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI1IiBQYXRoPSJaeE9ialRleHQuY3BwKDIxMykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Zu+54mHIiBOYW1lPSJJbWFnZSIgT3JkZXI9IjQwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuadpea6kCIgTmFtZT0iSW1hZ2UuSW1nUGF0aCIgRWRpdG9yPSJQaWN0dXJlIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpJbWFnZS5jcHAoMTEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLoibLooagiIE5hbWU9IkNvbG9yVGFibGUiIE9yZGVyPSI0MSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7AiIE5hbWU9IkNvbG9yVGFibGUuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkNvbG9yVGFibGUuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlpKciIE5hbWU9IkNvbG9yVGFibGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkNvbG9yVGFibGUuY3BwKDI4OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWwjyIgTmFtZT0iQ29sb3JUYWJsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQ29sb3JUYWJsZS5jcHAoMjkwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57G75Z6LIiBOYW1lPSJDb2xvclRhYmxlLkNvbG9yVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iNSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyOTIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlciIgT3JkZXI9IjQyIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5Cb3JkZXIuVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDYzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iUGVuIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlci5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDY2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJaeE9iakN1cnZlQmFyLkJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIiIE9yZGVyPSI0MyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJXaWR0aCIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuV2lkdGgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ2OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuRmlsbCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDcwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJhci5GaWxsQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDczKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJaeE9iakN1cnZlQmFyLlZhbHVlIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlIiBPcmRlcj0iNDQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpblZhbHVlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NzYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuVmFsdWUuUGluRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDc5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpbkNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ4MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhciIgT3JkZXI9IjQ1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5TaG93M0QiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ4MikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJXbUxpbmUiIE9yZGVyPSI0NiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuLvnlLvnrJQiIE5hbWU9IldtTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW5lLmNwcCgyNzgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrKHnlLvnrJQiIE5hbWU9IldtTGluZS5TdWJQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpXbUxpbmUuY3BwKDQ2NSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpQb2x5Z29uIiBPcmRlcj0iNDciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJPYmpQb2x5Z29uLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheiDjOaZryIgTmFtZT0iT2JqUG9seWdvbi5CYWNrZ3JkQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE4NikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFhemAj+aYjuW6piIgTmFtZT0iT2JqUG9seWdvbi5CYWNrZ3JkQ29sb3JBbHBoYSIgRWRpdG9yPSJTbGlkZXIiIE9yZGVyPSIzIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE4NykiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6L6555WM5bGe5oCnIiBOYW1lPSJPYmpQb2x5Z29uT3V0bGluZSIgT3JkZXI9IjQ4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOaooeWeiyIgTmFtZT0iT2JqUG9seWdvbk91dGxpbmUuVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpQb2x5Z29uT3V0bGluZS5jcHAoNjcpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iuijgue8nea1geWKqOexu+WeiyIgTmFtZT0iT2JqTGluZUNyYWNrIiBPcmRlcj0iNDkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ewIiBOYW1lPSJPYmpMaW5lQ3JhY2suTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW5lQ3JhY2suY3BwKDE3NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOexu+WeiyIgTmFtZT0iT2JqTGluZUNyYWNrLkZsb3dNb2RlbCIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpMaW5lQ3JhY2suY3BwKDE3NikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWuveW6piIgTmFtZT0iT2JqTGluZUNyYWNrLlRoaWNrbmVzcyIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0ibm1PYmpMaW5lQ3JhY2suY3BwKDE3NykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS8oOWvvOeOhyIgTmFtZT0iT2JqTGluZUNyYWNrLkNvbmR1Y3Rpdml0eSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0ibm1PYmpMaW5lQ3JhY2suY3BwKDE3OCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pat5bGC5rWB5Yqo57G75Z6LIiBOYW1lPSJPYmpMaW5lRmF1bHQiIE9yZGVyPSI1MCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7AiIE5hbWU9Ik9iakxpbmVGYXVsdC5OYW1lIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJubU9iakxpbmVGYXVsdC5jcHAoMTc1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo57G75Z6LIiBOYW1lPSJPYmpMaW5lRmF1bHQuRmxvd01vZGVsIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIyIiBQYXRoPSJubU9iakxpbmVGYXVsdC5jcHAoMTc2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5riX6YCP546HIiBOYW1lPSJPYmpMaW5lRmF1bHQuTGVha2FnZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0ibm1PYmpMaW5lRmF1bHQuY3BwKDE3NykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6L6555WM6Led56a7IiBOYW1lPSJCZHlDcmljbGUiIE9yZGVyPSI1MSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsiIE5hbWU9IkJkeUNyaWNsZS5EaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCZHlDcmljbGUuY3BwKDE1MSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzEiIE5hbWU9IkJkeUNyb3NzLkhvckRpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakJkeUNyb3NzLmNwcCgyNzApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsyIiBOYW1lPSJCZHlDcm9zcy5TaWRlRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQmR5Q3Jvc3MuY3BwKDI3MSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWkueinkiIgTmFtZT0iQmR5Q3Jvc3MuU2lkZUFuZ2xlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI0IiBQYXRoPSJaeE9iakJkeUNyb3NzLmNwcCgyNzIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsiIE5hbWU9IkJkeUxpbmUuRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjUiIFBhdGg9Ilp4T2JqQmR5TGluZS5jcHAoMTgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7MSIgTmFtZT0iQmR5TGluZS5PbmVEaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNiIgUGF0aD0iWnhPYmpCZHlUcmkuY3BwKDMxMikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzIiIE5hbWU9IkJkeUxpbmUuVHdvRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjciIFBhdGg9Ilp4T2JqQmR5VHJpLmNwcCgzMTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsxIiBOYW1lPSJCZHlMaW5lLlRvcERpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI4IiBQYXRoPSJaeE9iakJkeVJlY3QuY3BwKDI3MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzIiIE5hbWU9IkJkeUxpbmUuQm90dG9tRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjkiIFBhdGg9Ilp4T2JqQmR5UmVjdC5jcHAoMjc0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7MyIgTmFtZT0iQmR5TGluZS5MZWZ0RGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEwIiBQYXRoPSJaeE9iakJkeVJlY3QuY3BwKDI3NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzQiIE5hbWU9IkJkeUxpbmUuUmlnaHREaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMTEiIFBhdGg9Ilp4T2JqQmR5UmVjdC5jcHAoMjc2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7IiBOYW1lPSJCZHlMaW5lLlNpbmdsZURpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxMiIgUGF0aD0iWnhPYmpCZHlUcmkuY3BwKDMxMSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6L6555WM5pa55L2NIiBOYW1lPSJCZHlQYXJhbCIgT3JkZXI9IjUzIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaWueS9jSIgTmFtZT0iQmR5UGFyYWwuUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakJkeVBhcmFsLmNwcCgyNDEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmlrnkvY0iIE5hbWU9IkJkeUxpbmUuUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIyIiBQYXRoPSJaeE9iakJkeUxpbmUuY3BwKDE4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaWueS9jSIgTmFtZT0iQmR5VHJpLlBvcyIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpCZHlUcmkuY3BwKDMxNSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5q615Y+C5pWwIiBOYW1lPSJTZWdMaW5lIiBPcmRlcj0iNTUiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5L2N572uKOawtOW5s20pIiBOYW1lPSJTZWdMaW5lLk5xWCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpTZWdMaW5lLmNwcCg0MTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrrXplb/luqYiIE5hbWU9IlNlZ0xpbmUuTnFMIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9ialNlZ0xpbmUuY3BwKDQxMSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuinkuW6piIgTmFtZT0iU2VnTGluZS5OcUEiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqU2VnTGluZS5jcHAoNDEyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva7kv6Hmga8iIE5hbWU9IndtRGF0YSIgT3JkZXI9IjU2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWdkOagh3giIE5hbWU9IndtRGF0YS5Qb3NYIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg3MDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlnZDmoId5IiBOYW1lPSJ3bURhdGEuUG9zWSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNzAxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LqV6Ze06LedIiBOYW1lPSJ3bURhdGEuV2VsbERpcyIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNzA1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YC+6KeSIiBOYW1lPSJ3bURhdGEuV2VsbFNsb3BlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI0IiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg3MDYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuS6leeCuSIgTmFtZT0id21Qb2ludCIgT3JkZXI9IjU3Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumVv+W6piIgTmFtZT0id21Qb2ludC5XbUxlbiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNjY5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YC+6KeSIiBOYW1lPSJ3bVBvaW50LldtRGV2IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg3MDcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrrXplb8iIE5hbWU9IndtUG9pbnQuU2VnTGVuViIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNjcxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IndtUG9pbnQxIiBPcmRlcj0iNTgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJ3bVBvaW50LkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDY3MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieS4reeUu+eslCIgTmFtZT0id21Qb2ludC5Eb3RTZWwiIEVkaXRvcj0iRG90IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg2NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLml6DmlYjpopzoibIiIE5hbWU9IndtUG9pbnQuQ2xyRmlsbFVudmFsaWQiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDY3NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklui+ueahhuminOiJsiIgTmFtZT0id21Qb2ludC5DbHJPdXRlciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNjc1KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLnvZHmoLxb5rWL6K+VXSIgTmFtZT0iVHJpR3JpZCIgT3JkZXI9IjU4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS4u+eUu+eslCIgTmFtZT0iVHJpR3JpZC5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUcmlHcmlkLmNwcCg1ODIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrKHnlLvnrJQiIE5hbWU9IlRyaUdyaWQuU3ViUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqVHJpR3JpZC5jcHAoNTgzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJPYmpGYXVsdCIgTmFtZT0iT2JqRmF1bHQiIE9yZGVyPSI1OSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJQZW4iIE5hbWU9Ik9iakZhdWx0LlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJubU9iakZhdWx0LmNwcCgxNjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ik9iakZyYWN0dXJlIiBOYW1lPSJPYmpGcmFjdHVyZSIgT3JkZXI9IjYwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlBlbiIgTmFtZT0iT2JqRnJhY3R1cmUuUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Im5tT2JqRnJhY3R1cmUuY3BwKDE4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iT2JqRnJhY3R1cmUuQmFja2dyZENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpGcmFjdHVyZS5jcHAoMTg2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9Ik9iakxpbWl0IiBPcmRlcj0iNjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJPYmpMaW1pdC5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW1pdC5jcHAoMTg1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6IOM5pmvIiBOYW1lPSJPYmpMaW1pdC5CYWNrZ3JkQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJubU9iakxpbWl0LmNwcCgxODYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpgI/mmI7luqYiIE5hbWU9Ik9iakxpbWl0LkJhY2tncmRDb2xvckFscGhhIiBFZGl0b3I9IlNsaWRlciIgT3JkZXI9IjMiIFBhdGg9Im5tT2JqTGltaXQuY3BwKDE4NykiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpDb21wYXNzIiBPcmRlcj0iNjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJDcFBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDMwNykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumVvy/lrr0iIE5hbWU9IkNwU2l6ZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDb21wYXNzLmNwcCgzMjQpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaVtOS9k+S9jee9riIgTmFtZT0iT2JqQ29tcGFzczIiIE9yZGVyPSI2MyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkvY3nva4iIE5hbWU9IkNwUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDMwOCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5LqV5ZCN6K6+572uIiBOYW1lPSJXbU1hcDEiIE9yZGVyPSI2NCI+DQoNCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuWQjeensCIgTmFtZT0iV21NYXAuTmFtZVZpc2libGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4MzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7DpopzoibIiIE5hbWU9IldtTWFwLldtTmFtZUNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4MzYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7DlrZfkvZMiIE5hbWU9IldtTWFwLldtTmFtZUZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4MzcpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuS6leeCueiuvue9riIgTmFtZT0iV21NYXAyIiBPcmRlcj0iNjUiPg0KDQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXngrnmoLflvI8iIE5hbWU9IldtTWFwLldtRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjEiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4MzkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXngrnlpKflsI8iIE5hbWU9IldtTWFwLldtUHRSIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDcxOSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheminOiJsiIgTmFtZT0iV21NYXAuV21PdXRlckZpbGxpbmdDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJpR3VpUGxvdE1hcC5jcHAoODQwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6YCP5piO5bqmIiBOYW1lPSJXbU1hcC5XbU91dGVyRmlsbGluZ0NsckFscGhhIiBFZGl0b3I9IlNsaWRlciIgT3JkZXI9IjQiIE1pbj0iMCIgTWF4PSIyNTUiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4NDEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlpJbovrnmoYbpopzoibIiIE5hbWU9IldtTWFwLldtT3V0ZXJMaW5lQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNSIgUGF0aD0iaUd1aVBsb3RNYXAuY3BwKDg0MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5LqV5q616K6+572uIiBOYW1lPSJXbU1hcDMiIE9yZGVyPSI2NiI+DQoNCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS6lemVv+W6piIgTmFtZT0iV21NYXAuV21MZW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeE9ialdtTGluZS5jcHAoMzg1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LqV6ZW/55S756yUIiBOYW1lPSJXbU1hcC5XbUxpbmVQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMiIgUGF0aD0iaUd1aVBsb3RNYXAuY3BwKDg0NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS6leauteaVsCIgTmFtZT0iV21NYXAuV21TZWdDb3VudCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpXbUxpbmVQbHVzLmNwcCgxODIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXmrrXplb8iIE5hbWU9IldtTWFwLldtU2VnTGVuViIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpXbUxpbmVQbHVzLmNwcCgxODMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXmrrXnlLvnrJQiIE5hbWU9IldtTWFwLldtU2VnUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjUiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4NDUpIi8+DQogICAgPC9QdHlHcm91cD4NCjwvemhBdHRyaWJ1dGVzPg0K \ No newline at end of file diff --git a/Bin/Config/Attributes/OICE_Attributes_en.dat b/Bin/Config/Attributes/OICE_Attributes_en.dat deleted file mode 100644 index 4b5a6b5..0000000 --- a/Bin/Config/Attributes/OICE_Attributes_en.dat +++ /dev/null @@ -1 +0,0 @@ -77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx6aEF0dHJpYnV0ZXM+DQwzyoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWvueixoSIgTmFtZT0iWnhPYmpCYXNlIiBPcmRlcj0iMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlr7nosaHlkI3np7AiIE5hbWU9Ilp4T2JqQmFzZS5OYW1lIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakJhc2UuY3BwKDU5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuWtkOWvueixoSIgTmFtZT0iWnhPYmpCYXNlLlNob3dTdWJPYmpzIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakJhc2UuY3BwKDU5OCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJBeGlzMSIgT3JkZXI9IjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ewIiBOYW1lPSJBeGlzLk5hbWUiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQxOCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWNleS9jSIgTmFtZT0iQXhpcy5Vbml0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDIzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLojIPlm7QiIE5hbWU9IkF4aXMyIiBPcmRlcj0iMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlsI8iIE5hbWU9IlNjYWxlLk1pbiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDMxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pyA5aSnIiBOYW1lPSJTY2FsZS5NYXgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQzMikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i572R5qC8IiBOYW1lPSJBeGlzMyIgT3JkZXI9IjQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65Li75Yi75bqmIiBOYW1lPSJBeGlzLnNob3dCaWdTY2FsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDM5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S657uG5YiG5Yi75bqmIiBOYW1lPSJBeGlzLnNob3dTbWFsbFNjYWxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuLvliLvluqYiIE5hbWU9IkF4aXMuTWFpbkludGVydmFsIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0MzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnu4bliIbliLvluqYiIE5hbWU9IkF4aXMuU3ViSW50ZXJ2YWwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQzNCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pi+56S65qih5byPIiBOYW1lPSJBeGlzNCIgT3JkZXI9IjUiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Yi75bqm5pi+5LqO5aSW5L6nIiBOYW1lPSJBeGlzLnNjYWxlT3V0d2FyZCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LmY5bmC5pi+56S65Yi75bqmIiBOYW1lPSJBeGlzLnNob3dUaWNrQXNFeHAiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWwj+aVsOS9jeaVsCIgTmFtZT0iQXhpcy5EZWNpbWFsTnVtYmVyIiBFZGl0b3I9IkludFNwaW4iIE9yZGVyPSIzIiBNaW49IjAiIE1heD0iMTAiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0MikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJBeGlzNSIgT3JkZXI9IjYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ew5a2X5L2TIiBOYW1lPSJBeGlzLk5hbWVGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NDQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLliLvluqblrZfkvZMiIE5hbWU9IkF4aXMuTnVtYmVyRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQ1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5bmC5a2X5L2TIiBOYW1lPSJBeGlzLkluZGV4Rm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQ4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6aKc6ImyIiBOYW1lPSJBeGlzLkNvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDI2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLln7rnoYAiIE5hbWU9IlBsb3QxIiBPcmRlcj0iNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrmoIfpopgiIE5hbWU9IlBsb3QuU2hvd1RpdGxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2ODkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrlm77kvosiIE5hbWU9IlBsb3QuU2hvd0xlZ2VuZCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjg3KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLnvZHmoLwiIE5hbWU9IlBsb3QyIiBPcmRlcj0iOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrkuLvliLvluqZYIiBOYW1lPSJQbG90LnNob3dTY2FsZUJpZ1giIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuS4u+WIu+W6plkiIE5hbWU9IlBsb3Quc2hvd1NjYWxlQmlnWSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjkzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65qyh5Yi75bqmWCIgTmFtZT0iUGxvdC5zaG93U2NhbGVTbWFsbFgiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjMiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuasoeWIu+W6plkiIE5hbWU9IlBsb3Quc2hvd1NjYWxlU21hbGxZIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI0IiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2OTYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWhq+WFhSIgTmFtZT0iUGxvdDMiIE9yZGVyPSI5Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua4kOWPmOiJsjEiIE5hbWU9IlBsb3QuQktDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY4MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua4kOWPmOiJsjIiIE5hbWU9IlBsb3QuQktDb2xvckV4IiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjgzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBsb3Q0IiBPcmRlcj0iMTAiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG6aKc6ImyIiBOYW1lPSJQbG90LkZyYW1lQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2ODUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iUGxvdDUiIE9yZGVyPSIxMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnot50iIE5hbWU9IlBsb3QuTWFyZ2luIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2OTgpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iUGxvdDYiIE9yZGVyPSIxMiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjkvY3nva4iIE5hbWU9IlBsb3QuVGl0bGVQb3MiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJaeE9iajEiIE9yZGVyPSIxMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmm7Lnur/lj6/op4EiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkN1cnZlVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnur/lj6/op4EiIE5hbWU9Ilp4T2JqQ3VydmVGbG93LkxpbmVWaXNpYmxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoODcwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo5q615Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5TZWdtZW50VmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDg3MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJaeE9iajIiIE9yZGVyPSIxNCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnlLvnrJQiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOe6v+minOiJsiIgTmFtZT0iWnhPYmpDdXJ2ZUJhc2UuY2xyRmxvd0xpbmUiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoODcyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo5q616aKc6ImyIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5jbHJGbG93U2VnbWVudCIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg4NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSI0IiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieS4reeCueaooeW8jyIgTmFtZT0iWnhPYmpDdXJ2ZUJhc2UuRG90U2VsIiBFZGl0b3I9IkRvdCIgT3JkZXI9IjUiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMjk2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9Ilp4T2JqMyIgT3JkZXI9IjE1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieaLqee0ouW8lSIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuQ3VyU2VnUHRJbmRleCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg4NzUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iWnhPYmo0IiBPcmRlcj0iMTYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i56e75Yqo5qih5byPIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5vYmpDdXJ2ZUZsb3dNb3ZlTW9kZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgzMDApIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iTGVnZW5kMSIgT3JkZXI9IjE3Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuui+ueahhiIgTmFtZT0iTGQuU2hvd0ZyYW1lIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzNzkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnmoYbnlLvnrJQiIE5hbWU9IkxkLkZyYW1lUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5YiG57uE5qCH6K+GIiBOYW1lPSJMZWdlbmQyIiBPcmRlcj0iMTgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6ImyIiBOYW1lPSJMZEdyb3VwLkJhY2tncmRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXoibLpgI/mmI7luqYiIE5hbWU9IkxkR3JvdXAuQmFja2dyZENsckFscGhhIiBFZGl0b3I9IlNsaWRlciIgTWluPSIwIiBNYXg9IjEwMCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIhue7hOWQjeensOWtl+S9kyIgTmFtZT0iTGRHcm91cC5UZXh0Rm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YiG57uE5ZCN56ew6aKc6ImyIiBOYW1lPSJMZEdyb3VwLlRleHRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWbvuS+i+mhuSIgTmFtZT0iTGVnZW5kMyIgT3JkZXI9IjE5Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheminOiJsiIgTmFtZT0iTGRJdGVtLkJhY2tncmRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXoibLpgI/mmI7luqYiIE5hbWU9IkxkSXRlbS5CYWNrZ3JkQ2xyQWxwaGEiIEVkaXRvcj0iU2xpZGVyIiBNaW49IjAiIE1heD0iMTAwIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Zu+5L6L5ZCN56ew5a2X5L2TIiBOYW1lPSJMZEl0ZW0uVGV4dEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuS+i+WQjeensOminOiJsiIgTmFtZT0iTGRJdGVtLlRleHRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iTGVnZW5kNCIgT3JkZXI9IjIwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWGhee8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbklubmVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklue8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbk91dGVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pW05L2T5L2N572uIiBOYW1lPSJMZWdlbmQ1IiBPcmRlcj0iMjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5L2N572uIiBOYW1lPSJMZC5MZFBvcyIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzY2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9IkxlZ2VuZDYiIE9yZGVyPSIyMiIgRXhwYW5kPSIwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuekuuWuveW6piIgTmFtZT0iTGQuTGVmdFdpZHRoIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5qCH6aKY6auY5bqmIiBOYW1lPSJMZC5Hcm91cEhlaWdodCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5NSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJUaXRsZTEiIE9yZGVyPSIyMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlhoXlrrkiIE5hbWU9IlRpdGxlLlRpdGxlVGV4dCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJUaXRsZS5jcHAoOTcpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iVGl0bGUyIiBPcmRlcj0iMjQiPg0KICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlrZfkvZMiIE5hbWU9IlRpdGxlLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCg5OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuagh+mimOminOiJsiIgTmFtZT0iVGl0bGUuVGV4dENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJUaXRsZS5jcHAoOTgpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iUmVjdDEiIE9yZGVyPSIyNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrovrnmoYYiIE5hbWU9IlJlY3QuU2hvd0JveCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDkpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWhq+WFhSIgTmFtZT0iUmVjdDIiIE9yZGVyPSIyNiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLog4zmma/popzoibIiIE5hbWU9IlJlY3QuQmFja2dyb3VuZENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLog4zmma/popzoibLpgI/mmI7luqYiIE5hbWU9IlJlY3QuQmFja2dyb3VuZEFscGhhIiBFZGl0b3I9IlNsaWRlciIgTWluPSIwIiBNYXg9IjEwMCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqUmVjdC5jcHAoMzA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlJlY3QzIiBPcmRlcj0iMjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJSZWN0LkJvdW5kUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUmVjdC5jcHAoMzEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IkJhbmQxIiBPcmRlcj0iMjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5bem6L6555WMIiBOYW1lPSJCYW5kLkwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjIzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Y+z6L6555WMIiBOYW1lPSJCYW5kLlIiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LiK6L6555WMIiBOYW1lPSJCYW5kLlQiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LiL6L6555WMIiBOYW1lPSJCYW5kLkIiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI5KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBvaW50IiBPcmRlcj0iMjkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJQb2ludC5Eb3QiIEVkaXRvcj0iRG90IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpQb2ludC5jcHAoMTU3KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLln7rnoYAiIE5hbWU9IkxpbmUxIiBPcmRlcj0iMzAiPg0KICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrngrkiIE5hbWU9IkxpbmUuU2hvd0RvdFBvaW50IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJMaW5lMiIgT3JkZXI9IjMxIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IueUu+eslCIgTmFtZT0iTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpMaW5lLmNwcCgyODIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IkxpbmUuRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjg0KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9IkxpbmUzIiBPcmRlcj0iMzIiPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iui1t+eCuSIgTmFtZT0iU3RhcnRQb3MiIE9yZGVyPSIxIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IlN0YXJ0UG9zLlgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjc4KSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IlN0YXJ0UG9zLlkiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjc5KSIvPg0KICAgICAgICA8L1B0eUdyb3VwPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iue7iOeCuSIgTmFtZT0iRW5kUG9zIiBPcmRlcj0iMzMiIEV4cGFuZD0iMCI+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWCIgTmFtZT0iRW5kUG9zLlgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjgwKSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IkVuZFBvcy5ZIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MSkiLz4NCiAgICAgICAgPC9QdHlHcm91cD4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aGr5YWFIiBOYW1lPSJQb2x5Z29uMSIgT3JkZXI9IjM0Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYr+WQpuWhq+WFhSIgTmFtZT0iUG9seWdvbi5Jc0ZpbGwiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6aKc6ImyIiBOYW1lPSJQb2x5Z29uLkZpbGxDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBvbHlnb24yIiBPcmRlcj0iMzUiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L6555WM55S756yUIiBOYW1lPSJQb2x5Z29uLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9ialBvbHlnb24uY3BwKDI4MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJUZXh0MSIgT3JkZXI9IjM2IiA+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmlofmnKwiIE5hbWU9IlRleHQuVGV4dCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMDMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaYvuekuuaooeW8jyIgTmFtZT0iVGV4dDIiIE9yZGVyPSIzNyIgPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Ieq5Yqo6LCD5pW0IiBOYW1lPSJUZXh0LkF1dG9BZGp1c3QiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56b2Q5qih5byPIiBOYW1lPSJUZXh0LkFsaWduRmxhZyIgRWRpdG9yPSJGbGFncyIgT3JkZXI9IjYiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlRleHQzIiBPcmRlcj0iMzgiID4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWtl+S9kyIgTmFtZT0iVGV4dC5Gb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIyIiBQYXRoPSJaeE9ialRleHQuY3BwKDIwNCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWtl+S9k+minOiJsiIgTmFtZT0iVGV4dC5Db2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJUZXh0LkJvcmRlclBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSI5IiBQYXRoPSJaeFN0cmluZ0l0ZW0uY3BwKDEyMSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5YW25a6DIiBOYW1lPSJUZXh0NCIgT3JkZXI9IjM5IiA+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhYHorrjnvJbovpEiIE5hbWU9IlRleHQuTWFudWxFZGl0IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI1IiBQYXRoPSJaeE9ialRleHQuY3BwKDIwNykiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Zu+54mHIiBOYW1lPSJJbWFnZSIgT3JkZXI9IjQwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuadpea6kCIgTmFtZT0iSW1hZ2UuSW1nUGF0aCIgRWRpdG9yPSJQaWN0dXJlIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpJbWFnZS5jcHAoMTEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLoibLooagiIE5hbWU9IkNvbG9yVGFibGUiIE9yZGVyPSI0MSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7AiIE5hbWU9IkNvbG9yVGFibGUuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkNvbG9yVGFibGUuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlpKciIE5hbWU9IkNvbG9yVGFibGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkNvbG9yVGFibGUuY3BwKDI5MCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWwjyIgTmFtZT0iQ29sb3JUYWJsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQ29sb3JUYWJsZS5jcHAoMjkxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57G75Z6LIiBOYW1lPSJDb2xvclRhYmxlLkNvbG9yVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iNSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyOTMpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlciIgT3JkZXI9IjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlci5WaXNpYmxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJQZW4iIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQmFyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJhciIgT3JkZXI9IjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iV2lkdGgiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQmFyLldpZHRoIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQmFyLkZpbGwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ2NykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuRmlsbENsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhci5WYWx1ZSIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5WYWx1ZSIgT3JkZXI9IjkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpblZhbHVlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuVmFsdWUuUGluRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDc2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpbkNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3NykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhciIgT3JkZXI9IjEwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5TaG93M0QiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3OSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpDb21wYXNzIiBPcmRlcj0iNjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJDcFBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDI5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumVvy/lrr0iIE5hbWU9IkNwU2l6ZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDb21wYXNzLmNwcCgzMDcpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pW05L2T5L2N572uIiBOYW1lPSJPYmpDb21wYXNzMiIgT3JkZXI9IjYzIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS9jee9riIgTmFtZT0iQ3BQb3MiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9IlpaeE9iakNvbXBhc3MuY3BwKDI5MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCjwvemhBdHRyaWJ1dGVzPg0K \ No newline at end of file diff --git a/Bin/Config/Attributes/PPTA_Attributes_cn.dat b/Bin/Config/Attributes/PPTA_Attributes_cn.dat deleted file mode 100644 index 6010208..0000000 --- a/Bin/Config/Attributes/PPTA_Attributes_cn.dat +++ /dev/null @@ -1 +0,0 @@ -PD94bWwgdmVycup_mpac2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx6aEF0dHJpYnV0ZXM+DQogICwzyAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9Ilp4T2JqQmFzZSIgT3JkZXI9IjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56LGh5ZCN56ewIiBOYW1lPSJaeE9iakJhc2UuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCYXNlLmNwcCg2MDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrlrZDlr7nosaEiIE5hbWU9Ilp4T2JqQmFzZS5TaG93U3ViT2JqcyIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpCYXNlLmNwcCg2MDMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWvueixoSIgTmFtZT0iQXhpczEiIE9yZGVyPSIyIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWQjeensCIgTmFtZT0iQXhpcy5OYW1lIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0MzYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkF4aXMuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6IyD5Zu0IiBOYW1lPSJBeGlzMiIgT3JkZXI9IjMiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pyA5bCPIiBOYW1lPSJTY2FsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWkpyIgTmFtZT0iU2NhbGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NTApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iue9keagvCIgTmFtZT0iQXhpczMiIE9yZGVyPSI0Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuS4u+WIu+W6piIgTmFtZT0iQXhpcy5zaG93QmlnU2NhbGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ1NykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuue7huWIhuWIu+W6piIgTmFtZT0iQXhpcy5zaG93U21hbGxTY2FsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDU4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Li75Yi75bqmIiBOYW1lPSJBeGlzLk1haW5JbnRlcnZhbCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDUxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57uG5YiG5Yi75bqmIiBOYW1lPSJBeGlzLlN1YkludGVydmFsIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NTIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaYvuekuuaooeW8jyIgTmFtZT0iQXhpczQiIE9yZGVyPSI1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIu+W6puaYvuS6juWkluS+pyIgTmFtZT0iQXhpcy5zY2FsZU91dHdhcmQiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ2MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS5mOW5guaYvuekuuWIu+W6piIgTmFtZT0iQXhpcy5zaG93VGlja0FzRXhwIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NzIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlsI/mlbDkvY3mlbAiIE5hbWU9IkF4aXMuRGVjaW1hbE51bWJlciIgRWRpdG9yPSJJbnRTcGluIiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDY0KSIgTWluPSIwIiBNYXg9IjEwIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iQXhpczUiIE9yZGVyPSI2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWQjeensOWtl+S9kyIgTmFtZT0iQXhpcy5OYW1lRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDY3KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Yi75bqm5a2X5L2TIiBOYW1lPSJBeGlzLk51bWJlckZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ2OCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuW5guWtl+S9kyIgTmFtZT0iQXhpcy5JbmRleEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ3MSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuminOiJsiIgTmFtZT0iQXhpcy5Db2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0NCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJQbG90MSIgT3JkZXI9IjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65qCH6aKYIiBOYW1lPSJQbG90LlNob3dUaXRsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzA5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65Zu+5L6LIiBOYW1lPSJQbG90LlNob3dMZWdlbmQiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwNikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i572R5qC8IiBOYW1lPSJQbG90MiIgT3JkZXI9IjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65Li75Yi75bqmWCIgTmFtZT0iUGxvdC5zaG93U2NhbGVCaWdYIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrkuLvliLvluqZZIiBOYW1lPSJQbG90LnNob3dTY2FsZUJpZ1kiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcxNSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuasoeWIu+W6plgiIE5hbWU9IlBsb3Quc2hvd1NjYWxlU21hbGxYIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIzIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MTkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrmrKHliLvluqZZIiBOYW1lPSJQbG90LnNob3dTY2FsZVNtYWxsWSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iNCIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzIxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLloavlhYUiIE5hbWU9IlBsb3QzIiBPcmRlcj0iOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmuJDlj5joibIxIiBOYW1lPSJQbG90LkJLQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmuJDlj5joibIyIiBOYW1lPSJQbG90LkJLQ29sb3JFeCIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwMSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJQbG90NCIgT3JkZXI9IjEwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui+ueahhuminOiJsiIgTmFtZT0iUGxvdC5GcmFtZUNvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzAyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IlBsb3Q1IiBPcmRlcj0iMTEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L656LedIiBOYW1lPSJQbG90Lk1hcmdpbiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzIzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9IlBsb3Q2IiBPcmRlcj0iMTIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5qCH6aKY5L2N572uIiBOYW1lPSJQbG90LlRpdGxlUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MjUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iWnhPYmoxIiBPcmRlcj0iMTMiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5puy57q/5Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5DdXJ2ZVZpc2libGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMjk0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57q/5Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5MaW5lVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDkyMCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOauteWPr+ingSIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuU2VnbWVudFZpc2libGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg5MjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iWnhPYmoyIiBPcmRlcj0iMTQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmtYHliqjnur/popzoibIiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLmNsckZsb3dMaW5lIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDkyMikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOauteminOiJsiIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuY2xyRmxvd1NlZ21lbnQiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoOTIzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5Eb3QiIEVkaXRvcj0iRG90IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLpgInkuK3ngrnmqKHlvI8iIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkRvdFNlbCIgRWRpdG9yPSJEb3QiIE9yZGVyPSI1IiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5NikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5L2N572uIiBOYW1lPSJaeE9iajMiIE9yZGVyPSIxNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLpgInmi6nntKLlvJUiIE5hbWU9Ilp4T2JqQ3VydmVGbG93LkN1clNlZ1B0SW5kZXgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoOTI1KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9Ilp4T2JqNCIgT3JkZXI9IjE2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuenu+WKqOaooeW8jyIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cub2JqQ3VydmVGbG93TW92ZU1vZGUiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMzAwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IkxlZ2VuZDEiIE9yZGVyPSIxNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrovrnmoYYiIE5hbWU9IkxkLlNob3dGcmFtZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzgwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJMZC5GcmFtZVBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWIhue7hOagh+ivhiIgTmFtZT0iTGVnZW5kMiIgT3JkZXI9IjE4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheiJsiIgTmFtZT0iTGRHcm91cC5CYWNrZ3JkQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6Imy6YCP5piO5bqmIiBOYW1lPSJMZEdyb3VwLkJhY2tncmRDbHJBbHBoYSIgRWRpdG9yPSJTbGlkZXIiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODQpIiBNaW49IjAiIE1heD0iMjU1Ii8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLliIbnu4TlkI3np7DlrZfkvZMiIE5hbWU9IkxkR3JvdXAuVGV4dEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIhue7hOWQjeensOminOiJsiIgTmFtZT0iTGRHcm91cC5UZXh0Q2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlm77kvovpobkiIE5hbWU9IkxlZ2VuZDMiIE9yZGVyPSIxOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpopzoibIiIE5hbWU9IkxkSXRlbS5CYWNrZ3JkQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6Imy6YCP5piO5bqmIiBOYW1lPSJMZEl0ZW0uQmFja2dyZENsckFscGhhIiBFZGl0b3I9IlNsaWRlciIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4OSkiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuS+i+WQjeensOWtl+S9kyIgTmFtZT0iTGRJdGVtLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlm77kvovlkI3np7DpopzoibIiIE5hbWU9IkxkSXRlbS5UZXh0Q2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzkxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IkxlZ2VuZDQiIE9yZGVyPSIyMCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhoXnvKnov5socHgpIiBOYW1lPSJMZC5NYXJnaW5Jbm5lciIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklue8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbk91dGVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk0KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLmlbTkvZPkvY3nva4iIE5hbWU9IkxlZ2VuZDUiIE9yZGVyPSIyMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkvY3nva4iIE5hbWU9IkxkLkxkUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzNjYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iTGVnZW5kNiIgT3JkZXI9IjIyIiBFeHBhbmQ9IjAiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Zu+56S65a695bqmIiBOYW1lPSJMZC5MZWZ0V2lkdGgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjpq5jluqYiIE5hbWU9IkxkLkdyb3VwSGVpZ2h0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9IlRpdGxlMSIgT3JkZXI9IjIzIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuagh+mimOWGheWuuSIgTmFtZT0iVGl0bGUuVGl0bGVUZXh0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCg5OSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJUaXRsZTIiIE9yZGVyPSIyNCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlrZfkvZMiIE5hbWU9IlRpdGxlLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCgxMDEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjpopzoibIiIE5hbWU9IlRpdGxlLlRleHRDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViVGl0bGUuY3BwKDEwMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJSZWN0MSIgT3JkZXI9IjI1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuui+ueahhiIgTmFtZT0iUmVjdC5TaG93Qm94IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialJlY3QuY3BwKDMxMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aGr5YWFIiBOYW1lPSJSZWN0MiIgT3JkZXI9IjI2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuiDjOaZr+minOiJsiIgTmFtZT0iUmVjdC5CYWNrZ3JvdW5kQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialJlY3QuY3BwKDMwOCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuiDjOaZr+minOiJsumAj+aYjuW6piIgTmFtZT0iUmVjdC5CYWNrZ3JvdW5kQWxwaGEiIEVkaXRvcj0iU2xpZGVyIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDkpIiBNaW49IjAiIE1heD0iMjU1Ii8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUmVjdDMiIE9yZGVyPSIyNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnlLvnrJQiIE5hbWU9IlJlY3QuQm91bmRQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMTEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iQmFuZDEiIE9yZGVyPSIyOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlt6bovrnnlYwiIE5hbWU9IkJhbmQuTCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlj7PovrnnlYwiIE5hbWU9IkJhbmQuUiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuIrovrnnlYwiIE5hbWU9IkJhbmQuVCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuIvovrnnlYwiIE5hbWU9IkJhbmQuQiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMzApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUG9pbnQiIE9yZGVyPSIyOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IlBvaW50LkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSIxIiBQYXRoPSJubU9ialBvaW50LmNwcCgxNjIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iTGluZTEiIE9yZGVyPSIzMCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrngrkiIE5hbWU9IkxpbmUuU2hvd0RvdFBvaW50IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialNlZ0xpbmUuY3BwKDQwNykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJMaW5lMiIgT3JkZXI9IjMxIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IueUu+eslCIgTmFtZT0iTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpTZWdMaW5lLmNwcCg0MDYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IkxpbmUuRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqU2VnTGluZS5jcHAoNDA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9IkxpbmUzIiBPcmRlcj0iMzIiPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iui1t+eCuSIgTmFtZT0iU3RhcnRQb3MiIE9yZGVyPSIxIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IlN0YXJ0UG9zLlgiIEVkaXRvcj0iRWRpdCIgZGlnaXRzPSI0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpMaW5lLmNwcCgyNzkpIi8+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWSIgTmFtZT0iU3RhcnRQb3MuWSIgRWRpdG9yPSJFZGl0IiBkaWdpdHM9IjQiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MCkiLz4NCiAgICAgICAgPC9QdHlHcm91cD4NCiAgICAgICAgPFB0eUdyb3VwIExhYmVsPSLnu4jngrkiIE5hbWU9IkVuZFBvcyIgT3JkZXI9IjMzIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IkVuZFBvcy5YIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBkaWdpdHM9IjQiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjgxKSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IkVuZFBvcy5ZIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBkaWdpdHM9IjQiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjgyKSIvPg0KICAgICAgICA8L1B0eUdyb3VwPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLloavlhYUiIE5hbWU9IlBvbHlnb24xIiBPcmRlcj0iMzQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5piv5ZCm5aGr5YWFIiBOYW1lPSJQb2x5Z29uLklzRmlsbCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpQb2x5Z29uLmNwcCgyODMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpopzoibIiIE5hbWU9IlBvbHlnb24uRmlsbENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpQb2x5Z29uLmNwcCgyODIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUG9seWdvbjIiIE9yZGVyPSIzNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnnlYznlLvnrJQiIE5hbWU9IlBvbHlnb24uUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9IlRleHQxIiBPcmRlcj0iMzYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5paH5pysIiBOYW1lPSJUZXh0LlRleHQiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA5KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLmmL7npLrmqKHlvI8iIE5hbWU9IlRleHQyIiBPcmRlcj0iMzciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Ieq5Yqo6LCD5pW0IiBOYW1lPSJUZXh0LkF1dG9BZGp1c3QiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjEyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56b2Q5qih5byPIiBOYW1lPSJUZXh0LkFsaWduRmxhZyIgRWRpdG9yPSJGbGFncyIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjE2KSIvPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9IuaWh+acrOWvuem9kCIgTmFtZT0iQWxpZ24iIE9yZGVyPSIzIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuawtOW5s+Wvuem9kCIgTmFtZT0iVGV4dC5BbGlnbkhvciIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMTkpIi8+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Z6C55u05a+56b2QIiBOYW1lPSJUZXh0LkFsaWduVmVydCIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMjkpIi8+DQogICAgICAgIDwvUHR5R3JvdXA+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iVGV4dDMiIE9yZGVyPSIzOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlrZfkvZMiIE5hbWU9IlRleHQuRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlrZfkvZPpopzoibIiIE5hbWU9IlRleHQuQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9ialRleHQuY3BwKDIxMSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui+ueahhueUu+eslCIgTmFtZT0iVGV4dC5Cb3JkZXJQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iOSIgUGF0aD0iWnhTdHJpbmdJdGVtLmNwcCgxMjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iVGV4dDQiIE9yZGVyPSIzOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhYHorrjnvJbovpEiIE5hbWU9IlRleHQuTWFudWxFZGl0IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI1IiBQYXRoPSJaeE9ialRleHQuY3BwKDIxMykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Zu+54mHIiBOYW1lPSJJbWFnZSIgT3JkZXI9IjQwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuadpea6kCIgTmFtZT0iSW1hZ2UuSW1nUGF0aCIgRWRpdG9yPSJQaWN0dXJlIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpJbWFnZS5jcHAoMTEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLoibLooagiIE5hbWU9IkNvbG9yVGFibGUiIE9yZGVyPSI0MSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7AiIE5hbWU9IkNvbG9yVGFibGUuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkNvbG9yVGFibGUuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlpKciIE5hbWU9IkNvbG9yVGFibGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkNvbG9yVGFibGUuY3BwKDI4OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWwjyIgTmFtZT0iQ29sb3JUYWJsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQ29sb3JUYWJsZS5jcHAoMjkwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57G75Z6LIiBOYW1lPSJDb2xvclRhYmxlLkNvbG9yVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iNSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyOTIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlciIgT3JkZXI9IjQyIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5Cb3JkZXIuVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDYzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iUGVuIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlci5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDY2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJaeE9iakN1cnZlQmFyLkJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIiIE9yZGVyPSI0MyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJXaWR0aCIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuV2lkdGgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ2OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuRmlsbCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDcwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJhci5GaWxsQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDczKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJaeE9iakN1cnZlQmFyLlZhbHVlIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlIiBPcmRlcj0iNDQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpblZhbHVlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NzYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuVmFsdWUuUGluRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDc5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpbkNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ4MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhciIgT3JkZXI9IjQ1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5TaG93M0QiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ4MikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJXbUxpbmUiIE9yZGVyPSI0NiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuLvnlLvnrJQiIE5hbWU9IldtTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW5lLmNwcCgyNzgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrKHnlLvnrJQiIE5hbWU9IldtTGluZS5TdWJQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpXbUxpbmUuY3BwKDQ2NSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpQb2x5Z29uIiBPcmRlcj0iNDciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJPYmpQb2x5Z29uLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheiDjOaZryIgTmFtZT0iT2JqUG9seWdvbi5CYWNrZ3JkQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE4NikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFhemAj+aYjuW6piIgTmFtZT0iT2JqUG9seWdvbi5CYWNrZ3JkQ29sb3JBbHBoYSIgRWRpdG9yPSJTbGlkZXIiIE9yZGVyPSIzIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE4NykiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6L6555WM5bGe5oCnIiBOYW1lPSJPYmpQb2x5Z29uT3V0bGluZSIgT3JkZXI9IjQ4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOaooeWeiyIgTmFtZT0iT2JqUG9seWdvbk91dGxpbmUuVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpQb2x5Z29uT3V0bGluZS5jcHAoNjcpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iuijgue8nea1geWKqOexu+WeiyIgTmFtZT0iT2JqTGluZUNyYWNrIiBPcmRlcj0iNDkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ewIiBOYW1lPSJPYmpMaW5lQ3JhY2suTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW5lQ3JhY2suY3BwKDE3NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOexu+WeiyIgTmFtZT0iT2JqTGluZUNyYWNrLkZsb3dNb2RlbCIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpMaW5lQ3JhY2suY3BwKDE3NikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWuveW6piIgTmFtZT0iT2JqTGluZUNyYWNrLlRoaWNrbmVzcyIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0ibm1PYmpMaW5lQ3JhY2suY3BwKDE3NykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS8oOWvvOeOhyIgTmFtZT0iT2JqTGluZUNyYWNrLkNvbmR1Y3Rpdml0eSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0ibm1PYmpMaW5lQ3JhY2suY3BwKDE3OCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pat5bGC5rWB5Yqo57G75Z6LIiBOYW1lPSJPYmpMaW5lRmF1bHQiIE9yZGVyPSI1MCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7AiIE5hbWU9Ik9iakxpbmVGYXVsdC5OYW1lIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJubU9iakxpbmVGYXVsdC5jcHAoMTc1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo57G75Z6LIiBOYW1lPSJPYmpMaW5lRmF1bHQuRmxvd01vZGVsIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIyIiBQYXRoPSJubU9iakxpbmVGYXVsdC5jcHAoMTc2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5riX6YCP546HIiBOYW1lPSJPYmpMaW5lRmF1bHQuTGVha2FnZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0ibm1PYmpMaW5lRmF1bHQuY3BwKDE3NykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6L6555WM6Led56a7IiBOYW1lPSJCZHlDcmljbGUiIE9yZGVyPSI1MSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsiIE5hbWU9IkJkeUNyaWNsZS5EaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCZHlDcmljbGUuY3BwKDE1MSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzEiIE5hbWU9IkJkeUNyb3NzLkhvckRpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakJkeUNyb3NzLmNwcCgyNzApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsyIiBOYW1lPSJCZHlDcm9zcy5TaWRlRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQmR5Q3Jvc3MuY3BwKDI3MSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWkueinkiIgTmFtZT0iQmR5Q3Jvc3MuU2lkZUFuZ2xlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI0IiBQYXRoPSJaeE9iakJkeUNyb3NzLmNwcCgyNzIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsiIE5hbWU9IkJkeUxpbmUuRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjUiIFBhdGg9Ilp4T2JqQmR5TGluZS5jcHAoMTgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7MSIgTmFtZT0iQmR5TGluZS5PbmVEaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNiIgUGF0aD0iWnhPYmpCZHlUcmkuY3BwKDMxMikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzIiIE5hbWU9IkJkeUxpbmUuVHdvRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjciIFBhdGg9Ilp4T2JqQmR5VHJpLmNwcCgzMTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsxIiBOYW1lPSJCZHlMaW5lLlRvcERpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI4IiBQYXRoPSJaeE9iakJkeVJlY3QuY3BwKDI3MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzIiIE5hbWU9IkJkeUxpbmUuQm90dG9tRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjkiIFBhdGg9Ilp4T2JqQmR5UmVjdC5jcHAoMjc0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7MyIgTmFtZT0iQmR5TGluZS5MZWZ0RGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEwIiBQYXRoPSJaeE9iakJkeVJlY3QuY3BwKDI3NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzQiIE5hbWU9IkJkeUxpbmUuUmlnaHREaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMTEiIFBhdGg9Ilp4T2JqQmR5UmVjdC5jcHAoMjc2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7IiBOYW1lPSJCZHlMaW5lLlNpbmdsZURpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxMiIgUGF0aD0iWnhPYmpCZHlUcmkuY3BwKDMxMSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6L6555WM5pa55L2NIiBOYW1lPSJCZHlQYXJhbCIgT3JkZXI9IjUzIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaWueS9jSIgTmFtZT0iQmR5UGFyYWwuUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakJkeVBhcmFsLmNwcCgyNDEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmlrnkvY0iIE5hbWU9IkJkeUxpbmUuUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIyIiBQYXRoPSJaeE9iakJkeUxpbmUuY3BwKDE4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaWueS9jSIgTmFtZT0iQmR5VHJpLlBvcyIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpCZHlUcmkuY3BwKDMxNSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5q615Y+C5pWwIiBOYW1lPSJTZWdMaW5lIiBPcmRlcj0iNTUiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5L2N572uKOawtOW5s20pIiBOYW1lPSJTZWdMaW5lLk5xWCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpTZWdMaW5lLmNwcCg0MTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrrXplb/luqYiIE5hbWU9IlNlZ0xpbmUuTnFMIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9ialNlZ0xpbmUuY3BwKDQxMSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuinkuW6piIgTmFtZT0iU2VnTGluZS5OcUEiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqU2VnTGluZS5jcHAoNDEyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva7kv6Hmga8iIE5hbWU9IndtRGF0YSIgT3JkZXI9IjU2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWdkOagh3giIE5hbWU9IndtRGF0YS5Qb3NYIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg3MDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlnZDmoId5IiBOYW1lPSJ3bURhdGEuUG9zWSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNzAxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LqV6Ze06LedIiBOYW1lPSJ3bURhdGEuV2VsbERpcyIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNzA1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YC+6KeSIiBOYW1lPSJ3bURhdGEuV2VsbFNsb3BlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI0IiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg3MDYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuS6leeCuSIgTmFtZT0id21Qb2ludCIgT3JkZXI9IjU3Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumVv+W6piIgTmFtZT0id21Qb2ludC5XbUxlbiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNjY5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YC+6KeSIiBOYW1lPSJ3bVBvaW50LldtRGV2IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg3MDcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrrXplb8iIE5hbWU9IndtUG9pbnQuU2VnTGVuViIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNjcxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IndtUG9pbnQxIiBPcmRlcj0iNTgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJ3bVBvaW50LkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDY3MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieS4reeUu+eslCIgTmFtZT0id21Qb2ludC5Eb3RTZWwiIEVkaXRvcj0iRG90IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg2NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLml6DmlYjpopzoibIiIE5hbWU9IndtUG9pbnQuQ2xyRmlsbFVudmFsaWQiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDY3NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklui+ueahhuminOiJsiIgTmFtZT0id21Qb2ludC5DbHJPdXRlciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNjc1KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLnvZHmoLxb5rWL6K+VXSIgTmFtZT0iVHJpR3JpZCIgT3JkZXI9IjU4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS4u+eUu+eslCIgTmFtZT0iVHJpR3JpZC5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUcmlHcmlkLmNwcCg1ODIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrKHnlLvnrJQiIE5hbWU9IlRyaUdyaWQuU3ViUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqVHJpR3JpZC5jcHAoNTgzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJPYmpGYXVsdCIgTmFtZT0iT2JqRmF1bHQiIE9yZGVyPSI1OSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJQZW4iIE5hbWU9Ik9iakZhdWx0LlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJubU9iakZhdWx0LmNwcCgxNjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ik9iakZyYWN0dXJlIiBOYW1lPSJPYmpGcmFjdHVyZSIgT3JkZXI9IjYwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlBlbiIgTmFtZT0iT2JqRnJhY3R1cmUuUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Im5tT2JqRnJhY3R1cmUuY3BwKDE4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iT2JqRnJhY3R1cmUuQmFja2dyZENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpGcmFjdHVyZS5jcHAoMTg2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9Ik9iakxpbWl0IiBPcmRlcj0iNjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJPYmpMaW1pdC5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW1pdC5jcHAoMTg1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6IOM5pmvIiBOYW1lPSJPYmpMaW1pdC5CYWNrZ3JkQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJubU9iakxpbWl0LmNwcCgxODYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpgI/mmI7luqYiIE5hbWU9Ik9iakxpbWl0LkJhY2tncmRDb2xvckFscGhhIiBFZGl0b3I9IlNsaWRlciIgT3JkZXI9IjMiIFBhdGg9Im5tT2JqTGltaXQuY3BwKDE4NykiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpDb21wYXNzIiBPcmRlcj0iNjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJDcFBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDMwNykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumVvy/lrr0iIE5hbWU9IkNwU2l6ZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDb21wYXNzLmNwcCgzMjQpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaVtOS9k+S9jee9riIgTmFtZT0iT2JqQ29tcGFzczIiIE9yZGVyPSI2MyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkvY3nva4iIE5hbWU9IkNwUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDMwOCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5LqV5ZCN6K6+572uIiBOYW1lPSJXbU1hcDEiIE9yZGVyPSI2NCI+DQoNCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuWQjeensCIgTmFtZT0iV21NYXAuTmFtZVZpc2libGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4MzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7DpopzoibIiIE5hbWU9IldtTWFwLldtTmFtZUNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4MzYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7DlrZfkvZMiIE5hbWU9IldtTWFwLldtTmFtZUZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4MzcpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuS6leeCueiuvue9riIgTmFtZT0iV21NYXAyIiBPcmRlcj0iNjUiPg0KDQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXngrnmoLflvI8iIE5hbWU9IldtTWFwLldtRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjEiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4MzkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXngrnlpKflsI8iIE5hbWU9IldtTWFwLldtUHRSIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDcxOSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheminOiJsiIgTmFtZT0iV21NYXAuV21PdXRlckZpbGxpbmdDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJpR3VpUGxvdE1hcC5jcHAoODQwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6YCP5piO5bqmIiBOYW1lPSJXbU1hcC5XbU91dGVyRmlsbGluZ0NsckFscGhhIiBFZGl0b3I9IlNsaWRlciIgT3JkZXI9IjQiIE1pbj0iMCIgTWF4PSIyNTUiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4NDEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlpJbovrnmoYbpopzoibIiIE5hbWU9IldtTWFwLldtT3V0ZXJMaW5lQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNSIgUGF0aD0iaUd1aVBsb3RNYXAuY3BwKDg0MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5LqV5q616K6+572uIiBOYW1lPSJXbU1hcDMiIE9yZGVyPSI2NiI+DQoNCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS6lemVv+W6piIgTmFtZT0iV21NYXAuV21MZW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeE9ialdtTGluZS5jcHAoMzg1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LqV6ZW/55S756yUIiBOYW1lPSJXbU1hcC5XbUxpbmVQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMiIgUGF0aD0iaUd1aVBsb3RNYXAuY3BwKDg0NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS6leauteaVsCIgTmFtZT0iV21NYXAuV21TZWdDb3VudCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpXbUxpbmVQbHVzLmNwcCgxODIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXmrrXplb8iIE5hbWU9IldtTWFwLldtU2VnTGVuViIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpXbUxpbmVQbHVzLmNwcCgxODMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXmrrXnlLvnrJQiIE5hbWU9IldtTWFwLldtU2VnUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjUiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4NDUpIi8+DQogICAgPC9QdHlHcm91cD4NCjwvemhBdHRyaWJ1dGVzPg0K \ No newline at end of file diff --git a/Bin/Config/Attributes/PPTA_Attributes_en.dat b/Bin/Config/Attributes/PPTA_Attributes_en.dat deleted file mode 100644 index 4b5a6b5..0000000 --- a/Bin/Config/Attributes/PPTA_Attributes_en.dat +++ /dev/null @@ -1 +0,0 @@ -77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx6aEF0dHJpYnV0ZXM+DQwzyoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWvueixoSIgTmFtZT0iWnhPYmpCYXNlIiBPcmRlcj0iMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlr7nosaHlkI3np7AiIE5hbWU9Ilp4T2JqQmFzZS5OYW1lIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakJhc2UuY3BwKDU5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuWtkOWvueixoSIgTmFtZT0iWnhPYmpCYXNlLlNob3dTdWJPYmpzIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakJhc2UuY3BwKDU5OCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJBeGlzMSIgT3JkZXI9IjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ewIiBOYW1lPSJBeGlzLk5hbWUiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQxOCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWNleS9jSIgTmFtZT0iQXhpcy5Vbml0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDIzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLojIPlm7QiIE5hbWU9IkF4aXMyIiBPcmRlcj0iMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlsI8iIE5hbWU9IlNjYWxlLk1pbiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDMxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pyA5aSnIiBOYW1lPSJTY2FsZS5NYXgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQzMikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i572R5qC8IiBOYW1lPSJBeGlzMyIgT3JkZXI9IjQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65Li75Yi75bqmIiBOYW1lPSJBeGlzLnNob3dCaWdTY2FsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDM5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S657uG5YiG5Yi75bqmIiBOYW1lPSJBeGlzLnNob3dTbWFsbFNjYWxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuLvliLvluqYiIE5hbWU9IkF4aXMuTWFpbkludGVydmFsIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0MzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnu4bliIbliLvluqYiIE5hbWU9IkF4aXMuU3ViSW50ZXJ2YWwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQzNCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pi+56S65qih5byPIiBOYW1lPSJBeGlzNCIgT3JkZXI9IjUiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Yi75bqm5pi+5LqO5aSW5L6nIiBOYW1lPSJBeGlzLnNjYWxlT3V0d2FyZCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LmY5bmC5pi+56S65Yi75bqmIiBOYW1lPSJBeGlzLnNob3dUaWNrQXNFeHAiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWwj+aVsOS9jeaVsCIgTmFtZT0iQXhpcy5EZWNpbWFsTnVtYmVyIiBFZGl0b3I9IkludFNwaW4iIE9yZGVyPSIzIiBNaW49IjAiIE1heD0iMTAiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0MikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJBeGlzNSIgT3JkZXI9IjYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ew5a2X5L2TIiBOYW1lPSJBeGlzLk5hbWVGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NDQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLliLvluqblrZfkvZMiIE5hbWU9IkF4aXMuTnVtYmVyRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQ1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5bmC5a2X5L2TIiBOYW1lPSJBeGlzLkluZGV4Rm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQ4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6aKc6ImyIiBOYW1lPSJBeGlzLkNvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDI2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLln7rnoYAiIE5hbWU9IlBsb3QxIiBPcmRlcj0iNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrmoIfpopgiIE5hbWU9IlBsb3QuU2hvd1RpdGxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2ODkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrlm77kvosiIE5hbWU9IlBsb3QuU2hvd0xlZ2VuZCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjg3KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLnvZHmoLwiIE5hbWU9IlBsb3QyIiBPcmRlcj0iOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrkuLvliLvluqZYIiBOYW1lPSJQbG90LnNob3dTY2FsZUJpZ1giIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuS4u+WIu+W6plkiIE5hbWU9IlBsb3Quc2hvd1NjYWxlQmlnWSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjkzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65qyh5Yi75bqmWCIgTmFtZT0iUGxvdC5zaG93U2NhbGVTbWFsbFgiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjMiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuasoeWIu+W6plkiIE5hbWU9IlBsb3Quc2hvd1NjYWxlU21hbGxZIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI0IiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2OTYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWhq+WFhSIgTmFtZT0iUGxvdDMiIE9yZGVyPSI5Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua4kOWPmOiJsjEiIE5hbWU9IlBsb3QuQktDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY4MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua4kOWPmOiJsjIiIE5hbWU9IlBsb3QuQktDb2xvckV4IiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjgzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBsb3Q0IiBPcmRlcj0iMTAiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG6aKc6ImyIiBOYW1lPSJQbG90LkZyYW1lQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2ODUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iUGxvdDUiIE9yZGVyPSIxMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnot50iIE5hbWU9IlBsb3QuTWFyZ2luIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2OTgpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iUGxvdDYiIE9yZGVyPSIxMiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjkvY3nva4iIE5hbWU9IlBsb3QuVGl0bGVQb3MiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJaeE9iajEiIE9yZGVyPSIxMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmm7Lnur/lj6/op4EiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkN1cnZlVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnur/lj6/op4EiIE5hbWU9Ilp4T2JqQ3VydmVGbG93LkxpbmVWaXNpYmxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoODcwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo5q615Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5TZWdtZW50VmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDg3MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJaeE9iajIiIE9yZGVyPSIxNCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnlLvnrJQiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOe6v+minOiJsiIgTmFtZT0iWnhPYmpDdXJ2ZUJhc2UuY2xyRmxvd0xpbmUiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoODcyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo5q616aKc6ImyIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5jbHJGbG93U2VnbWVudCIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg4NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSI0IiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieS4reeCueaooeW8jyIgTmFtZT0iWnhPYmpDdXJ2ZUJhc2UuRG90U2VsIiBFZGl0b3I9IkRvdCIgT3JkZXI9IjUiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMjk2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9Ilp4T2JqMyIgT3JkZXI9IjE1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieaLqee0ouW8lSIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuQ3VyU2VnUHRJbmRleCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg4NzUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iWnhPYmo0IiBPcmRlcj0iMTYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i56e75Yqo5qih5byPIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5vYmpDdXJ2ZUZsb3dNb3ZlTW9kZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgzMDApIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iTGVnZW5kMSIgT3JkZXI9IjE3Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuui+ueahhiIgTmFtZT0iTGQuU2hvd0ZyYW1lIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzNzkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnmoYbnlLvnrJQiIE5hbWU9IkxkLkZyYW1lUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5YiG57uE5qCH6K+GIiBOYW1lPSJMZWdlbmQyIiBPcmRlcj0iMTgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6ImyIiBOYW1lPSJMZEdyb3VwLkJhY2tncmRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXoibLpgI/mmI7luqYiIE5hbWU9IkxkR3JvdXAuQmFja2dyZENsckFscGhhIiBFZGl0b3I9IlNsaWRlciIgTWluPSIwIiBNYXg9IjEwMCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIhue7hOWQjeensOWtl+S9kyIgTmFtZT0iTGRHcm91cC5UZXh0Rm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YiG57uE5ZCN56ew6aKc6ImyIiBOYW1lPSJMZEdyb3VwLlRleHRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWbvuS+i+mhuSIgTmFtZT0iTGVnZW5kMyIgT3JkZXI9IjE5Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheminOiJsiIgTmFtZT0iTGRJdGVtLkJhY2tncmRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXoibLpgI/mmI7luqYiIE5hbWU9IkxkSXRlbS5CYWNrZ3JkQ2xyQWxwaGEiIEVkaXRvcj0iU2xpZGVyIiBNaW49IjAiIE1heD0iMTAwIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Zu+5L6L5ZCN56ew5a2X5L2TIiBOYW1lPSJMZEl0ZW0uVGV4dEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuS+i+WQjeensOminOiJsiIgTmFtZT0iTGRJdGVtLlRleHRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iTGVnZW5kNCIgT3JkZXI9IjIwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWGhee8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbklubmVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklue8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbk91dGVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pW05L2T5L2N572uIiBOYW1lPSJMZWdlbmQ1IiBPcmRlcj0iMjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5L2N572uIiBOYW1lPSJMZC5MZFBvcyIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzY2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9IkxlZ2VuZDYiIE9yZGVyPSIyMiIgRXhwYW5kPSIwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuekuuWuveW6piIgTmFtZT0iTGQuTGVmdFdpZHRoIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5qCH6aKY6auY5bqmIiBOYW1lPSJMZC5Hcm91cEhlaWdodCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5NSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJUaXRsZTEiIE9yZGVyPSIyMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlhoXlrrkiIE5hbWU9IlRpdGxlLlRpdGxlVGV4dCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJUaXRsZS5jcHAoOTcpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iVGl0bGUyIiBPcmRlcj0iMjQiPg0KICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlrZfkvZMiIE5hbWU9IlRpdGxlLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCg5OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuagh+mimOminOiJsiIgTmFtZT0iVGl0bGUuVGV4dENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJUaXRsZS5jcHAoOTgpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iUmVjdDEiIE9yZGVyPSIyNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrovrnmoYYiIE5hbWU9IlJlY3QuU2hvd0JveCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDkpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWhq+WFhSIgTmFtZT0iUmVjdDIiIE9yZGVyPSIyNiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLog4zmma/popzoibIiIE5hbWU9IlJlY3QuQmFja2dyb3VuZENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLog4zmma/popzoibLpgI/mmI7luqYiIE5hbWU9IlJlY3QuQmFja2dyb3VuZEFscGhhIiBFZGl0b3I9IlNsaWRlciIgTWluPSIwIiBNYXg9IjEwMCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqUmVjdC5jcHAoMzA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlJlY3QzIiBPcmRlcj0iMjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJSZWN0LkJvdW5kUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUmVjdC5jcHAoMzEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IkJhbmQxIiBPcmRlcj0iMjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5bem6L6555WMIiBOYW1lPSJCYW5kLkwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjIzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Y+z6L6555WMIiBOYW1lPSJCYW5kLlIiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LiK6L6555WMIiBOYW1lPSJCYW5kLlQiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LiL6L6555WMIiBOYW1lPSJCYW5kLkIiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI5KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBvaW50IiBPcmRlcj0iMjkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJQb2ludC5Eb3QiIEVkaXRvcj0iRG90IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpQb2ludC5jcHAoMTU3KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLln7rnoYAiIE5hbWU9IkxpbmUxIiBPcmRlcj0iMzAiPg0KICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrngrkiIE5hbWU9IkxpbmUuU2hvd0RvdFBvaW50IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJMaW5lMiIgT3JkZXI9IjMxIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IueUu+eslCIgTmFtZT0iTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpMaW5lLmNwcCgyODIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IkxpbmUuRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjg0KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9IkxpbmUzIiBPcmRlcj0iMzIiPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iui1t+eCuSIgTmFtZT0iU3RhcnRQb3MiIE9yZGVyPSIxIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IlN0YXJ0UG9zLlgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjc4KSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IlN0YXJ0UG9zLlkiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjc5KSIvPg0KICAgICAgICA8L1B0eUdyb3VwPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iue7iOeCuSIgTmFtZT0iRW5kUG9zIiBPcmRlcj0iMzMiIEV4cGFuZD0iMCI+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWCIgTmFtZT0iRW5kUG9zLlgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjgwKSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IkVuZFBvcy5ZIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MSkiLz4NCiAgICAgICAgPC9QdHlHcm91cD4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aGr5YWFIiBOYW1lPSJQb2x5Z29uMSIgT3JkZXI9IjM0Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYr+WQpuWhq+WFhSIgTmFtZT0iUG9seWdvbi5Jc0ZpbGwiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6aKc6ImyIiBOYW1lPSJQb2x5Z29uLkZpbGxDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBvbHlnb24yIiBPcmRlcj0iMzUiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L6555WM55S756yUIiBOYW1lPSJQb2x5Z29uLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9ialBvbHlnb24uY3BwKDI4MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJUZXh0MSIgT3JkZXI9IjM2IiA+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmlofmnKwiIE5hbWU9IlRleHQuVGV4dCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMDMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaYvuekuuaooeW8jyIgTmFtZT0iVGV4dDIiIE9yZGVyPSIzNyIgPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Ieq5Yqo6LCD5pW0IiBOYW1lPSJUZXh0LkF1dG9BZGp1c3QiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56b2Q5qih5byPIiBOYW1lPSJUZXh0LkFsaWduRmxhZyIgRWRpdG9yPSJGbGFncyIgT3JkZXI9IjYiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlRleHQzIiBPcmRlcj0iMzgiID4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWtl+S9kyIgTmFtZT0iVGV4dC5Gb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIyIiBQYXRoPSJaeE9ialRleHQuY3BwKDIwNCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWtl+S9k+minOiJsiIgTmFtZT0iVGV4dC5Db2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJUZXh0LkJvcmRlclBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSI5IiBQYXRoPSJaeFN0cmluZ0l0ZW0uY3BwKDEyMSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5YW25a6DIiBOYW1lPSJUZXh0NCIgT3JkZXI9IjM5IiA+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhYHorrjnvJbovpEiIE5hbWU9IlRleHQuTWFudWxFZGl0IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI1IiBQYXRoPSJaeE9ialRleHQuY3BwKDIwNykiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Zu+54mHIiBOYW1lPSJJbWFnZSIgT3JkZXI9IjQwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuadpea6kCIgTmFtZT0iSW1hZ2UuSW1nUGF0aCIgRWRpdG9yPSJQaWN0dXJlIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpJbWFnZS5jcHAoMTEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLoibLooagiIE5hbWU9IkNvbG9yVGFibGUiIE9yZGVyPSI0MSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7AiIE5hbWU9IkNvbG9yVGFibGUuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkNvbG9yVGFibGUuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlpKciIE5hbWU9IkNvbG9yVGFibGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkNvbG9yVGFibGUuY3BwKDI5MCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWwjyIgTmFtZT0iQ29sb3JUYWJsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQ29sb3JUYWJsZS5jcHAoMjkxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57G75Z6LIiBOYW1lPSJDb2xvclRhYmxlLkNvbG9yVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iNSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyOTMpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlciIgT3JkZXI9IjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlci5WaXNpYmxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJQZW4iIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQmFyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJhciIgT3JkZXI9IjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iV2lkdGgiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQmFyLldpZHRoIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQmFyLkZpbGwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ2NykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuRmlsbENsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhci5WYWx1ZSIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5WYWx1ZSIgT3JkZXI9IjkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpblZhbHVlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuVmFsdWUuUGluRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDc2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpbkNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3NykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhciIgT3JkZXI9IjEwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5TaG93M0QiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3OSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpDb21wYXNzIiBPcmRlcj0iNjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJDcFBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDI5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumVvy/lrr0iIE5hbWU9IkNwU2l6ZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDb21wYXNzLmNwcCgzMDcpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pW05L2T5L2N572uIiBOYW1lPSJPYmpDb21wYXNzMiIgT3JkZXI9IjYzIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS9jee9riIgTmFtZT0iQ3BQb3MiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9IlpaeE9iakNvbXBhc3MuY3BwKDI5MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCjwvemhBdHRyaWJ1dGVzPg0K \ No newline at end of file diff --git a/Bin/Config/Attributes/WTAI_Attributes_en.dat b/Bin/Config/Attributes/WTAI_Attributes_en.dat index 4b5a6b5..3276893 100644 --- a/Bin/Config/Attributes/WTAI_Attributes_en.dat +++ b/Bin/Config/Attributes/WTAI_Attributes_en.dat @@ -1 +1 @@ -77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx6aEF0dHJpYnV0ZXM+DQwzyoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWvueixoSIgTmFtZT0iWnhPYmpCYXNlIiBPcmRlcj0iMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlr7nosaHlkI3np7AiIE5hbWU9Ilp4T2JqQmFzZS5OYW1lIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakJhc2UuY3BwKDU5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuWtkOWvueixoSIgTmFtZT0iWnhPYmpCYXNlLlNob3dTdWJPYmpzIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakJhc2UuY3BwKDU5OCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJBeGlzMSIgT3JkZXI9IjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ewIiBOYW1lPSJBeGlzLk5hbWUiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQxOCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWNleS9jSIgTmFtZT0iQXhpcy5Vbml0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDIzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLojIPlm7QiIE5hbWU9IkF4aXMyIiBPcmRlcj0iMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlsI8iIE5hbWU9IlNjYWxlLk1pbiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDMxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pyA5aSnIiBOYW1lPSJTY2FsZS5NYXgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQzMikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i572R5qC8IiBOYW1lPSJBeGlzMyIgT3JkZXI9IjQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65Li75Yi75bqmIiBOYW1lPSJBeGlzLnNob3dCaWdTY2FsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDM5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S657uG5YiG5Yi75bqmIiBOYW1lPSJBeGlzLnNob3dTbWFsbFNjYWxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuLvliLvluqYiIE5hbWU9IkF4aXMuTWFpbkludGVydmFsIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0MzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnu4bliIbliLvluqYiIE5hbWU9IkF4aXMuU3ViSW50ZXJ2YWwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQzNCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pi+56S65qih5byPIiBOYW1lPSJBeGlzNCIgT3JkZXI9IjUiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Yi75bqm5pi+5LqO5aSW5L6nIiBOYW1lPSJBeGlzLnNjYWxlT3V0d2FyZCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LmY5bmC5pi+56S65Yi75bqmIiBOYW1lPSJBeGlzLnNob3dUaWNrQXNFeHAiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWwj+aVsOS9jeaVsCIgTmFtZT0iQXhpcy5EZWNpbWFsTnVtYmVyIiBFZGl0b3I9IkludFNwaW4iIE9yZGVyPSIzIiBNaW49IjAiIE1heD0iMTAiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0MikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJBeGlzNSIgT3JkZXI9IjYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ew5a2X5L2TIiBOYW1lPSJBeGlzLk5hbWVGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NDQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLliLvluqblrZfkvZMiIE5hbWU9IkF4aXMuTnVtYmVyRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQ1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5bmC5a2X5L2TIiBOYW1lPSJBeGlzLkluZGV4Rm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQ4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6aKc6ImyIiBOYW1lPSJBeGlzLkNvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDI2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLln7rnoYAiIE5hbWU9IlBsb3QxIiBPcmRlcj0iNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrmoIfpopgiIE5hbWU9IlBsb3QuU2hvd1RpdGxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2ODkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrlm77kvosiIE5hbWU9IlBsb3QuU2hvd0xlZ2VuZCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjg3KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLnvZHmoLwiIE5hbWU9IlBsb3QyIiBPcmRlcj0iOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrkuLvliLvluqZYIiBOYW1lPSJQbG90LnNob3dTY2FsZUJpZ1giIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuS4u+WIu+W6plkiIE5hbWU9IlBsb3Quc2hvd1NjYWxlQmlnWSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjkzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65qyh5Yi75bqmWCIgTmFtZT0iUGxvdC5zaG93U2NhbGVTbWFsbFgiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjMiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuasoeWIu+W6plkiIE5hbWU9IlBsb3Quc2hvd1NjYWxlU21hbGxZIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI0IiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2OTYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWhq+WFhSIgTmFtZT0iUGxvdDMiIE9yZGVyPSI5Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua4kOWPmOiJsjEiIE5hbWU9IlBsb3QuQktDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY4MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua4kOWPmOiJsjIiIE5hbWU9IlBsb3QuQktDb2xvckV4IiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjgzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBsb3Q0IiBPcmRlcj0iMTAiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG6aKc6ImyIiBOYW1lPSJQbG90LkZyYW1lQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2ODUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iUGxvdDUiIE9yZGVyPSIxMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnot50iIE5hbWU9IlBsb3QuTWFyZ2luIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2OTgpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iUGxvdDYiIE9yZGVyPSIxMiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjkvY3nva4iIE5hbWU9IlBsb3QuVGl0bGVQb3MiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJaeE9iajEiIE9yZGVyPSIxMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmm7Lnur/lj6/op4EiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkN1cnZlVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnur/lj6/op4EiIE5hbWU9Ilp4T2JqQ3VydmVGbG93LkxpbmVWaXNpYmxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoODcwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo5q615Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5TZWdtZW50VmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDg3MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJaeE9iajIiIE9yZGVyPSIxNCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnlLvnrJQiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOe6v+minOiJsiIgTmFtZT0iWnhPYmpDdXJ2ZUJhc2UuY2xyRmxvd0xpbmUiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoODcyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo5q616aKc6ImyIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5jbHJGbG93U2VnbWVudCIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg4NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSI0IiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieS4reeCueaooeW8jyIgTmFtZT0iWnhPYmpDdXJ2ZUJhc2UuRG90U2VsIiBFZGl0b3I9IkRvdCIgT3JkZXI9IjUiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMjk2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9Ilp4T2JqMyIgT3JkZXI9IjE1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieaLqee0ouW8lSIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuQ3VyU2VnUHRJbmRleCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg4NzUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iWnhPYmo0IiBPcmRlcj0iMTYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i56e75Yqo5qih5byPIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5vYmpDdXJ2ZUZsb3dNb3ZlTW9kZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgzMDApIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iTGVnZW5kMSIgT3JkZXI9IjE3Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuui+ueahhiIgTmFtZT0iTGQuU2hvd0ZyYW1lIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzNzkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnmoYbnlLvnrJQiIE5hbWU9IkxkLkZyYW1lUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5YiG57uE5qCH6K+GIiBOYW1lPSJMZWdlbmQyIiBPcmRlcj0iMTgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6ImyIiBOYW1lPSJMZEdyb3VwLkJhY2tncmRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXoibLpgI/mmI7luqYiIE5hbWU9IkxkR3JvdXAuQmFja2dyZENsckFscGhhIiBFZGl0b3I9IlNsaWRlciIgTWluPSIwIiBNYXg9IjEwMCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIhue7hOWQjeensOWtl+S9kyIgTmFtZT0iTGRHcm91cC5UZXh0Rm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YiG57uE5ZCN56ew6aKc6ImyIiBOYW1lPSJMZEdyb3VwLlRleHRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWbvuS+i+mhuSIgTmFtZT0iTGVnZW5kMyIgT3JkZXI9IjE5Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheminOiJsiIgTmFtZT0iTGRJdGVtLkJhY2tncmRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXoibLpgI/mmI7luqYiIE5hbWU9IkxkSXRlbS5CYWNrZ3JkQ2xyQWxwaGEiIEVkaXRvcj0iU2xpZGVyIiBNaW49IjAiIE1heD0iMTAwIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Zu+5L6L5ZCN56ew5a2X5L2TIiBOYW1lPSJMZEl0ZW0uVGV4dEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuS+i+WQjeensOminOiJsiIgTmFtZT0iTGRJdGVtLlRleHRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iTGVnZW5kNCIgT3JkZXI9IjIwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWGhee8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbklubmVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklue8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbk91dGVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pW05L2T5L2N572uIiBOYW1lPSJMZWdlbmQ1IiBPcmRlcj0iMjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5L2N572uIiBOYW1lPSJMZC5MZFBvcyIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzY2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9IkxlZ2VuZDYiIE9yZGVyPSIyMiIgRXhwYW5kPSIwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuekuuWuveW6piIgTmFtZT0iTGQuTGVmdFdpZHRoIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5qCH6aKY6auY5bqmIiBOYW1lPSJMZC5Hcm91cEhlaWdodCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5NSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJUaXRsZTEiIE9yZGVyPSIyMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlhoXlrrkiIE5hbWU9IlRpdGxlLlRpdGxlVGV4dCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJUaXRsZS5jcHAoOTcpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iVGl0bGUyIiBPcmRlcj0iMjQiPg0KICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlrZfkvZMiIE5hbWU9IlRpdGxlLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCg5OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuagh+mimOminOiJsiIgTmFtZT0iVGl0bGUuVGV4dENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJUaXRsZS5jcHAoOTgpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iUmVjdDEiIE9yZGVyPSIyNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrovrnmoYYiIE5hbWU9IlJlY3QuU2hvd0JveCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDkpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWhq+WFhSIgTmFtZT0iUmVjdDIiIE9yZGVyPSIyNiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLog4zmma/popzoibIiIE5hbWU9IlJlY3QuQmFja2dyb3VuZENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLog4zmma/popzoibLpgI/mmI7luqYiIE5hbWU9IlJlY3QuQmFja2dyb3VuZEFscGhhIiBFZGl0b3I9IlNsaWRlciIgTWluPSIwIiBNYXg9IjEwMCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqUmVjdC5jcHAoMzA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlJlY3QzIiBPcmRlcj0iMjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJSZWN0LkJvdW5kUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUmVjdC5jcHAoMzEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IkJhbmQxIiBPcmRlcj0iMjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5bem6L6555WMIiBOYW1lPSJCYW5kLkwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjIzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Y+z6L6555WMIiBOYW1lPSJCYW5kLlIiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LiK6L6555WMIiBOYW1lPSJCYW5kLlQiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LiL6L6555WMIiBOYW1lPSJCYW5kLkIiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI5KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBvaW50IiBPcmRlcj0iMjkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJQb2ludC5Eb3QiIEVkaXRvcj0iRG90IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpQb2ludC5jcHAoMTU3KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLln7rnoYAiIE5hbWU9IkxpbmUxIiBPcmRlcj0iMzAiPg0KICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrngrkiIE5hbWU9IkxpbmUuU2hvd0RvdFBvaW50IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJMaW5lMiIgT3JkZXI9IjMxIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IueUu+eslCIgTmFtZT0iTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpMaW5lLmNwcCgyODIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IkxpbmUuRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjg0KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9IkxpbmUzIiBPcmRlcj0iMzIiPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iui1t+eCuSIgTmFtZT0iU3RhcnRQb3MiIE9yZGVyPSIxIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IlN0YXJ0UG9zLlgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjc4KSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IlN0YXJ0UG9zLlkiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjc5KSIvPg0KICAgICAgICA8L1B0eUdyb3VwPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iue7iOeCuSIgTmFtZT0iRW5kUG9zIiBPcmRlcj0iMzMiIEV4cGFuZD0iMCI+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWCIgTmFtZT0iRW5kUG9zLlgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjgwKSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IkVuZFBvcy5ZIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MSkiLz4NCiAgICAgICAgPC9QdHlHcm91cD4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aGr5YWFIiBOYW1lPSJQb2x5Z29uMSIgT3JkZXI9IjM0Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYr+WQpuWhq+WFhSIgTmFtZT0iUG9seWdvbi5Jc0ZpbGwiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6aKc6ImyIiBOYW1lPSJQb2x5Z29uLkZpbGxDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBvbHlnb24yIiBPcmRlcj0iMzUiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L6555WM55S756yUIiBOYW1lPSJQb2x5Z29uLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9ialBvbHlnb24uY3BwKDI4MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJUZXh0MSIgT3JkZXI9IjM2IiA+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmlofmnKwiIE5hbWU9IlRleHQuVGV4dCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMDMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaYvuekuuaooeW8jyIgTmFtZT0iVGV4dDIiIE9yZGVyPSIzNyIgPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Ieq5Yqo6LCD5pW0IiBOYW1lPSJUZXh0LkF1dG9BZGp1c3QiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56b2Q5qih5byPIiBOYW1lPSJUZXh0LkFsaWduRmxhZyIgRWRpdG9yPSJGbGFncyIgT3JkZXI9IjYiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlRleHQzIiBPcmRlcj0iMzgiID4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWtl+S9kyIgTmFtZT0iVGV4dC5Gb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIyIiBQYXRoPSJaeE9ialRleHQuY3BwKDIwNCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWtl+S9k+minOiJsiIgTmFtZT0iVGV4dC5Db2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJUZXh0LkJvcmRlclBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSI5IiBQYXRoPSJaeFN0cmluZ0l0ZW0uY3BwKDEyMSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5YW25a6DIiBOYW1lPSJUZXh0NCIgT3JkZXI9IjM5IiA+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhYHorrjnvJbovpEiIE5hbWU9IlRleHQuTWFudWxFZGl0IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI1IiBQYXRoPSJaeE9ialRleHQuY3BwKDIwNykiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Zu+54mHIiBOYW1lPSJJbWFnZSIgT3JkZXI9IjQwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuadpea6kCIgTmFtZT0iSW1hZ2UuSW1nUGF0aCIgRWRpdG9yPSJQaWN0dXJlIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpJbWFnZS5jcHAoMTEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLoibLooagiIE5hbWU9IkNvbG9yVGFibGUiIE9yZGVyPSI0MSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7AiIE5hbWU9IkNvbG9yVGFibGUuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkNvbG9yVGFibGUuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlpKciIE5hbWU9IkNvbG9yVGFibGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkNvbG9yVGFibGUuY3BwKDI5MCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWwjyIgTmFtZT0iQ29sb3JUYWJsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQ29sb3JUYWJsZS5jcHAoMjkxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57G75Z6LIiBOYW1lPSJDb2xvclRhYmxlLkNvbG9yVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iNSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyOTMpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlciIgT3JkZXI9IjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlci5WaXNpYmxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJQZW4iIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQmFyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJhciIgT3JkZXI9IjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iV2lkdGgiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQmFyLldpZHRoIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQmFyLkZpbGwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ2NykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuRmlsbENsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhci5WYWx1ZSIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5WYWx1ZSIgT3JkZXI9IjkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpblZhbHVlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuVmFsdWUuUGluRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDc2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpbkNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3NykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhciIgT3JkZXI9IjEwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5TaG93M0QiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3OSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpDb21wYXNzIiBPcmRlcj0iNjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJDcFBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDI5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumVvy/lrr0iIE5hbWU9IkNwU2l6ZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDb21wYXNzLmNwcCgzMDcpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pW05L2T5L2N572uIiBOYW1lPSJPYmpDb21wYXNzMiIgT3JkZXI9IjYzIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS9jee9riIgTmFtZT0iQ3BQb3MiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9IlpaeE9iakNvbXBhc3MuY3BwKDI5MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCjwvemhBdHRyaWJ1dGVzPg0K \ No newline at end of file +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx6aEF0dHJpYnV0ZXM+DQwzyogICAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9Ilp4T2JqQmFzZSIgT3JkZXI9IjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56LGh5ZCN56ewIiBOYW1lPSJaeE9iakJhc2UuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCYXNlLmNwcCg2MDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrlrZDlr7nosaEiIE5hbWU9Ilp4T2JqQmFzZS5TaG93U3ViT2JqcyIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpCYXNlLmNwcCg2MDMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWvueixoSIgTmFtZT0iQXhpczEiIE9yZGVyPSIyIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWQjeensCIgTmFtZT0iQXhpcy5OYW1lIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0MzYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkF4aXMuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6IyD5Zu0IiBOYW1lPSJBeGlzMiIgT3JkZXI9IjMiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pyA5bCPIiBOYW1lPSJTY2FsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWkpyIgTmFtZT0iU2NhbGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NTApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iue9keagvCIgTmFtZT0iQXhpczMiIE9yZGVyPSI0Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuS4u+WIu+W6piIgTmFtZT0iQXhpcy5zaG93QmlnU2NhbGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ1NykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuue7huWIhuWIu+W6piIgTmFtZT0iQXhpcy5zaG93U21hbGxTY2FsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDU4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Li75Yi75bqmIiBOYW1lPSJBeGlzLk1haW5JbnRlcnZhbCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDUxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57uG5YiG5Yi75bqmIiBOYW1lPSJBeGlzLlN1YkludGVydmFsIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NTIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaYvuekuuaooeW8jyIgTmFtZT0iQXhpczQiIE9yZGVyPSI1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIu+W6puaYvuS6juWkluS+pyIgTmFtZT0iQXhpcy5zY2FsZU91dHdhcmQiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ2MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS5mOW5guaYvuekuuWIu+W6piIgTmFtZT0iQXhpcy5zaG93VGlja0FzRXhwIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NzIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlsI/mlbDkvY3mlbAiIE5hbWU9IkF4aXMuRGVjaW1hbE51bWJlciIgRWRpdG9yPSJJbnRTcGluIiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDY0KSIgTWluPSIwIiBNYXg9IjEwIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iQXhpczUiIE9yZGVyPSI2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWQjeensOWtl+S9kyIgTmFtZT0iQXhpcy5OYW1lRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDY3KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Yi75bqm5a2X5L2TIiBOYW1lPSJBeGlzLk51bWJlckZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ2OCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuW5guWtl+S9kyIgTmFtZT0iQXhpcy5JbmRleEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ3MSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuminOiJsiIgTmFtZT0iQXhpcy5Db2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0NCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJQbG90MSIgT3JkZXI9IjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iVGl0bGUgdmlzaWJsZSIgTmFtZT0iUGxvdC5TaG93VGl0bGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwOSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IkxlZ2VuZCB2aXNpYmxlIiBOYW1lPSJQbG90LlNob3dMZWdlbmQiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwNikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i572R5qC8IiBOYW1lPSJQbG90MiIgT3JkZXI9IjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65Li75Yi75bqmWCIgTmFtZT0iUGxvdC5zaG93U2NhbGVCaWdYIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrkuLvliLvluqZZIiBOYW1lPSJQbG90LnNob3dTY2FsZUJpZ1kiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcxNSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuasoeWIu+W6plgiIE5hbWU9IlBsb3Quc2hvd1NjYWxlU21hbGxYIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIzIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MTkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrmrKHliLvluqZZIiBOYW1lPSJQbG90LnNob3dTY2FsZVNtYWxsWSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iNCIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzIxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLloavlhYUiIE5hbWU9IlBsb3QzIiBPcmRlcj0iOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmuJDlj5joibIxIiBOYW1lPSJQbG90LkJLQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmuJDlj5joibIyIiBOYW1lPSJQbG90LkJLQ29sb3JFeCIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwMSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJQbG90NCIgT3JkZXI9IjEwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui+ueahhuminOiJsiIgTmFtZT0iUGxvdC5GcmFtZUNvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzAyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IlBsb3Q1IiBPcmRlcj0iMTEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L656LedIiBOYW1lPSJQbG90Lk1hcmdpbiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzIzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9IlBsb3Q2IiBPcmRlcj0iMTIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5qCH6aKY5L2N572uIiBOYW1lPSJQbG90LlRpdGxlUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MjUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iWnhPYmoxIiBPcmRlcj0iMTMiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5puy57q/5Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5DdXJ2ZVZpc2libGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMjk0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57q/5Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5MaW5lVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDkyMCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOauteWPr+ingSIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuU2VnbWVudFZpc2libGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg5MjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iWnhPYmoyIiBPcmRlcj0iMTQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmtYHliqjnur/popzoibIiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLmNsckZsb3dMaW5lIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDkyMikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOauteminOiJsiIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuY2xyRmxvd1NlZ21lbnQiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoOTIzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5Eb3QiIEVkaXRvcj0iRG90IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLpgInkuK3ngrnmqKHlvI8iIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkRvdFNlbCIgRWRpdG9yPSJEb3QiIE9yZGVyPSI1IiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5NikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5L2N572uIiBOYW1lPSJaeE9iajMiIE9yZGVyPSIxNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLpgInmi6nntKLlvJUiIE5hbWU9Ilp4T2JqQ3VydmVGbG93LkN1clNlZ1B0SW5kZXgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoOTI1KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9Ilp4T2JqNCIgT3JkZXI9IjE2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuenu+WKqOaooeW8jyIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cub2JqQ3VydmVGbG93TW92ZU1vZGUiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMzAwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IkxlZ2VuZDEiIE9yZGVyPSIxNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrovrnmoYYiIE5hbWU9IkxkLlNob3dGcmFtZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzgwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJMZC5GcmFtZVBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWIhue7hOagh+ivhiIgTmFtZT0iTGVnZW5kMiIgT3JkZXI9IjE4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheiJsiIgTmFtZT0iTGRHcm91cC5CYWNrZ3JkQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6Imy6YCP5piO5bqmIiBOYW1lPSJMZEdyb3VwLkJhY2tncmRDbHJBbHBoYSIgRWRpdG9yPSJTbGlkZXIiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODQpIiBNaW49IjAiIE1heD0iMjU1Ii8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLliIbnu4TlkI3np7DlrZfkvZMiIE5hbWU9IkxkR3JvdXAuVGV4dEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIhue7hOWQjeensOminOiJsiIgTmFtZT0iTGRHcm91cC5UZXh0Q2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlm77kvovpobkiIE5hbWU9IkxlZ2VuZDMiIE9yZGVyPSIxOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpopzoibIiIE5hbWU9IkxkSXRlbS5CYWNrZ3JkQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6Imy6YCP5piO5bqmIiBOYW1lPSJMZEl0ZW0uQmFja2dyZENsckFscGhhIiBFZGl0b3I9IlNsaWRlciIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4OSkiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuS+i+WQjeensOWtl+S9kyIgTmFtZT0iTGRJdGVtLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlm77kvovlkI3np7DpopzoibIiIE5hbWU9IkxkSXRlbS5UZXh0Q2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzkxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IkxlZ2VuZDQiIE9yZGVyPSIyMCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhoXnvKnov5socHgpIiBOYW1lPSJMZC5NYXJnaW5Jbm5lciIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklue8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbk91dGVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk0KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLmlbTkvZPkvY3nva4iIE5hbWU9IkxlZ2VuZDUiIE9yZGVyPSIyMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkvY3nva4iIE5hbWU9IkxkLkxkUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzNjYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iTGVnZW5kNiIgT3JkZXI9IjIyIiBFeHBhbmQ9IjAiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Zu+56S65a695bqmIiBOYW1lPSJMZC5MZWZ0V2lkdGgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjpq5jluqYiIE5hbWU9IkxkLkdyb3VwSGVpZ2h0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9IlRpdGxlMSIgT3JkZXI9IjIzIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuagh+mimOWGheWuuSIgTmFtZT0iVGl0bGUuVGl0bGVUZXh0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCg5OSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJUaXRsZTIiIE9yZGVyPSIyNCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlrZfkvZMiIE5hbWU9IlRpdGxlLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCgxMDEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjpopzoibIiIE5hbWU9IlRpdGxlLlRleHRDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViVGl0bGUuY3BwKDEwMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJSZWN0MSIgT3JkZXI9IjI1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuui+ueahhiIgTmFtZT0iUmVjdC5TaG93Qm94IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialJlY3QuY3BwKDMxMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aGr5YWFIiBOYW1lPSJSZWN0MiIgT3JkZXI9IjI2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuiDjOaZr+minOiJsiIgTmFtZT0iUmVjdC5CYWNrZ3JvdW5kQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialJlY3QuY3BwKDMwOCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuiDjOaZr+minOiJsumAj+aYjuW6piIgTmFtZT0iUmVjdC5CYWNrZ3JvdW5kQWxwaGEiIEVkaXRvcj0iU2xpZGVyIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDkpIiBNaW49IjAiIE1heD0iMjU1Ii8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUmVjdDMiIE9yZGVyPSIyNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnlLvnrJQiIE5hbWU9IlJlY3QuQm91bmRQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMTEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iQmFuZDEiIE9yZGVyPSIyOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlt6bovrnnlYwiIE5hbWU9IkJhbmQuTCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlj7PovrnnlYwiIE5hbWU9IkJhbmQuUiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuIrovrnnlYwiIE5hbWU9IkJhbmQuVCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuIvovrnnlYwiIE5hbWU9IkJhbmQuQiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMzApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUG9pbnQiIE9yZGVyPSIyOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IlBvaW50LkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSIxIiBQYXRoPSJubU9ialBvaW50LmNwcCgxNjIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iTGluZTEiIE9yZGVyPSIzMCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrngrkiIE5hbWU9IkxpbmUuU2hvd0RvdFBvaW50IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialNlZ0xpbmUuY3BwKDQwNykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJMaW5lMiIgT3JkZXI9IjMxIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IueUu+eslCIgTmFtZT0iTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpTZWdMaW5lLmNwcCg0MDYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IkxpbmUuRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqU2VnTGluZS5jcHAoNDA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9IkxpbmUzIiBPcmRlcj0iMzIiPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iui1t+eCuSIgTmFtZT0iU3RhcnRQb3MiIE9yZGVyPSIxIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IlN0YXJ0UG9zLlgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjc5KSIgZGlnaXRzPSI0Ii8+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWSIgTmFtZT0iU3RhcnRQb3MuWSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpMaW5lLmNwcCgyODApIiBkaWdpdHM9IjQiLz4NCiAgICAgICAgPC9QdHlHcm91cD4NCiAgICAgICAgPFB0eUdyb3VwIExhYmVsPSLnu4jngrkiIE5hbWU9IkVuZFBvcyIgT3JkZXI9IjMzIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IkVuZFBvcy5YIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MSkiIGRpZ2l0cz0iNCIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IkVuZFBvcy5ZIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MikiIGRpZ2l0cz0iNCIvPg0KICAgICAgICA8L1B0eUdyb3VwPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLloavlhYUiIE5hbWU9IlBvbHlnb24xIiBPcmRlcj0iMzQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5piv5ZCm5aGr5YWFIiBOYW1lPSJQb2x5Z29uLklzRmlsbCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpQb2x5Z29uLmNwcCgyODMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpopzoibIiIE5hbWU9IlBvbHlnb24uRmlsbENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpQb2x5Z29uLmNwcCgyODIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUG9seWdvbjIiIE9yZGVyPSIzNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnnlYznlLvnrJQiIE5hbWU9IlBvbHlnb24uUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9IlRleHQxIiBPcmRlcj0iMzYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5paH5pysIiBOYW1lPSJUZXh0LlRleHQiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA5KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLmmL7npLrmqKHlvI8iIE5hbWU9IlRleHQyIiBPcmRlcj0iMzciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Ieq5Yqo6LCD5pW0IiBOYW1lPSJUZXh0LkF1dG9BZGp1c3QiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjEyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56b2Q5qih5byPIiBOYW1lPSJUZXh0LkFsaWduRmxhZyIgRWRpdG9yPSJGbGFncyIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjE2KSIvPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9IuaWh+acrOWvuem9kCIgTmFtZT0iQWxpZ24iIE9yZGVyPSIzIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuawtOW5s+Wvuem9kCIgTmFtZT0iVGV4dC5BbGlnbkhvciIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMTkpIi8+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Z6C55u05a+56b2QIiBOYW1lPSJUZXh0LkFsaWduVmVydCIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMjkpIi8+DQogICAgICAgIDwvUHR5R3JvdXA+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iVGV4dDMiIE9yZGVyPSIzOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlrZfkvZMiIE5hbWU9IlRleHQuRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlrZfkvZPpopzoibIiIE5hbWU9IlRleHQuQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9ialRleHQuY3BwKDIxMSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui+ueahhueUu+eslCIgTmFtZT0iVGV4dC5Cb3JkZXJQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iOSIgUGF0aD0iWnhTdHJpbmdJdGVtLmNwcCgxMjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iVGV4dDQiIE9yZGVyPSIzOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhYHorrjnvJbovpEiIE5hbWU9IlRleHQuTWFudWxFZGl0IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI1IiBQYXRoPSJaeE9ialRleHQuY3BwKDIxMykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Zu+54mHIiBOYW1lPSJJbWFnZSIgT3JkZXI9IjQwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuadpea6kCIgTmFtZT0iSW1hZ2UuSW1nUGF0aCIgRWRpdG9yPSJQaWN0dXJlIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpJbWFnZS5jcHAoMTEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLoibLooagiIE5hbWU9IkNvbG9yVGFibGUiIE9yZGVyPSI0MSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7AiIE5hbWU9IkNvbG9yVGFibGUuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkNvbG9yVGFibGUuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlpKciIE5hbWU9IkNvbG9yVGFibGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkNvbG9yVGFibGUuY3BwKDI4OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWwjyIgTmFtZT0iQ29sb3JUYWJsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQ29sb3JUYWJsZS5jcHAoMjkwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57G75Z6LIiBOYW1lPSJDb2xvclRhYmxlLkNvbG9yVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iNSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyOTIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlciIgT3JkZXI9IjQyIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5Cb3JkZXIuVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDYzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iUGVuIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlci5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDY2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJaeE9iakN1cnZlQmFyLkJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIiIE9yZGVyPSI0MyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJXaWR0aCIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuV2lkdGgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ2OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuRmlsbCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDcwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJhci5GaWxsQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDczKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJaeE9iakN1cnZlQmFyLlZhbHVlIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlIiBPcmRlcj0iNDQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpblZhbHVlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NzYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuVmFsdWUuUGluRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDc5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpbkNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ4MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhciIgT3JkZXI9IjQ1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5TaG93M0QiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ4MikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJXbUxpbmUiIE9yZGVyPSI0NiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuLvnlLvnrJQiIE5hbWU9IldtTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW5lLmNwcCgyNzgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrKHnlLvnrJQiIE5hbWU9IldtTGluZS5TdWJQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpXbUxpbmUuY3BwKDQ2NSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpQb2x5Z29uIiBPcmRlcj0iNDciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJPYmpQb2x5Z29uLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheiDjOaZryIgTmFtZT0iT2JqUG9seWdvbi5CYWNrZ3JkQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE5MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFhemAj+aYjuW6piIgTmFtZT0iT2JqUG9seWdvbi5CYWNrZ3JkQ29sb3JBbHBoYSIgRWRpdG9yPSJTbGlkZXIiIE9yZGVyPSIzIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE5NCkiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6L6555WM5bGe5oCnIiBOYW1lPSJPYmpQb2x5Z29uT3V0bGluZSIgT3JkZXI9IjQ4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOaooeWeiyIgTmFtZT0iT2JqUG9seWdvbk91dGxpbmUuVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpQb2x5Z29uT3V0bGluZS5jcHAoNzIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iuijgue8nea1geWKqOexu+WeiyIgTmFtZT0iT2JqTGluZUZyYWN0dXJlIiBPcmRlcj0iNDkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo57G75Z6LIiBOYW1lPSJPYmpMaW5lRnJhY3R1cmUuRmxvd01vZGVsIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIyIiBQYXRoPSJubU9iakxpbmVDcmFjay5jcHAoNDAyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+85rWB6IO95YqbIiBOYW1lPSJPYmpMaW5lRnJhY3R1cmUuZEZjIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJubU9iakxpbmVDcmFjay5jcHAoNDEzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YKo6IO95q+UIiBOYW1lPSJPYmpMaW5lRnJhY3R1cmUuZFciIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Im5tT2JqTGluZUNyYWNrLmNwcCg0MTQpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaWreWxgua1geWKqOexu+WeiyIgTmFtZT0iT2JqTGluZUZhdWx0IiBPcmRlcj0iNTAiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo57G75Z6LIiBOYW1lPSJPYmpMaW5lRmF1bHQuRmxvd01vZGVsIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIyIiBQYXRoPSJubU9iakxpbmVGYXVsdC5jcHAoNDIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLms4TpnLLns7vmlbAiIE5hbWU9Ik9iakxpbmVGYXVsdC5MZWFrYWdlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJubU9iakxpbmVGYXVsdC5jcHAoNTMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjOi3neemuyIgTmFtZT0iQmR5Q3JpY2xlIiBPcmRlcj0iNTEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7IiBOYW1lPSJCZHlDcmljbGUuRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQmR5Q3JpY2xlLmNwcCgxNTEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsxIiBOYW1lPSJCZHlDcm9zcy5Ib3JEaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpCZHlDcm9zcy5jcHAoMjcwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7MiIgTmFtZT0iQmR5Q3Jvc3MuU2lkZURpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeE9iakJkeUNyb3NzLmNwcCgyNzEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlpLnop5IiIE5hbWU9IkJkeUNyb3NzLlNpZGVBbmdsZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpCZHlDcm9zcy5jcHAoMjcyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7IiBOYW1lPSJCZHlMaW5lLkRpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI1IiBQYXRoPSJaeE9iakJkeUxpbmUuY3BwKDE4MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzEiIE5hbWU9IkJkeUxpbmUuT25lRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjYiIFBhdGg9Ilp4T2JqQmR5VHJpLmNwcCgzMTIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsyIiBOYW1lPSJCZHlMaW5lLlR3b0Rpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI3IiBQYXRoPSJaeE9iakJkeVRyaS5jcHAoMzEzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7MSIgTmFtZT0iQmR5TGluZS5Ub3BEaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iOCIgUGF0aD0iWnhPYmpCZHlSZWN0LmNwcCgyNzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsyIiBOYW1lPSJCZHlMaW5lLkJvdHRvbURpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI5IiBQYXRoPSJaeE9iakJkeVJlY3QuY3BwKDI3NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzMiIE5hbWU9IkJkeUxpbmUuTGVmdERpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxMCIgUGF0aD0iWnhPYmpCZHlSZWN0LmNwcCgyNzUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprs0IiBOYW1lPSJCZHlMaW5lLlJpZ2h0RGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjExIiBQYXRoPSJaeE9iakJkeVJlY3QuY3BwKDI3NikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuyIgTmFtZT0iQmR5TGluZS5TaW5nbGVEaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMTIiIFBhdGg9Ilp4T2JqQmR5VHJpLmNwcCgzMTEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjOaWueS9jSIgTmFtZT0iQmR5UGFyYWwiIE9yZGVyPSI1MyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmlrnkvY0iIE5hbWU9IkJkeVBhcmFsLlBvcyIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCZHlQYXJhbC5jcHAoMjQxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pa55L2NIiBOYW1lPSJCZHlMaW5lLlBvcyIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpCZHlMaW5lLmNwcCgxODUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmlrnkvY0iIE5hbWU9IkJkeVRyaS5Qb3MiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQmR5VHJpLmNwcCgzMTUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuauteWPguaVsCIgTmFtZT0iU2VnTGluZSIgT3JkZXI9IjU1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS9jee9rijmsLTlubNtKSIgTmFtZT0iU2VnTGluZS5OcVgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqU2VnTGluZS5jcHAoNDEwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5q616ZW/5bqmIiBOYW1lPSJTZWdMaW5lLk5xTCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpTZWdMaW5lLmNwcCg0MTEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLop5LluqYiIE5hbWU9IlNlZ0xpbmUuTnFBIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeE9ialNlZ0xpbmUuY3BwKDQxMikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5L2N572u5L+h5oGvIiBOYW1lPSJ3bURhdGEiIE9yZGVyPSI1NiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlnZDmoId4IiBOYW1lPSJ3bURhdGEuUG9zWCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqSW5mUG9pbnQuY3BwKDc3NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWdkOagh3kiIE5hbWU9IndtRGF0YS5Qb3NZIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpJbmZQb2ludC5jcHAoNzc2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LqV6Ze06LedIiBOYW1lPSJ3bURhdGEuV2VsbERpcyIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqSW5mUG9pbnQuY3BwKDc4MCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWAvuinkiIgTmFtZT0id21EYXRhLldlbGxTbG9wZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqSW5mUG9pbnQuY3BwKDc4MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5LqV54K5IiBOYW1lPSJ3bVBvaW50IiBPcmRlcj0iNTciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6ZW/5bqmIiBOYW1lPSJ3bVBvaW50LldtTGVuIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg2NjkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlgL7op5IiIE5hbWU9IndtUG9pbnQuV21EZXYiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDcwNykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuautemVvyIgTmFtZT0id21Qb2ludC5TZWdMZW5WIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg2NzEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9IndtUG9pbnQuSW5mRGV2IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI0IiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpJbmZQb2ludC5jcHAoNzgyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IndtUG9pbnQxIiBPcmRlcj0iNTgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJ3bVBvaW50LkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDY3MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieS4reeUu+eslCIgTmFtZT0id21Qb2ludC5Eb3RTZWwiIEVkaXRvcj0iRG90IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg2NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLml6DmlYjpopzoibIiIE5hbWU9IndtUG9pbnQuQ2xyRmlsbFVudmFsaWQiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDY3NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklui+ueahhuminOiJsiIgTmFtZT0id21Qb2ludC5DbHJPdXRlciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNjc1KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLnvZHmoLxb5rWL6K+VXSIgTmFtZT0iVHJpR3JpZCIgT3JkZXI9IjU4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS4u+eUu+eslCIgTmFtZT0iVHJpR3JpZC5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUcmlHcmlkLmNwcCg1ODIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrKHnlLvnrJQiIE5hbWU9IlRyaUdyaWQuU3ViUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqVHJpR3JpZC5jcHAoNTgzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJPYmpGYXVsdCIgTmFtZT0iT2JqRmF1bHQiIE9yZGVyPSI1OSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJQZW4iIE5hbWU9Ik9iakZhdWx0LlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJubU9iakZhdWx0LmNwcCgxNjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ik9iakZyYWN0dXJlIiBOYW1lPSJPYmpGcmFjdHVyZSIgT3JkZXI9IjYwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlBlbiIgTmFtZT0iT2JqRnJhY3R1cmUuUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Im5tT2JqRnJhY3R1cmUuY3BwKDE4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iT2JqRnJhY3R1cmUuQmFja2dyZENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpGcmFjdHVyZS5jcHAoMTg2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9Ik9iakxpbWl0IiBPcmRlcj0iNjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJPYmpMaW1pdC5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW1pdC5jcHAoMTg1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6IOM5pmvIiBOYW1lPSJPYmpMaW1pdC5CYWNrZ3JkQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJubU9iakxpbWl0LmNwcCgxODYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpgI/mmI7luqYiIE5hbWU9Ik9iakxpbWl0LkJhY2tncmRDb2xvckFscGhhIiBFZGl0b3I9IlNsaWRlciIgT3JkZXI9IjMiIFBhdGg9Im5tT2JqTGltaXQuY3BwKDE4NykiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpDb21wYXNzIiBPcmRlcj0iNjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJDcFBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDMwNykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumVvy/lrr0iIE5hbWU9IkNwU2l6ZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDb21wYXNzLmNwcCgzMjQpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaVtOS9k+S9jee9riIgTmFtZT0iT2JqQ29tcGFzczIiIE9yZGVyPSI2MyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkvY3nva4iIE5hbWU9IkNwUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDMwOCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5LqV5ZCN6K6+572uIiBOYW1lPSJXbU1hcDEiIE9yZGVyPSI2NCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrlkI3np7AiIE5hbWU9IldtTWFwLk5hbWVWaXNpYmxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJpR3VpUGxvdE1hcC5jcHAoODMzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ew6aKc6ImyIiBOYW1lPSJXbU1hcC5XbU5hbWVDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJpR3VpUGxvdE1hcC5jcHAoODM2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ew5a2X5L2TIiBOYW1lPSJXbU1hcC5XbU5hbWVGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIzIiBQYXRoPSJpR3VpUGxvdE1hcC5jcHAoODM3KSIvPg0KDQoNCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuWQjeensCIgTmFtZT0iSW5mTWFwLk5hbWVWaXNpYmxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI0IiBQYXRoPSJpR3VpUGxvdEluZi5jcHAoNzQ3KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ew6aKc6ImyIiBOYW1lPSJJbmZNYXAuSW5mTmFtZUNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjUiIFBhdGg9ImlHdWlQbG90SW5mLmNwcCg3NTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7DlrZfkvZMiIE5hbWU9IkluZk1hcC5JbmZOYW1lRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iNiIgUGF0aD0iaUd1aVBsb3RJbmYuY3BwKDc1MSkiLz4NCg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkupXngrnorr7nva4iIE5hbWU9IldtTWFwMiIgT3JkZXI9IjY1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS6leeCueagt+W8jyIgTmFtZT0iV21NYXAuV21Eb3QiIEVkaXRvcj0iRG90IiBPcmRlcj0iMSIgUGF0aD0iaUd1aVBsb3RNYXAuY3BwKDgzOSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS6leeCueWkp+WwjyIgTmFtZT0iV21NYXAuV21QdFIiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNzE5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6aKc6ImyIiBOYW1lPSJXbU1hcC5XbU91dGVyRmlsbGluZ0NsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4NDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpgI/mmI7luqYiIE5hbWU9IldtTWFwLldtT3V0ZXJGaWxsaW5nQ2xyQWxwaGEiIEVkaXRvcj0iU2xpZGVyIiBPcmRlcj0iNCIgUGF0aD0iaUd1aVBsb3RNYXAuY3BwKDg0MSkiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklui+ueahhuminOiJsiIgTmFtZT0iV21NYXAuV21PdXRlckxpbmVDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSI1IiBQYXRoPSJpR3VpUGxvdE1hcC5jcHAoODQzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LqV54K55qC35byPIiBOYW1lPSJJbmZNYXAuSW5mRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjQiIFBhdGg9ImlHdWlQbG90SW5mLmNwcCg3NTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXngrnlpKflsI8iIE5hbWU9IkluZk1hcC5JbmZQdFIiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjUiIFBhdGg9Ilp4T2JqSW5mUG9pbnQuY3BwKDc5NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheminOiJsiIgTmFtZT0iSW5mTWFwLkluZk91dGVyRmlsbGluZ0NsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjYiIFBhdGg9ImlHdWlQbG90SW5mLmNwcCg3NTQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpgI/mmI7luqYiIE5hbWU9IkluZk1hcC5JbmZPdXRlckZpbGxpbmdDbHJBbHBoYSIgRWRpdG9yPSJTbGlkZXIiIE9yZGVyPSI3IiBQYXRoPSJpR3VpUGxvdEluZi5jcHAoNzU1KSIgTWluPSIwIiBNYXg9IjI1NSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aSW6L655qGG6aKc6ImyIiBOYW1lPSJJbmZNYXAuSW5mT3V0ZXJMaW5lQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iOCIgUGF0aD0iaUd1aVBsb3RJbmYuY3BwKDc1NikiLz4NCg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5LqV5q616K6+572uIiBOYW1lPSJXbU1hcDMiIE9yZGVyPSI2NiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXplb/luqYiIE5hbWU9IldtTWFwLldtTGVuIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbUxpbmUuY3BwKDM4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS6lemVv+eUu+eslCIgTmFtZT0iV21NYXAuV21MaW5lUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjIiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4NDQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXmrrXmlbAiIE5hbWU9IldtTWFwLldtU2VnQ291bnQiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqV21MaW5lUGx1cy5jcHAoMTgyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LqV5q616ZW/IiBOYW1lPSJXbU1hcC5XbVNlZ0xlblYiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqV21MaW5lUGx1cy5jcHAoMTgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LqV5q6155S756yUIiBOYW1lPSJXbU1hcC5XbVNlZ1BlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSI1IiBQYXRoPSJpR3VpUGxvdE1hcC5jcHAoODQ1KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9Im5tT2JqUmVjdCIgT3JkZXI9IjY3Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui+ueahhueUu+eslCIgTmFtZT0iT2JqUmVjdC5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpSZWN0LmNwcCgyNjgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXog4zmma8iIE5hbWU9Ik9ialJlY3QuQmFja2dyZENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpSZWN0LmNwcCgyNjkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpgI/mmI7luqYiIE5hbWU9Ik9ialJlY3QuQmFja2dyZENvbG9yQWxwaGEiIEVkaXRvcj0iU2xpZGVyIiBPcmRlcj0iMyIgUGF0aD0ibm1PYmpSZWN0LmNwcCgyNzApIiBNaW49IjAiIE1heD0iMjU1Ii8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjOa1geWKqOexu+WeiyIgTmFtZT0iT2JqUmVjdE91dGxpbmUiIE9yZGVyPSI2OCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuIrovrnnlYwiIE5hbWU9Ik9ialJlY3RPdXRsaW5lLlRvcE91dGxpbmUiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9Im5tT2JqUmVjdE91dGxpbmUuY3BwKDcyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Y+z6L6555WMIiBOYW1lPSJPYmpSZWN0T3V0bGluZS5SaWdodE91dGxpbmUiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjIiIFBhdGg9Im5tT2JqUmVjdE91dGxpbmUuY3BwKDczKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LiL6L6555WMIiBOYW1lPSJPYmpSZWN0T3V0bGluZS5Cb3R0b21PdXRsaW5lIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIzIiBQYXRoPSJubU9ialJlY3RPdXRsaW5lLmNwcCg3NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuW3pui+ueeVjCIgTmFtZT0iT2JqUmVjdE91dGxpbmUuTGVmdE91dGxpbmUiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjQiIFBhdGg9Im5tT2JqUmVjdE91dGxpbmUuY3BwKDc1KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9Ik9ialJlZ2lvbiIgT3JkZXI9IjY5Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui+ueahhueUu+eslCIgTmFtZT0iT2JqUmVnaW9uLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJubU9ialJlZ2lvbi5jcHAoMTg4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6IOM5pmvIiBOYW1lPSJPYmpSZWdpb24uQmFja2dyZENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpSZWdpb24uY3BwKDE4OSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6L6555WM5bGe5oCnIiBOYW1lPSJubU9ialJlZ2lvbiIgT3JkZXI9IjcwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOexu+WeiyIgTmFtZT0iT2JqUmVnaW9uLkZsb3dNb2RlbCIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpSZWdpb24uY3BwKDE5MSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuazhOmcsuezu+aVsCIgTmFtZT0iT2JqUmVnaW9uLkxlYWthZ2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Im5tT2JqUmVnaW9uLmNwcCgyMDIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWMuuWfn+WxnuaApyIgTmFtZT0ibm1PYmpSZWdpb25NYXJrIiBPcmRlcj0iNzEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YKo5bGC57G75Z6LIiBOYW1lPSJPYmpSZWdpb25NYXJrLlJlc2V2b2lyVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpSZWdpb25NYXJrLmNwcCgyMjApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmtYHluqbmr5QiIE5hbWU9Ik9ialJlZ2lvbk1hcmsuZENvbUtyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJubU9ialJlZ2lvbk1hcmsuY3BwKDIzMSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWCqOiDveavlCIgTmFtZT0iT2JqUmVnaW9uTWFyay5kQ29tVyIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0ibm1PYmpSZWdpb25NYXJrLmNwcCgyMzIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlh4Dmr5vmr5QiIE5hbWU9Ik9ialJlZ2lvbk1hcmsuTmV0VG9Hcm9zcyIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0ibm1PYmpSZWdpb25NYXJrLmNwcCgyMzMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaWreWxguS9jee9ruS/oeaBryIgTmFtZT0iT2JqTGluZUZhdWx0U3RhcnRQb3MiIE9yZGVyPSI3MiI+DQogICAgICAgIDxQdHlHcm91cCBMYWJlbD0i6LW354K5IiBOYW1lPSJPYmpMaW5lRmF1bHRQb3MiIE9yZGVyPSIxIj4NCiAgICAgICAgICAgIDxQdHlJdGVtIExhYmVsPSJYIiBOYW1lPSJPYmpMaW5lRmF1bHRTdGFydFBvcy5TdGFydFBvaW50WCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW5lRmF1bHQuY3BwKDU2KSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9Ik9iakxpbmVGYXVsdFN0YXJ0UG9zLlN0YXJ0UG9pbnRZIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJubU9iakxpbmVGYXVsdC5jcHAoNTcpIi8+DQogICAgICAgIDwvUHR5R3JvdXA+DQogICAgICAgIDxQdHlHcm91cCBMYWJlbD0i57uI54K5IiBOYW1lPSJPYmpMaW5lRmF1bHRFbmRQb3MiIE9yZGVyPSIyIj4NCiAgICAgICAgICAgIDxQdHlJdGVtIExhYmVsPSJYIiBOYW1lPSJPYmpMaW5lRmF1bHRFbmRQb3MuRW5kUG9pbnRYIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJubU9iakxpbmVGYXVsdC5jcHAoNTkpIi8+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWSIgTmFtZT0iT2JqTGluZUZhdWx0RW5kUG9zLkVuZFBvaW50WSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpMaW5lRmF1bHQuY3BwKDYwKSIvPg0KICAgICAgICA8L1B0eUdyb3VwPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLoo4LnvJ3kvY3nva7kv6Hmga8iIE5hbWU9Ik9iakxpbmVDcmFja1N0YXJ0UG9zIiBPcmRlcj0iNzMiPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iui1t+eCuSIgTmFtZT0iT2JqTGluZUNyYWNrUG9zIiBPcmRlcj0iMSI+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWCIgTmFtZT0iT2JqTGluZUNyYWNrU3RhcnRQb3MuU3RhcnRQb2ludFgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Im5tT2JqTGluZUNyYWNrLmNwcCg0MTcpIi8+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWSIgTmFtZT0iT2JqTGluZUNyYWNrU3RhcnRQb3MuU3RhcnRQb2ludFkiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Im5tT2JqTGluZUNyYWNrLmNwcCg0MTgpIi8+DQogICAgICAgIDwvUHR5R3JvdXA+DQogICAgICAgIDxQdHlHcm91cCBMYWJlbD0i57uI54K5IiBOYW1lPSJPYmpMaW5lQ3JhY2tFbmRQb3MiIE9yZGVyPSIyIj4NCiAgICAgICAgICAgIDxQdHlJdGVtIExhYmVsPSJYIiBOYW1lPSJPYmpMaW5lQ3JhY2tFbmRQb3MuRW5kUG9pbnRYIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJubU9iakxpbmVDcmFjay5jcHAoNDIwKSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9Ik9iakxpbmVDcmFja0VuZFBvcy5FbmRQb2ludFkiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Im5tT2JqTGluZUNyYWNrLmNwcCg0MjEpIi8+DQogICAgICAgIDwvUHR5R3JvdXA+DQogICAgPC9QdHlHcm91cD4NCjwvemhBdHRyaWJ1dGVzPg0K \ No newline at end of file diff --git a/Bin/Config/Common/BtnCmds.dat b/Bin/Config/Common/BtnCmds_cn.dat similarity index 100% rename from Bin/Config/Common/BtnCmds.dat rename to Bin/Config/Common/BtnCmds_cn.dat diff --git a/Bin/Config/Common/BtnCmds_en.dat b/Bin/Config/Common/BtnCmds_en.dat new file mode 100644 index 0000000..e91855c --- /dev/null +++ b/Bin/Config/Common/BtnCmds_en.dat @@ -0,0 +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+S6lSIgLz4NCiAgICAgICAgPEJ0biBJRD0iMTgyIiBOYW1lPSJXX01MIiBUZXh0PSIiIENoZWNrTW9kZT0iMiIgSWNvbj0iSW5zZXJ0UmVjdCIgVGlwcz0i5aSa5q615LqVIiAvPg0KICAgICAgICA8QnRuIElEPSIxODkiIE5hbWU9IldfVklSVFVBTCIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249Ikluc2VydFBvaW50IiBUaXBzPSLomZrmi5/kupUiIC8+DQoNCiAgICAgICAgPCEtLSDnvJbovpHlj4rkuqTkupIgLS0+DQogICAgICAgIDxCdG4gSUQ9IjIwMCIgTmFtZT0iVW5kbyIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IlVuZG8iIFRpcHM9IuaSpOmUgCIgLz4NCiAgICAgICAgPEJ0biBJRD0iMjAxIiBOYW1lPSJSZWRvIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iUmVkbyIgVGlwcz0i5oGi5aSNIiAvPg0KDQogICAgICAgIDxCdG4gSUQ9IjIwOCIgTmFtZT0iU2VsZWN0IiBUZXh0PSIiIENoZWNrTW9kZT0iMyIgSWNvbj0iQXJyb3ciIFRpcHM9IuWIh+aNouS4uumAieaLqeaooeW8jyIgLz4NCiAgICAgICAgDQogICAgICAgIDxCdG4gSUQ9IjIwMiIgTmFtZT0iU2VsZWN0TXVsdGkiIFRleHQ9IiIgQ2hlY2tNb2RlPSIzIiBJY29uPSJNdWx0aVNlbGVjdCIgVGlwcz0i5aSa6YCJIiAvPg0KICAgICAgICA8QnRuIElEPSIyMDMiIE5hbWU9IlNlbGVjdFJlY3QiIFRleHQ9IiIgQ2hlY2tNb2RlPSIzIiBJY29uPSJSZWdpb25TZWxlY3QiIFRpcHM9IuaJuemHj+ahhumAieeCuSIgLz4NCiAgICAgICAgPEJ0biBJRD0iMjA0IiBOYW1lPSJFeGNsdWRlUmVjdCIgVGV4dD0iIiBDaGVja01vZGU9IjMiIEljb249IkV4Y2x1ZGVSZWN0IiBUaXBzPSLmoYbpgInliZTpmaTngrkiIC8+DQogICAgICAgIDxCdG4gSUQ9IjIwNSIgTmFtZT0iRXJhc2VSZWN0IiBUZXh0PSIiIENoZWNrTW9kZT0iMyIgSWNvbj0iRXJhc2VSZWN0IiBUaXBzPSLmoYbpgInliKDpmaTngrkiIC8+DQogICAgICAgIDxCdG4gSUQ9IjIwNiIgTmFtZT0iTW92ZSIgVGV4dD0iIiBDaGVja01vZGU9IjMiIEljb249Ik1vdmUiIFRpcHM9Ik1vdmUiIC8+DQogICAgICAgIDwhLS0gMjAxODAzMTkgMjA35Yqf6IO955uu5YmN5bCx5piv5L+u5pS55LiA5Liqb3BOb25l5oSP5LmJ5LiN5aSn77yM5pqC5pe25Y675o6JIC0tPg0KICAgICAgICA8QnRuIElEPSIyMDciIE5hbWU9IkFsbCIgVGV4dD0iIiBDaGVja01vZGU9IjEiIEljb249IkFsbCIgVGlwcz0iUmVzZXQiIC8+DQoNCiAgICAgICAgPEJ0biBJRD0iMjA5IiBOYW1lPSJIaXRQb2ludCIgVGV4dD0iIiBDaGVja01vZGU9IjIiIEljb249IkFkZFBvaW50IiBUaXBzPSLlop7liqDlm57lvZLngrkiIC8+DQogICAgICAgIDwhLS0gMjAxODAzMTnogIPomZHliLDnm67liY3nmoTlip/og73vvIwyMDTkuI4yMTDlrp7njrDnmoTlip/og73kuIDoh7QgLS0+DQogICAgICAgIDxCdG4gSUQ9IjIxMCIgTmFtZT0iUmVzZXRSZWN0IiBUZXh0PSIiIENoZWNrTW9kZT0iMyIgSWNvbj0iUmVzZXRSZWN0IiBUaXBzPSLph43nva7ngrkiIC8+DQogICAgICAgIA0KICAgICAgICA8IS0tIOe8qeaUviAtLT4NCiAgICAgICAgPEJ0biBJRD0iMzAwIiBOYW1lPSJab29tSW4iIFRleHQ9IiIgQ2hlY2tNb2RlPSIxIiBJY29uPSJab29tSW4iIFRpcHM9IuaVtOS9k+aUvuWkpyIgLz4NCiAgICAgICAgPEJ0biBJRD0iMzEwIiBOYW1lPSJab29tT3V0IiBUZXh0PSIiIENoZWNrTW9kZT0iMSIgSWNvbj0iWm9vbU91dCIgVGlwcz0i5pW05L2T57yp5bCPIiAvPg0KICAgICAgICA8QnRuIElEPSIzMDEiIE5hbWU9Ilpvb21SZWN0SW4iIFRleHQ9IiIgQ2hlY2tNb2RlPSIzIiBJY29uPSJab29tUmVjdEluIiBUaXBzPSLmoYbpgInmlL7lpKciIC8+DQogICAgICAgIDxCdG4gSUQ9IjMwMiIgTmFtZT0iWm9vbVJlY3RJblYiIFRleHQ9IiIgQ2hlY2tNb2RlPSIzIiBJY29uPSJab29tSW5WIiBUaXBzPSLmoYbpgInmlL7lpKco56uW55u0KSIgLz4NCiAgICAgICAgPEJ0biBJRD0iMzAzIiBOYW1lPSJab29tUmVjdEluSCIgVGV4dD0iIiBDaGVja01vZGU9IjMiIEljb249Ilpvb21JbkgiIFRpcHM9IuahhumAieaUvuWkpyjmsLTlubMpIiAvPg0KICAgICAgICA8QnRuIElEPSIzMDQiIE5hbWU9Ilpvb21SZXNldCIgVGV4dD0iIiBDaGVja01vZGU9IjEiIEljb249Ilpvb21SZXNldCIgVGlwcz0i5Y6f5aeL5aSn5bCPIiAvPg0KICAgICAgICA8QnRuIElEPSIzMDUiIE5hbWU9Ilpvb21TZWxmQWRhcHRhdGlvbiIgQ2hlY2tNb2RlPSIxIiBUZXh0PSIiIEljb249Ilpvb21TZWxmQWRhcHRhdGlvbiIgVGlwcz0i6Ieq6YCC5bqU5aSn5bCPIiAvPg0KDQogICAgICAgIDwhLS0g5pi+56S6IC0tPg0KICAgICAgICA8QnRuIElEPSI0MDAiIE5hbWU9IlNob3dTcGVjaWFsTGluZSIgVGV4dD0iIiBDaGVja01vZGU9IjEiIEljb249IlNwZWNpYWxMaW5lVmlzaWJsZSIgVGlwcz0i5pi+56S6L+makOiXj+eJueW+gee6vyIgLz4NCiAgICAgICAgPEJ0biBJRD0iNDAxIiBOYW1lPSJTaG93Q3Jvc3NMaW5lIiBUZXh0PSIiIENoZWNrTW9kZT0iMSIgSWNvbj0iQ3Jvc3NsaW5lIiBUaXBzPSLmmL7npLov6ZqQ6JeP5Y2B5a2X57q/IiAvPg0KICAgICAgICA8QnRuIElEPSI0MDIiIE5hbWU9IlNob3dWYWx1ZSIgVGV4dD0iIiBDaGVja01vZGU9IjEiIEljb249IlNob3dWYWx1ZSIgVGlwcz0i5pi+56S6L+makOiXj+aVsOWAvOaPkOekuiIgLz4NCiAgICAgICAgPEJ0biBJRD0iNDAzIiBOYW1lPSJTaG93UHJvcGVydHkiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJQcm9wZXJ0eSIgVGlwcz0i5bGe5oCn6aG1IiAvPg0KICAgICAgICA8QnRuIElEPSI0MDQiIE5hbWU9IlJlZnJlc2hHcmFwaCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IlJlZnJlc2giIFRpcHM9IuWIt+aWsCIgLz4NCg0KICAgICAgICA8IS0tIOi+k+WFpei+k+WHuiAtLT4NCiAgICAgICAgPEJ0biBJRD0iNTAwIiBOYW1lPSJMb2FkR3JhcGgiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJMb2FkR3JhcGgiIFRpcHM9IuaJk+W8gOWbvuS7tiIgLz4NCiAgICAgICAgPEJ0biBJRD0iNTAxIiBOYW1lPSJTYXZlR3JhcGgiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJTYXZlR3JhcGgiIFRpcHM9IuS/neWtmOWbvuS7tiIgLz4NCiAgICAgICAgPEJ0biBJRD0iNTAyIiBOYW1lPSJMb2FkRXhjZWwiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJJbXBvcnRFeGNlbCIgVGlwcz0i5Yqg6L29RXhjZWwiIC8+DQogICAgICAgIDxCdG4gSUQ9IjUwMyIgTmFtZT0iU2F2ZUV4Y2VsIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iRXhwb3J0RXhjZWwiIFRpcHM9IuWvvOWHukV4Y2VsIiAvPg0KICAgICAgICA8QnRuIElEPSI1MDQiIE5hbWU9IkxvYWREYXRhYmFzZSIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IkRhdGFiYXNlIiBUaXBzPSLku47mlbDmja7lupPor7vlj5YiIC8+DQogICAgICAgIDxCdG4gSUQ9IjUwNSIgTmFtZT0iU2F2ZURhdGFiYXNlIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW5EYXRhYmFzZSIgVGlwcz0i5L+d5a2Y5YWl5bqTIiAvPg0KDQogICAgICAgIDxCdG4gSUQ9IjUwNiIgTmFtZT0iTG9hZFAiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJQcmVzc3VyZURhdGEiIFRpcHM9IuWKoOi9veWOi+WKm+aVsOaNriIgLz4NCiAgICAgICAgPEJ0biBJRD0iNTA3IiBOYW1lPSJMb2FkRiIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IlJhdGVEYXRhIiBUaXBzPSLliqDovb3mtYHph4/mlbDmja4iIC8+DQoNCiAgICAgICAgPEJ0biBJRD0iNTA4IiBOYW1lPSJQcmludCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IlByaW50IiBUaXBzPSLmiZPljbAiIC8+DQogICAgICAgIDxCdG4gSUQ9IjUwOSIgTmFtZT0icHJpbnRfUHJldmlldyIgQ2hlY2tNb2RlPSIwIiBUZXh0PSIiIEljb249IlByZVByaW50IiBUaXBzPSLmiZPljbDpooTop4giIC8+DQoNCiAgICAgICAgPEJ0biBJRD0iNTEwIiBOYW1lPSJTYXZlQXNJbWciIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJTYXZlQXNJbWFnZSIgVGlwcz0i5L+d5a2Y5Li65Zu+54mHIiAvPg0KICAgICAgICA8QnRuIElEPSI1MTEiIE5hbWU9IlNhdmVBc1RlbXBsIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iU2F2ZUFzVGVtcGwiIFRpcHM9IuS/neWtmOS4uuaooeadvyIgLz4NCg0KICAgICAgICA8IS0tIOWOi+WKm+a1gemHj+e8lui+kSAtLT4NCiAgICAgICAgPEJ0biBJRD0iNjAwIiBOYW1lPSJUaGlubmluZyIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IlRoaW5uaW5nIiBUaXBzPSLmir3nqIAiIC8+DQogICAgICAgIDxCdG4gSUQ9IjYwMSIgTmFtZT0iU21vb3RoIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iU21vb3RoIiBUaXBzPSLlhYnmu5EiIC8+DQogICAgICAgIDxCdG4gSUQ9IjYwMiIgTmFtZT0iSW5zZXJ0UmF0ZSIgVGV4dD0iIiBDaGVja01vZGU9IjMiIEljb249IlJhdGVQb2ludCIgVGlwcz0i5o+S5YWl5rWB6YeP54K5IiAvPg0KICAgICAgICA8QnRuIElEPSI2MDMiIE5hbWU9IlByZXZpZXdCeUN1ciIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IlByZXZpZXdCeUN1ciIgVGlwcz0i6aKE6KeI5b2T5YmN6YCJ5LitIiAvPg0KICAgICAgICA8QnRuIElEPSI2MDQiIE5hbWU9IlN3YXBQRiIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249IlBGIiBUaXBzPSLpgInmi6nljovlipvmtYHph48iIC8+DQoNCiAgICAgICAgPCEtLSDmlbDlgLzor5XkupXnm7jlhbPlip/og70gLS0+DQogICAgICAgIDxCdG4gSUQ9IjcwMCIgTmFtZT0ibm1JbnNlcnRPYmpQb2ludCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249Ikluc2VydFBvaW50IiBUaXBzPSJb5qC35L6LXeaPkuWFpeeCuSIgLz4NCiAgICAgICAgPEJ0biBJRD0iNzAxIiBOYW1lPSJubUluc2VydE9ialBvaW50V2VsbCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249Ikluc2VydFBvaW50IiBUaXBzPSLmj5LlhaXkupUiIC8+DQogICAgICAgIDxCdG4gSUQ9IjcwMiIgTmFtZT0ibm1JbnNlcnRPYmpMaW5lIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW5zZXJ0TGluZSIgVGlwcz0iW+agt+S+i13mj5LlhaXnur8iIC8+DQogICAgICAgIDxCdG4gSUQ9IjcwMyIgTmFtZT0ibm1JbnNlcnRPYmpQb2x5Z29uIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW5zZXJ0UG9seWdvbiIgVGlwcz0iW+agt+S+i13mj5LlhaXlpJrovrnlvaIiIC8+DQogICAgICAgIDxCdG4gSUQ9IjcwNCIgTmFtZT0ibm1JbnNlcnRPYmpQb2x5Z29uT3V0bGluZSIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249Ikluc2VydFBvbHlnb24iIFRpcHM9IuaPkuWFpeWkmui+ueW9oui+ueeVjCIgLz4NCiAgICAgICAgPEJ0biBJRD0iNzA1IiBOYW1lPSJubUluc2VydE9iakxpbmVDcmFjayIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249Ikluc2VydExpbmUiIFRpcHM9IuaPkuWFpeijgue8nSIgLz4NCiAgICAgICAgPEJ0biBJRD0iNzA2IiBOYW1lPSJubUluc2VydE9iakxpbmVGYXVsdCIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249Ikluc2VydExpbmUiIFRpcHM9IuaPkuWFpeaWreWxgiIgLz4NCiAgICAgICAgPEJ0biBJRD0iNzA3IiBOYW1lPSJubUluc2VydE9iakxpbmVNZWFzdXJpbmdTY2FsZSIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249Ikluc2VydExpbmUiIFRpcHM9IuaPkuWFpeavlOS+i+WwuiIgLz4NCiAgICAgICAgPEJ0biBJRD0iNzA4IiBOYW1lPSJubUluc2VydE9ialJlY3QiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJJbnNlcnRSZWN0IiBUaXBzPSJb5qC35L6LXeaPkuWFpeefqeW9oiIgLz4NCiAgICAgICAgPEJ0biBJRD0iNzA5IiBOYW1lPSJubUluc2VydE9ialJlY3RPdXRsaW5lIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW5zZXJ0UmVjdCIgVGlwcz0i5o+S5YWl55+p5b2i6L6555WMIiAvPg0KICAgICAgICA8QnRuIElEPSI3MTAiIE5hbWU9Im5tSW5zZXJ0T2JqUm91bmQiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJJbnNlcnRDdXJ2ZSIgVGlwcz0iW+agt+S+i13mj5LlhaXlnIblvaIiIC8+DQogICAgICAgIDxCdG4gSUQ9IjcxMSIgTmFtZT0ibm1JbnNlcnRPYmpSb3VuZE91dGxpbmUiIFRleHQ9IiIgQ2hlY2tNb2RlPSIwIiBJY29uPSJJbnNlcnRDdXJ2ZSIgVGlwcz0i5o+S5YWl5ZyG5b2i6L6555WMIiAvPg0KICAgICAgICA8QnRuIElEPSI3MTIiIE5hbWU9Im5tSW5zZXJ0T2JqUmVnaW9uIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW5zZXJ0TGluZSIgVGlwcz0i5o+S5YWl5Yy65Z+fIiAvPg0KICAgICAgICA8QnRuIElEPSI3MTMiIE5hbWU9Im5tRGVsZXRlT25lT2JqIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW5zZXJ0TGluZSIgVGlwcz0i5Yig6ZmkIiAvPg0KICAgICAgICA8QnRuIElEPSI3MTQiIE5hbWU9Im5tSW5zZXJ0UmVnaW9uTWFyayIgVGV4dD0iIiBDaGVja01vZGU9IjAiIEljb249Ikluc2VydExpbmUiIFRpcHM9Iuagh+iusOWMuuWfnyIgLz4NCiAgICAgICAgPEJ0biBJRD0iNzE1IiBOYW1lPSJubUluc2VydE9iakxpbmVNZWFzdXJlIiBUZXh0PSIiIENoZWNrTW9kZT0iMCIgSWNvbj0iSW5zZXJ0TGluZSIgVGlwcz0i5rWL6YePIiAvPg0KICAgICAgICA8IS0tIFBWVOebuOWFsyAtLT4NCiAgICAgICAgPEJ0biBJRD0iODAwIiBOYW1lPSJCYXNpY09wdGlvbiIgVGV4dD0iIiBJY29uPSJQdnRCYXNpY09wdGlvbiIgVGlwcz0i5Z+656GA6YCJ6aG5IiAvPg0KICAgICAgICA8QnRuIElEPSI4MDEiIE5hbWU9IlBoYXNlT2lsIiBUZXh0PSIiIEljb249IlBoYXNlT2lsIiBUaXBzPSLmsrnnm7giIC8+DQogICAgICAgIDxCdG4gSUQ9IjgwMiIgTmFtZT0iUGhhc2VHYXMiIFRleHQ9IiIgSWNvbj0iUGhhc2VHYXMiIFRpcHM9IuawlOebuCIgLz4NCiAgICAgICAgPEJ0biBJRD0iODAzIiBOYW1lPSJQaGFzZVdhdGVyIiBUZXh0PSIiIEljb249IlBoYXNlV2F0ZXIiIFRpcHM9IuawtOebuCIgLz4NCiAgICAgICAgPEJ0biBJRD0iODA0IiBOYW1lPSJTYXZlUHZ0IiBUZXh0PSIiIEljb249IlNhdmVQdnQiIFRpcHM9IuS/neWtmFB2dCIgLz4NCiAgICAgICAgPEJ0biBJRD0iODA1IiBOYW1lPSJMb2FkUHZ0IiBUZXh0PSIiIEljb249IkxvYWRQdnQiIFRpcHM9IuWKoOi9vVB2dCIgLz4NCiAgICAgICAgPEJ0biBJRD0iODA2IiBOYW1lPSJQc2V1UHJlc3N1cmUiIFRleHQ9IiIgSWNvbj0iUHNlZG9QIiBUaXBzPSLorqHnrpfmi5/ljovlipsiIC8+DQogICAgICAgIDxCdG4gSUQ9IjgwNyIgTmFtZT0iUHNldVByZXNzdXJlMyIgVGV4dD0iIiBJY29uPSJQc2Vkb1AzIiBUaXBzPSLorqHnrpfkuInljLrmi5/ljovlipsiIC8+DQogICAgICAgIDxCdG4gSUQ9IjgwOCIgTmFtZT0iUHNldVByZXNzdXJlQyIgVGV4dD0iIiBJY29uPSJQc2Vkb1BDIiBUaXBzPSLnu4TliIblkKvph4/orqHnrpfmi5/ljovlipsiIC8+DQoNCiAgICAgICA8IS0tIOS6p+a2suauteWbvuW9ouebuOWFsyAtLT4NCiAgICAgICA8QnRuIElEPSI5MDAiIE5hbWU9IkVxdUxheW91dCIgVGV4dD0iIiBJY29uPSJFcXVMYXlvdXQiIFRpcHM9IuetiemXtOmalOW4g+WxgCIgLz4NCiAgICAgICA8QnRuIElEPSI5MDEiIE5hbWU9IkFsbFNlZyIgVGV4dD0iIiBJY29uPSJBbGxTZWciIFRpcHM9IuS6p+a2suauteaVtOS9k+aTjeS9nCIgLz4NCiAgICAgICA8QnRuIElEPSI5MDIiIE5hbWU9IlRvdGFsU2VnIiBUZXh0PSIiIENoZWNrTW9kZSA9ICI0IiBJY29uPSJUb3RhbFNlZyIgVGlwcz0i5Lqk5LqS5pW05L2T5pON5L2cIiAvPg0KDQogICAgICAgIDwhLS0g5YW25a6DIC0tPg0KICAgICAgICA8QnRuIElEPSI5OTkiIE5hbWU9IkhlbHAiIFRleHQ9IiIgSWNvbj0iSGVscCIgVGlwcz0i5biu5YqpIiAvPg0KDQogICAgPC9CdXR0b25zPg0KDQogICAgPCEtLSDlkb3ku6TlhbPogZQgLS0+DQogICAgPENvbW1hbmRzIE5hbWU9IjEiID4NCg0KICAgICAgICA8IS0tIOWbvuexu+Wei+WRveS7pOeahOmFjee9ru+8jOavlOWmguWNiuWvueaVsOOAgeWPjOWvueaVsOWmguaenOaMiemSruS4jeS4gOiHtO+8jOWPr+S7peWcqOatpOmFjee9riAtLT4NCg0KICAgICAgICA8IS0tIFBsb3RCYXNpY1R5cGXkuLrln7rnoYDnsbvlnovvvIzpu5jorqTnmoTlm77lvaLphY3nva4gOzEwMjsxMDU7MTA2OzUxMSIxNTA7MTUxOzE1MjsxNTM7MTU0OzE1NTsxNTY7MjA5Ii0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iUGxvdEJhc2ljVHlwZSI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwMDs1MDEiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjEwMDsxMDE7MTAzOzEwNDsxMDc7MTA4IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDA7MjAxOzsyMDg7MjAzOzIwNDsyMDU7MjEwOzIwNiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMzAxOzMwMjszMDM7MzAwOzMxMDszMDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjQwMTs0MDI7NDAzOzQwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTA4OzUwOTs1MTA7OTk5IiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KDQogICAgICAgIDwhLS0g5Y6L5Yqb57yW6L6R5qih5byPIDsxMDU7MTA2LS0+DQogICAgICAgIDxDaGFydCBUeXBlPSJQX1R5cGVfRWRpdCI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjYwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTA2IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDg7MTAyOzIwNTsyMTAiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjIwMDsyMDEiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjMwMTszMDI7MzAzOzIwNjszMDA7MzEwOzMwNDszMDUiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjQwMTs0MDI7NDAzOzQwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTA1OzUwODs1MDk7NTEwIiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KDQogICAgICAgIDwhLS0g5rWB6YeP57yW6L6R5qih5byPIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iRl9UeXBlX0VkaXQiPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDciIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjIwODs2MDIiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjIwMDsyMDEiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjMwMTszMDI7MzAzOzIwNjszMDA7MzEwOzMwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNDAxOzQwMjs0MDM7NDA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDU7NTA4OzUwOTs1MTAiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQoNCiAgICAgICAgPCEtLSDljovlipsr5rWB6YeP57uf5LiA5qih5byPOzEwNTsxMDYgLS0+DQogICAgICAgIDxDaGFydCBUeXBlPSJQRl9UeXBlX01FUkdFIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNjA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDY7NTA3IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI2MDIiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjIwODsxMDI7MjA1OzIxMCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMzAxOzMwMjszMDM7MjA2OzMwMDszMTA7MzA0OzMwNSIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNDAxOzQwMjs0MDM7NDA0IiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KDQoNCiAgICAgICAgPCEtLSDljovlipvnvJbovpHmqKHlvI9b5aKe5Yqg5Zue5b2S54K5XTsxMDU7MTA2IC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iUF9UeXBlX0VkaXRfRVgiPg0KICAgICAgICAgICAgPENtZHMgSURzPSI2MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwNiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjA4OzEwMjsyMDU7MjEwIiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDA7MjAxIiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAyOzMwMzsyMDY7MzAwOzMxMDszMDQ7MzA1IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwNTs1MDg7NTA5OzUxMCIgLz4NCiAgICAgICAgPC9DaGFydD4NCg0KICAgICAgICA8IS0tIElQUuaVsOaNruWHhuWkh+S4reS4iuS4i1BG5Lit5rWB6YeP5Zu+5qih5byPIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iSVBSX1R5cGVfRWRpdCI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjIwOTsyMDg7OzIwMDsyMDEiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjMwMTszMDI7MzAzOzIwNjszMDA7MzEwOzMwNDszMDUiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjQwMTs0MDI7NDAzOzQwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTA4OzUwOTs1MTAiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQoNCg0KICAgICAgICA8IS0tIElQUuaVsOaNrue7k+aenOWbvuaooeW8jzsxMDItLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9IklQUl9SZXN1bHRfU2hvdyI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjEwMDsxMDE7MTAzOzEwNDsxMDc7MTA4IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDA7MjAxOzsyMDg7MjAzOzIwNDsyMDU7MjA2IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAyOzMwMzszMDA7MzEwOzMwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNDAxOzQwMjs0MDM7NDA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDg7NTA5OzUxMDs5OTkiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQoNCg0KICAgICAgICA8IS0tIOa1gemHj+WOi+WKmyjlpITnkIbnu5PmnpznmoTljoblj7Lmm7Lnur/vvIzkuIrkuIvmqKHlvI8pOzEwNTsxMDY7MTAyIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iSElTVF9UeXBlX1BGIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMTAwOzEwMTsxMDM7MTA0OzEwNzsxMDgiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjIwMDsyMDEiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjMwMTszMDI7MzAzOzMwMDszMTA7MzA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwODs1MDk7NTEwIiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KICAgICAgICA8IS0tIOa1gemHj+WOi+WKm+mdnue8lui+keaooeW8jyAtLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9IkZfVHlwZV9VbkVkaXQiPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDc7NTA4OzUwOTs1MTAiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQogICAgICAgIDxDaGFydCBUeXBlPSJQX1R5cGVfVW5FZGl0Ij4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTA2OzUwODs1MDk7NTEwIiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KDQogICAgICAgIDxDaGFydCBUeXBlPSJMb2dfVHlwZV9FZGl0Ij4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjA5OzUwNjs1MDg7NTA5OzUxMCIgLz4NCiAgICAgICAgPC9DaGFydD4NCg0KICAgICAgICA8IS0tIFBsb3RTcXVhcmVHcmlk5Li65pa55b2i572R5qC877yM5Y+M5a+55pWw5LiT5bGeIDUxMTs7MTA1OzEwNjsxNTc7MTAyLS0+DQogICAgICAgIDxDaGFydCBUeXBlPSJQbG90U3F1YXJlR3JpZCI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwMDs1MDEiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjIwMDsyMDE7OzIwODsyMDk7MjAzOzIwNDsyMDU7MjEwOzIwNiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMTUwOzE1MTsxNTI7MTUzOzE1NDsxNTU7MTU2IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIxMDA7MTAxOzEwMzsxMDQ7MTA3OzEwOCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMzAxOzMwMDszMTA7MzA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDA7NDAxOzQwMjs0MDM7NDA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDg7NTA5OzUxMDs5OTkiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQoNCiAgICAgICAgPCEtLSBQbG90VGFibGVIZWxwZXLkuLpQbG9055qE6L6F5Yqp6KGo5qC85LiK5L6n55qE6YWN572uIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iUGxvdFRhYmxlSGVscGVyIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTAzOzUwNSIgLz4NCiAgICAgICAgPC9DaGFydD4NCg0KICAgICAgICA8IS0tIOaVsOaNrueuoeeQhuexu+eahOW3peWFt+agj+mFjee9riAtLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9IlN1YlduZERhdGEiPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDM7NTA1IiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KICAgICAgICA8Q2hhcnQgVHlwZT0iU3ViV25kRGF0YVBGIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTA2OzUwNzs7NTAzOzUwNSIgLz4NCiAgICAgICAgPC9DaGFydD4NCg0KICAgICAgICA8IS0tIFdlbGxNYXAyROe7mOWbvumFjee9riA7MTgyOzUxMS0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iV2VsbE1hcDJEVHlwZSI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjE4MDsxODEiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjIwMDsyMDE7OzIwODsyMDYiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjMwMTszMDI7MzAzOzMwMDszMTA7MzA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwODs1MDk7NTEwOzk5OSIgLz4NCiAgICAgICAgPC9DaGFydD4NCg0KICAgICAgICA8IS0tIOW5suaJsOiuvue9rumFjee9riA7MTgyOzUxMS0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iV2VsbEluZjJEVHlwZSI+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjE4OSIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjAwOzIwMTs7MjA4OzIwNiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMzAxOzMwMjszMDM7MzAwOzMxMDszMDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjQwMTs0MDI7NDAzOzQwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTA4OzUwOTs1MTA7OTk5IiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KDQogICAgICAgIDwhLS0g5pWw5YC86K+V5LqVMkTnu5jlm77moLfkvovphY3nva47NTExIC0tPg0KICAgICAgICA8Q2hhcnQgVHlwZT0iTm1EZW1vMkRUeXBlIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNzAwOzcwMTs3MDI7NzAzOzcwNDs3MDU7NzA2OzcwNzs3MDg7NzA5OzcxMDs3MTE7NzEyOzcxMzs3MTQ7NzE1IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDA7MjAxOzsyMDgiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjMwMTszMDI7MzAzOzMwMDszMTA7MzA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwODs1MDk7NTEwOzk5OSIgLz4NCiAgICAgICAgPC9DaGFydD4NCg0KICAgICAgICA8IS0tIFJzdCBGaXTphY3nva4gLS0+DQogICAgICAgIDxDaGFydCBUeXBlPSJSc3RGaXRUeXBlIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMzAxOzMwMDszMTA7MzA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI1MDg7NTA5OzUxMCIgLz4NCiAgICAgICAgPC9DaGFydD4NCiAgICAgICAgIDwhLS0gU2VnTW9yZeS6p+a2suauteaVsOmFjee9riAtLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9IlNlZ01vcmVUeXBlIj4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMjAwOzIwMTs7MjA4OzIwNiIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iMzAxOzMwMDszMTA7MzA0IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSI0MDE7NDAyOzQwMzs0MDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjkwMDs5MDE7OTAyIi8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjUwODs1MDk7NTEwIiAvPg0KICAgICAgICA8L0NoYXJ0Pg0KICAgICAgICAgPCEtLSBCb3VuZFNldOi+ueeVjOmFjee9riAtLT4NCiAgICAgICAgPENoYXJ0IFR5cGU9IkJkeVR5cGUiPg0KICAgICAgICAgICAgPENtZHMgSURzPSIyMDA7MjAxOzsyMDg7MjA2IiAvPg0KICAgICAgICAgICAgPENtZHMgSURzPSIzMDE7MzAwOzMxMDszMDQiIC8+DQogICAgICAgICAgICA8Q21kcyBJRHM9IjQwMTs0MDI7NDAzOzQwNCIgLz4NCiAgICAgICAgICAgIDxDbWRzIElEcz0iNTA4OzUwOTs1MTAiIC8+DQogICAgICAgIDwvQ2hhcnQ+DQogICAgPC9Db21tYW5kcz4NCg0KPC9Sb290Pg0K \ No newline at end of file diff --git a/Bin/Config/Common/FunDesc.dat b/Bin/Config/Common/FunDesc.dat deleted file mode 100644 index a5d834e..0000000 --- a/Bin/Config/Common/FunDesc.dat +++ /dev/null @@ -1 +0,0 @@ -77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLSAgICDmnKzmlofmoaPnmoTnm67nmoTmmK/lu7rnq4vlkI7lj7DmiYDmlK/mjIHnmoTlpI3mnYLnrpfms5UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEF1dGhvcihzKTogd2FuZ3pnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgRGF0ZTogMjAxNjAxMjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQoNCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLSBGdW5jdGlvbiDlh73mlbAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIE5hbWXvvJogIOWHveaVsOWQjeensO+8jOS7o+eggeS4reWQjeensO+8jOWHveaVsOWFpeWPo+WHveaVsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEFsaWFz77yaIOWIq+WQje+8jOmAmuW4uOWvueW6lOWHveaVsOWQjeensOeahOebuOWFs+ivtOaYjiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgT3V0cHV0c++8miAg6L6T5Ye66YeP77yM6Ieq5Y+Y6YePICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIHNSZW1hcmvvvJogIOWHveaVsOaOpeWPo+ivtOaYjuS/oeaBryAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCg0KPCEtLSBQYXJhIOi+k+WFpeWPguaVsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgTmFtZSAg6Iux5paH5o+P6L+w77yM5LiN5LiA5a6a6Z2e5b6X5LiO5Ye95pWw5Luj56CB5Lit5Y+C5pWw5Y+Y6YeP5LiA6Ie0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEFsaWFz77ya5Lit5paH5Y+C5pWw5ZCN77yM6Z2e5bi46YeN6KaB77yM5L2G5aaC5p6c6YWN572u5LiO5LqM5qyh6Kej6YeK6KGo5Lit5a2X5q615LiA5qC377yM5bCG5Lya6Ieq5Yqo5Z2H5YC85Y+W5YC8ICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIFVuaXTvvJrljZXkvY0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgVmFsdWU65o6o6I2Q5YC877yMb3Lpu5jorqTlgLzvvIzlpoLmnpzkuozmrKHop6Pph4rmnInvvIzliJnoh6rliqjku47kuozmrKHop6Pph4rlj5YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgTWF477ya5pyA5aSn5YC8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIE1pbu+8muacgOWwj+WAvCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KDQo8Um9vdD4NCjxGdW5jdGlvbiBOYW1lPSJjYWxHYXNaQnlEcmFuY2h1ayIgQWxpYXM9IuawlOS9k+WBj+W3ruWboOWtkOWFrOW8jyIgT2JqZWN0PSLpgILnlKjojIPlm7QiIE91dHB1dD0i5rCU5L2T5YGP5beu5Zug5a2QIiBzUmVtYXJrPSLorqHnrpfmsJTkvZPlgY/lt67lm6DlrZDnmoTlhazlvI8iID4NCg0KICAgIDxQYXJhIE5hbWU9IlAiIEFsaWFzPSLlnLDlsYLljovlipsiIFVuaXQ9Ik1QYSIgVmFsdWU9IjI1IiBNYXg9IjEyMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iVCIgQWxpYXM9IuWcsOWxgua4qeW6piIgVW5pdD0i4oSDIiBWYWx1ZT0iOTAiIE1heD0iNTAwIiBNaW49IjAiLz4gICAgDQogICAgPFBhcmEgTmFtZT0iQzEiIEFsaWFzPSLnlLLng7coQzEpIiBVbml0PSIlIiBWYWx1ZT0iOTAiIE1heD0iMTAwIiBNaW49IjAiLz4NCiAgICA8UGFyYSBOYW1lPSJDMiIgQWxpYXM9IuS5meeDtyhDMikiIFVuaXQ9IiUiIFZhbHVlPSIyIiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iQzMiIEFsaWFzPSLkuJnng7coQzMpIiBVbml0PSIlIiBWYWx1ZT0iMSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9ImlDNCIgQWxpYXM9IuW8guS4geeDtyhpQzQpIiBVbml0PSIlIiBWYWx1ZT0iMSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9Im5DNCIgQWxpYXM9Iuato+S4geeDtyhuQzQpIiBVbml0PSIlIiBWYWx1ZT0iMSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9ImlDNSIgQWxpYXM9IuW8guaIiueDtyhpQzUpIiBVbml0PSIlIiBWYWx1ZT0iMSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9Im5DNSIgQWxpYXM9Iuato+aIiueDtyhuQzUpIiBVbml0PSIlIiBWYWx1ZT0iMSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9IkM2IiBBbGlhcz0i5bex54O3KEM2KSIgVW5pdD0iJSIgVmFsdWU9IjEiIE1heD0iMTAwIiBNaW49IjAiLz4NCiAgICA8UGFyYSBOYW1lPSJDNyIgQWxpYXM9IuW6mueDtyhDNykiIFVuaXQ9IiUiIFZhbHVlPSIwLjUiIE1heD0iMTAwIiBNaW49IjAiLz4NCiAgICA8UGFyYSBOYW1lPSJDTzIiIEFsaWFzPSLkuozmsKfljJbnorMoQ08yKSIgVW5pdD0iJSIgVmFsdWU9IjAuNSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9Ik4yIiBBbGlhcz0i5rCu5rCUKE4yKSIgVW5pdD0iJSIgVmFsdWU9IjAuNSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9IkgyUyIgQWxpYXM9Iuehq+WMluawoihIMlMpIiBVbml0PSIlIiBWYWx1ZT0iMC41IiBNYXg9IjEwMCIgTWluPSIwIi8+DQoNCjwvRnVuY3Rpb24+DQoNCjxGdW5jdGlvbiBOYW1lPSJjYWxHYXNNdUJ5TGVlIiBBbGlhcz0i5Zyw5bGC5aSp54S25rCU57KY5bqm5YWs5byPIiBPYmplY3Q9IumAgueUqOiMg+WbtCIgT3V0cHV0PSLlpKnnhLbmsJTnspjluqYiIHNSZW1hcms9Iuiuoeeul+WkqeeEtuawlOeymOW6pueahOWFrOW8jyIgPg0KDQogICAgPFBhcmEgTmFtZT0iUCIgQWxpYXM9IuWcsOWxguWOi+WKmyIgVW5pdD0iTVBhIiBWYWx1ZT0iMjUiIE1heD0iMTIwIiBNaW49IjAiLz4NCiAgICA8UGFyYSBOYW1lPSJUIiBBbGlhcz0i5Zyw5bGC5rip5bqmIiBVbml0PSLihIMiIFZhbHVlPSI5MCIgTWF4PSI1MDAiIE1pbj0iMCIvPiAgICANCiAgICA8UGFyYSBOYW1lPSJDMSIgQWxpYXM9IueUsueDtyhDMSkiIFVuaXQ9IiUiIFZhbHVlPSI5MCIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9IkMyIiBBbGlhcz0i5LmZ54O3KEMyKSIgVW5pdD0iJSIgVmFsdWU9IjIiIE1heD0iMTAwIiBNaW49IjAiLz4NCiAgICA8UGFyYSBOYW1lPSJDMyIgQWxpYXM9IuS4meeDtyhDMykiIFVuaXQ9IiUiIFZhbHVlPSIxIiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iaUM0IiBBbGlhcz0i5byC5LiB54O3KGlDNCkiIFVuaXQ9IiUiIFZhbHVlPSIxIiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0ibkM0IiBBbGlhcz0i5q2j5LiB54O3KG5DNCkiIFVuaXQ9IiUiIFZhbHVlPSIxIiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iaUM1IiBBbGlhcz0i5byC5oiK54O3KGlDNSkiIFVuaXQ9IiUiIFZhbHVlPSIxIiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0ibkM1IiBBbGlhcz0i5q2j5oiK54O3KG5DNSkiIFVuaXQ9IiUiIFZhbHVlPSIxIiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iQzYiIEFsaWFzPSLlt7Hng7coQzYpIiBVbml0PSIlIiBWYWx1ZT0iMSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9IkM3IiBBbGlhcz0i5bqa54O3KEM3KSIgVW5pdD0iJSIgVmFsdWU9IjAuNSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9IkNPMiIgQWxpYXM9IuS6jOawp+WMlueisyhDTzIpIiBVbml0PSIlIiBWYWx1ZT0iMC41IiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iTjIiIEFsaWFzPSLmsK7msJQoTjIpIiBVbml0PSIlIiBWYWx1ZT0iMC41IiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iSDJTIiBBbGlhcz0i56Gr5YyW5rCiKEgyUykiIFVuaXQ9IiUiIFZhbHVlPSIwLjUiIE1heD0iMTAwIiBNaW49IjAiLz4NCg0KPC9GdW5jdGlvbj4gIA0KDQo8RnVuY3Rpb24gTmFtZT0iY2FsR2FzRGVuc2l0eUJ5UmhvZyIgQWxpYXM9IuWkqeeEtuawlOebuOWvueWvhuW6puWFrOW8jyIgT2JqZWN0PSLpgILnlKjojIPlm7QiIE91dHB1dD0i5aSp54S25rCU5a+G5bqmIiBzUmVtYXJrPSLorqHnrpflpKnnhLbmsJTlr4bluqbnmoTlhazlvI8iID4NCg0KICAgIDxQYXJhIE5hbWU9IlAiIEFsaWFzPSLlnLDlsYLljovlipsiIFVuaXQ9Ik1QYSIgVmFsdWU9IjI1IiBNYXg9IjEyMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iVCIgQWxpYXM9IuWcsOWxgua4qeW6piIgVW5pdD0i4oSDIiBWYWx1ZT0iOTAiIE1heD0iNTAwIiBNaW49IjAiLz4gICAgDQogICAgPFBhcmEgTmFtZT0iQzEiIEFsaWFzPSLnlLLng7coQzEpIiBVbml0PSIlIiBWYWx1ZT0iOTAiIE1heD0iMTAwIiBNaW49IjAiLz4NCiAgICA8UGFyYSBOYW1lPSJDMiIgQWxpYXM9IuS5meeDtyhDMikiIFVuaXQ9IiUiIFZhbHVlPSIyIiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iQzMiIEFsaWFzPSLkuJnng7coQzMpIiBVbml0PSIlIiBWYWx1ZT0iMSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9ImlDNCIgQWxpYXM9IuW8guS4geeDtyhpQzQpIiBVbml0PSIlIiBWYWx1ZT0iMSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9Im5DNCIgQWxpYXM9Iuato+S4geeDtyhuQzQpIiBVbml0PSIlIiBWYWx1ZT0iMSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9ImlDNSIgQWxpYXM9IuW8guaIiueDtyhpQzUpIiBVbml0PSIlIiBWYWx1ZT0iMSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9Im5DNSIgQWxpYXM9Iuato+aIiueDtyhuQzUpIiBVbml0PSIlIiBWYWx1ZT0iMSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9IkM2IiBBbGlhcz0i5bex54O3KEM2KSIgVW5pdD0iJSIgVmFsdWU9IjEiIE1heD0iMTAwIiBNaW49IjAiLz4NCiAgICA8UGFyYSBOYW1lPSJDNyIgQWxpYXM9IuW6mueDtyhDNykiIFVuaXQ9IiUiIFZhbHVlPSIwLjUiIE1heD0iMTAwIiBNaW49IjAiLz4NCiAgICA8UGFyYSBOYW1lPSJDTzIiIEFsaWFzPSLkuozmsKfljJbnorMoQ08yKSIgVW5pdD0iJSIgVmFsdWU9IjAuNSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9Ik4yIiBBbGlhcz0i5rCu5rCUKE4yKSIgVW5pdD0iJSIgVmFsdWU9IjAuNSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9IkgyUyIgQWxpYXM9Iuehq+WMluawoihIMlMpIiBVbml0PSIlIiBWYWx1ZT0iMC41IiBNYXg9IjEwMCIgTWluPSIwIi8+DQoNCjwvRnVuY3Rpb24+ICANCg0KPEZ1bmN0aW9uIE5hbWU9ImNhbEdhc0J1bGtDb2VmIiBBbGlhcz0i5aSp54S25rCU5L2T56ev57O75pWw5YWs5byPIiBPYmplY3Q9IumAgueUqOiMg+WbtCIgT3V0cHV0PSLlpKnnhLbmsJTkvZPnp6/ns7vmlbAiIHNSZW1hcms9Iuiuoeeul+WkqeeEtuawlOS9k+enr+ezu+aVsOeahOWFrOW8jyIgPg0KDQogICAgPFBhcmEgTmFtZT0iUCIgQWxpYXM9IuWcsOWxguWOi+WKmyIgVW5pdD0iTVBhIiBWYWx1ZT0iMjUiIE1heD0iMTIwIiBNaW49IjAiLz4NCiAgICA8UGFyYSBOYW1lPSJUIiBBbGlhcz0i5Zyw5bGC5rip5bqmIiBVbml0PSLihIMiIFZhbHVlPSI5MCIgTWF4PSI1MDAiIE1pbj0iMCIvPiAgICANCiAgICA8UGFyYSBOYW1lPSJDMSIgQWxpYXM9IueUsueDtyhDMSkiIFVuaXQ9IiUiIFZhbHVlPSI5MCIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9IkMyIiBBbGlhcz0i5LmZ54O3KEMyKSIgVW5pdD0iJSIgVmFsdWU9IjIiIE1heD0iMTAwIiBNaW49IjAiLz4NCiAgICA8UGFyYSBOYW1lPSJDMyIgQWxpYXM9IuS4meeDtyhDMykiIFVuaXQ9IiUiIFZhbHVlPSIxIiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iaUM0IiBBbGlhcz0i5byC5LiB54O3KGlDNCkiIFVuaXQ9IiUiIFZhbHVlPSIxIiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0ibkM0IiBBbGlhcz0i5q2j5LiB54O3KG5DNCkiIFVuaXQ9IiUiIFZhbHVlPSIxIiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iaUM1IiBBbGlhcz0i5byC5oiK54O3KGlDNSkiIFVuaXQ9IiUiIFZhbHVlPSIxIiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0ibkM1IiBBbGlhcz0i5q2j5oiK54O3KG5DNSkiIFVuaXQ9IiUiIFZhbHVlPSIxIiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iQzYiIEFsaWFzPSLlt7Hng7coQzYpIiBVbml0PSIlIiBWYWx1ZT0iMSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9IkM3IiBBbGlhcz0i5bqa54O3KEM3KSIgVW5pdD0iJSIgVmFsdWU9IjAuNSIgTWF4PSIxMDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9IkNPMiIgQWxpYXM9IuS6jOawp+WMlueisyhDTzIpIiBVbml0PSIlIiBWYWx1ZT0iMC41IiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iTjIiIEFsaWFzPSLmsK7msJQoTjIpIiBVbml0PSIlIiBWYWx1ZT0iMC41IiBNYXg9IjEwMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iSDJTIiBBbGlhcz0i56Gr5YyW5rCiKEgyUykiIFVuaXQ9IiUiIFZhbHVlPSIwLjUiIE1heD0iMTAwIiBNaW49IjAiLz4NCg0KPC9GdW5jdGlvbj4gIA0KDQo8RnVuY3Rpb24gTmFtZT0iY2FsT2lsQnVsa0NvZWYiIEFsaWFzPSLljp/msrnkvZPnp6/ns7vmlbBCb+WFrOW8jyIgT2JqZWN0PSLpgILnlKjojIPlm7QiIE91dHB1dD0i5rK55L2T56ev57O75pWwIiBzUmVtYXJrPSLorqHnrpfmsrnkvZPnp6/ns7vmlbBCb+eahOWFrOW8jyIgPg0KDQogICAgPFBhcmEgTmFtZT0iZ2FtbWFfZyIgQWxpYXM9IuWcsOmdouWkqeeEtuawlOebuOWvueWvhuW6piIgVW5pdD0iIiBWYWx1ZT0iMC42IiBNYXg9IjEiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9ImdhbW1hX28iIEFsaWFzPSLlnLDpnaLljp/msrnnm7jlr7nlr4bluqYiIFVuaXQ9IiIgVmFsdWU9IjAuNyIgTWF4PSIxIiBNaW49IjAiLz4NCiAgICA8UGFyYSBOYW1lPSJQIiBBbGlhcz0i5Zyw5bGC5Y6L5YqbIiBVbml0PSJNUGEiIFZhbHVlPSIyNSIgTWF4PSIxMjAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9IlQiIEFsaWFzPSLlnLDlsYLmuKnluqYiIFVuaXQ9IuKEgyIgVmFsdWU9IjkwIiBNYXg9IjUwMCIgTWluPSIwIi8+DQoNCg0KPC9GdW5jdGlvbj4NCg0KPEZ1bmN0aW9uIE5hbWU9ImNhbE9pbERlbnNpdHkiIEFsaWFzPSLlnLDlsYLljp/msrnlr4bluqblhazlvI8iIE9iamVjdD0i6YCC55So6IyD5Zu0IiBPdXRwdXQ9IuayueWvhuW6piIgc1JlbWFyaz0i6K6h566X5rK55a+G5bqm55qE5YWs5byPIiA+DQoNCiAgICA8UGFyYSBOYW1lPSJnYW1tYV9nIiBBbGlhcz0i5Zyw6Z2i5aSp54S25rCU55u45a+55a+G5bqmIiBVbml0PSIiIFZhbHVlPSIwLjYiIE1heD0iMSIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iZ2FtbWFfbyIgQWxpYXM9IuWcsOmdouWOn+ayueebuOWvueWvhuW6piIgVW5pdD0iIiBWYWx1ZT0iMC43IiBNYXg9IjEiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9IlAiIEFsaWFzPSLlnLDlsYLljovlipsiIFVuaXQ9Ik1QYSIgVmFsdWU9IjI1IiBNYXg9IjEyMCIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iVCIgQWxpYXM9IuWcsOWxgua4qeW6piIgVW5pdD0i4oSDIiBWYWx1ZT0iOTAiIE1heD0iNTAwIiBNaW49IjAiLz4NCjwvRnVuY3Rpb24+DQoNCjxGdW5jdGlvbiBOYW1lPSJjYWxPaWxNdSIgQWxpYXM9IuWcsOWxguWOn+ayueeymOW6puWFrOW8jyIgT2JqZWN0PSLpgILnlKjojIPlm7QiIE91dHB1dD0i5rK557KY5bqmIiBzUmVtYXJrPSLorqHnrpfmsrnnspjluqbnmoTlhazlvI8iID4NCg0KICAgIDxQYXJhIE5hbWU9ImdhbW1hX2ciIEFsaWFzPSLlnLDpnaLlpKnnhLbmsJTnm7jlr7nlr4bluqYiIFVuaXQ9IiIgVmFsdWU9IjAuNiIgTWF4PSIxIiBNaW49IjAiLz4NCiAgICA8UGFyYSBOYW1lPSJnYW1tYV9vIiBBbGlhcz0i5Zyw6Z2i5Y6f5rK555u45a+55a+G5bqmIiBVbml0PSIiIFZhbHVlPSIwLjciIE1heD0iMSIgTWluPSIwIi8+DQogICAgPFBhcmEgTmFtZT0iUCIgQWxpYXM9IuWcsOWxguWOi+WKmyIgVW5pdD0iTVBhIiBWYWx1ZT0iMjUiIE1heD0iMTIwIiBNaW49IjAiLz4NCiAgICA8UGFyYSBOYW1lPSJUIiBBbGlhcz0i5Zyw5bGC5rip5bqmIiBVbml0PSLihIMiIFZhbHVlPSI5MCIgTWF4PSI1MDAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9InRwIiBBbGlhcz0i5Y6f5rK55Yed5Zu654K5IiBVbml0PSLihIMiIFZhbHVlPSIzMCIgTWF4PSIyMDAiIE1pbj0iMCIvPg0KDQo8L0Z1bmN0aW9uPg0KDQo8RnVuY3Rpb24gTmFtZT0iY2FsR09SIiBBbGlhcz0i5rq26Kej5rCU5rK55q+U5YWs5byPIiBPYmplY3Q9IumAgueUqOiMg+WbtCIgT3V0cHV0PSLmsJTmsrnmr5QiIHNSZW1hcms9Iuiuoeeul+awlOayueavlOeahOWFrOW8jyIgPg0KDQogICAgPFBhcmEgTmFtZT0iZ2FtbWFfZyIgQWxpYXM9IuWcsOmdouWkqeeEtuawlOebuOWvueWvhuW6piIgVW5pdD0iIiBWYWx1ZT0iMC42IiBNYXg9IjEiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9ImdhbW1hX28iIEFsaWFzPSLlnLDpnaLljp/msrnnm7jlr7nlr4bluqYiIFVuaXQ9IiIgVmFsdWU9IjAuNyIgTWF4PSIxIiBNaW49IjAiLz4NCiAgICA8UGFyYSBOYW1lPSJQIiBBbGlhcz0i5Zyw5bGC5Y6L5YqbIiBVbml0PSJNUGEiIFZhbHVlPSIyNSIgTWF4PSIxMjAiIE1pbj0iMCIvPg0KICAgIDxQYXJhIE5hbWU9IlQiIEFsaWFzPSLlnLDlsYLmuKnluqYiIFVuaXQ9IuKEgyIgVmFsdWU9IjkwIiBNYXg9IjIwMCIgTWluPSIwIi8+DQoNCjwvRnVuY3Rpb24+DQoNCjwvUm9vdD4NCg== \ No newline at end of file diff --git a/Bin/Config/Common/IprAlgDefines.dat b/Bin/Config/Common/IprAlgDefines_cn.dat similarity index 100% rename from Bin/Config/Common/IprAlgDefines.dat rename to Bin/Config/Common/IprAlgDefines_cn.dat diff --git a/Bin/Config/Common/IprAlgDefines_en.dat b/Bin/Config/Common/IprAlgDefines_en.dat new file mode 100644 index 0000000..086ba20 --- /dev/null +++ b/Bin/Config/Common/IprAlgDefines_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkgICAgIC0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogICAtLT4NCjwhLS0gICAg5pys5paH5qGj55qE55uu55qE5pivQWxnTWV0aG9k55u45YWz6YWN572uICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgQXV0aG9yKHMpOiB3YW5nemcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIERhdGU6IDIwMjEwNTI5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAgICAgICAtLT4NCg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAtLT4NCjwhLS0gQWxnVHlwZSDnrpfms5XlpKfnsbsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIElE77ya57yW5Y+35qCH6K+GICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgQWxpYXPvvJog5Yir5ZCNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBOYW1l77yaICDlkI3np7AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIFRpcHPvvJog5aSH5rOoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCg0KPCEtLSBBbGdNZXRob2Qg5Y+C5pWwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgSUTvvJrnvJblj7fmoIfor4YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBOYW1l77yaICDlkI3np7AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEFsaWFz77yaIOWIq+WQjSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgTmFtZVjvvJogIOe7mOWbvuaXtnjovbTlkI3np7AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIFVuaXRY77yaICDnu5jlm77ml7Z46L205Y2V5L2NICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBOYW1lWe+8miAg57uY5Zu+5pe2eei9tOWQjeensCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgVW5pdFnvvJogIOe7mOWbvuaXtnnovbTljZXkvY0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEV4cHLvvJrmmL7npLrlnKjnlYzpnaLkuIrnmoTooajovr7lvI8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEZsdWlkVHlwZe+8mueul+azleayueawlOawtOexu+Wei++8jOm7mOiupO+8mk9HV++8jOWPr+S7peS4jeWhq+WGmSzloavlhplH5Luj6KGo5Y+q5a+55rCUIC0tPg0KPCEtLSAgICBSZXN1bHRCb3Ro77ya57uT5p6c5ZGI546w77yM6buY6K6k77ya5bem5Y+z5Lik5Zu+77yM5aaC5p6c5piv5LiA5Zu+77yM5aGr5YaZMCAgICAgICAgLS0+DQo8IS0tICAgIFN1YlJhZGlvVmlzaWJsZe+8muaYr+WQpuaYvuekuiBSYWRpb++8jOm7mOiupOaYvuekuu+8jOWmguaenOS4jeaYvuekuu+8jOWhq+WGmTAgIC0tPg0KPCEtLSAgICBTcmNUYWJsZUNvbHPvvJrmupDmlbDmja7ooajmoLzliJfmoIfpopjvvIzpu5jorqTkuKTliJfvvIzljovlipsv5Lqn6YeP77yM5LiN55So6YWN572uICAgLS0+DQo8IS0tICAgIDIwMjYwNDE2LOWumuS5ieaUueS4uuS4juahhuaetuaXoOWFs++8jOaJgOS7pem7mOiupOS5n+W+l+mFjee9ruS6hiAgICAgICAgICAgICAgIC0tPg0KPCEtLUlEPSIwOSIg5Li6T0lMLS0+DQo8Um9vdD4NCg0KICAgPEFsZ1R5cGUgSUQ9IjAxIiBOYW1lPSJCYXNlUEEiIEFsaWFzPSLlm57ljovor5XkupUiIFRpcHM9IiIgU3JjVGFibGVDb2xzPSLkupXlupXljovlipsoTVBhKTvmsJTkuqfph48oMTBeNCptXjMvZCkiICA+DQoNCiAgICA8QWxnTWV0aG9kIElEPSIwMTAxIiBOYW1lPSJCaW5vbWlhbCIgQWxpYXM9IuS6jOmhueW8j+S6p+iDveaWueeoiyIgTmFtZVg9IlEiIFVuaXRYPSIxMF40Km1eMy9kIiBOYW1lWT0iKHBSXjItUHdmXjIpL1E7UDsoUFNFZS1QU0V3ZikvUTtQU0UiIFVuaXRZPSJNUGFeMi8oMTBeNCptXjMvZCk7TVBhO01QYV4yL21QYS5zLygxMF40Km1eMy9kKTtNUGFeMi9tUGEucyIgRXhwcj0iKHBSXjIgLSBQd2ZeMikgLyBRID0gQiAqIFEgKyBBOyhQU0VlIC0gUFNFd2YpIC8gUSA9IEIgKiBRICsgQSIgIC8+DQogICAgPEFsZ01ldGhvZCBJRD0iMDEwMiIgTmFtZT0iQmlub21pYWxFeCIgQWxpYXM9IuaUuei/m+S6jOmhueW8j+S6p+iDveaWueeoiyIgTmFtZVg9IlEiIFVuaXRYPSIxMF40Km1eMy9kIiBOYW1lWT0iKHBSXjItUHdmXjIpL1E7UDsoUFNFZS1QU0V3ZikvUTtQU0UiIFVuaXRZPSJNUGFeMi8oMTBeNCptXjMvZCk7TVBhO01QYV4yL21QYS5zLygxMF40Km1eMy9kKTtNUGFeMi9tUGEucyIgRXhwcj0iKHBSaSAtIHBSaSsxKSAvIChRW2krMV0gLSBRW2ldKSA9IEIoUVtpKzFdICsgUVtpXSkgKyBBOyhQU0VpIC0gUFNFaSsxKSAvIChRW2krMV0gLSBRW2ldKSA9IEIoUVtpKzFdICsgUVtpXSkgKyBBIiAgLz4NCiAgICA8QWxnTWV0aG9kIElEPSIwMTAzIiBOYW1lPSJFeHBvbmVudGlhbCIgQWxpYXM9IuaMh+aVsOW8j+S6p+iDveaWueeoiyIgTmFtZVg9ImxnUTtRIiBVbml0WD0iMTBeNCptXjMvZCIgTmFtZVk9ImxnKHBSXjItIFB3Zl4yKTtQO2xnKFBTRXItUFNFd2YpO1BTRSIgVW5pdFk9Ik1QYV4yO01QYTtNUGFeMi9tUGEucztNUGFeMi9tUGEucyIgRXhwcj0iUSA9IEMgKiAocFJeMiAtIFB3Zl4yKV5OO1EgPSBDICogKFBTRXIgLSBQU0V3ZileTiIgLz4NCg0KICAgIDwvQWxnVHlwZT4NCg0KICAgIDxBbGdUeXBlIElEPSIwNSIgTmFtZT0iQmFzZVBBMiIgQWxpYXM9IuetieaXtuivleS6lSIgVGlwcz0iIiBTcmNUYWJsZUNvbHM9IuS6leW6leWOi+WKmyhNUGEpO+awlOS6p+mHjygxMF40Km1eMy9kKSIgID4NCg0KICAgICAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDUwMSIgTmFtZT0iQmlub21pYWwiIEFsaWFzPSLkuozpobnlvI/kuqfog73mlrnnqIsiIE5hbWVYPSJRIiBVbml0WD0iMTBeNCptXjMvZCIgTmFtZVk9IihwUl4yLVB3Zl4yKS9RO1A7KFBTRWUtUFNFd2YpL1E7UFNFIiBVbml0WT0iTVBhXjIvKDEwXjQqbV4zL2QpO01QYTtNUGFeMi9tUGEucy8oMTBeNCptXjMvZCk7TVBhXjIvbVBhLnMiIEV4cHI9IihwUl4yIC0gUHdmXjIpIC8gUSA9IEIgKiBRICsgQTsoUFNFZSAtIFBTRXdmKSAvIFEgPSBCICogUSArIEEiICAvPg0KICAgICAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDUwMyIgTmFtZT0iRXhwb25lbnRpYWwiIEFsaWFzPSLmjIfmlbDlvI/kuqfog73mlrnnqIsiIE5hbWVYPSJsZ1E7USIgVW5pdFg9IjEwXjQqbV4zL2QiIE5hbWVZPSJsZyhwUl4yLSBQd2ZeMik7UDtsZyhQU0VyLVBTRXdmKTtQU0UiIFVuaXRZPSJNUGFeMjtNUGE7TVBhXjIvbVBhLnM7TVBhXjIvbVBhLnMiIEV4cHI9IlEgPSBDICogKHBSXjIgLSBQd2ZeMileTjtRID0gQyAqIChQU0VyIC0gUFNFd2YpXk4iIC8+DQoNCiAgICA8L0FsZ1R5cGU+DQoNCiAgICA8QWxnVHlwZSBJRD0iMDYiIE5hbWU9IkJhc2VQQTMiIEFsaWFzPSLkv67mraPnrYnml7bor5XkupUiIFRpcHM9IiIgU3JjVGFibGVDb2xzPSLkupXlupXljovlipsoTVBhKTvlubPlnYflnLDlsYLljovlipsoTVBhKTvkuqfph48oMTBeNCptXjMvZCkiID4NCg0KICAgICAgICA8QWxnTWV0aG9kIElEPSIwNjAxIiBOYW1lPSJCaW5vbWlhbCIgQWxpYXM9IuS6jOmhueW8j+S6p+iDveaWueeoiyIgTmFtZVg9IlEiIFVuaXRYPSIxMF40Km1eMy9kIiBOYW1lWT0iKHBSXjItUHdmXjIpL1E7UDsoUFNFZS1QU0V3ZikvUTtQU0UiIFVuaXRZPSJNUGFeMi8oMTBeNCptXjMvZCk7TVBhO01QYV4yL21QYS5zLygxMF40Km1eMy9kKTtNUGFeMi9tUGEucyIgRXhwcj0iKHBSXjIgLSBQd2ZeMikgLyBRID0gQiAqIFEgKyBBOyhQU0VlIC0gUFNFd2YpIC8gUSA9IEIgKiBRICsgQSIgIC8+DQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjA2MDMiIE5hbWU9IkV4cG9uZW50aWFsIiBBbGlhcz0i5oyH5pWw5byP5Lqn6IO95pa556iLIiBOYW1lWD0ibGdRO1EiIFVuaXRYPSIxMF40Km1eMy9kIiBOYW1lWT0ibGcocFJeMi0gUHdmXjIpO1A7bGcoUFNFci1QU0V3Zik7UFNFIiBVbml0WT0iTVBhXjI7TVBhO01QYV4yL21QYS5zO01QYV4yL21QYS5zIiBFeHByPSJRID0gQyAqIChwUl4yIC0gUHdmXjIpXk47USA9IEMgKiAoUFNFciAtIFBTRXdmKV5OIiAvPg0KDQogICAgPC9BbGdUeXBlPg0KDQogICAgPEFsZ1R5cGUgSUQ9IjAyIiBOYW1lPSJPbmVQb2ludCIgQWxpYXM9IuS4gOeCueazlSIgVGlwcz0iIiBTcmNUYWJsZUNvbHM9IuS6leW6leWOi+WKmyhNUGEpO+awlOS6p+mHjygxMF40Km1eMy9kKSIgID4NCg0KICAgICAgICA8QWxnTWV0aG9kIElEPSIwMjAxIiBOYW1lPSJRSFNCIiBBbGlhcz0i6Z2S5rW35rap5YyX5rCU55SwIiBSZXN1bHRCb3RoPSIwIiBOYW1lWD0iUCIgVW5pdFg9Ik1QYSIgTmFtZVk9IlEiIFVuaXRZPSIxMF40Km1eMy9kIiBFeHByPSJxQU9GPTEuMDA0KnFnKigxLShwd2YvcFIpXjIpXigtMC43NDI2KSIgIC8+DQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjAyMDIiIE5hbWU9IkNRSkIiIEFsaWFzPSLplb/luobpnZbovrnmsJTnlLAiIFJlc3VsdEJvdGg9IjAiIE5hbWVYPSJQIiBVbml0WD0iTVBhIiBOYW1lWT0iUSIgVW5pdFk9IjEwXjQqbV4zL2QiIEV4cHI9InFBT0Y9cWcvKDAuMDA3NTY0KygxLjI1NjUqKDAuOTgxNi1wd2YvcFIpXjAuNSkpIiAgLz4NCiAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDIwMyIgTmFtZT0iQ1EiIEFsaWFzPSLplb/luobmsrnnlLDkuIrlj6TnlJ/nlYzlnLDlsYIiIFJlc3VsdEJvdGg9IjAiIE5hbWVYPSJQIiBVbml0WD0iTVBhIiBOYW1lWT0iUSIgVW5pdFk9IjEwXjQqbV4zL2QiIEV4cHI9InFBT0Y9cWcvKCgtMC4xNzQyKSsoMS4xNjEzKigxLjAyMjUtKHB3Zi9wUileMileMC41KSkiICAvPg0KICAgICAgICA8QWxnTWV0aG9kIElEPSIwMjA0IiBOYW1lPSJDWVExIiBBbGlhcz0i6ZmI5YWD5Y2D5YWs5byPMSIgUmVzdWx0Qm90aD0iMCIgTmFtZVg9IlAiIFVuaXRYPSJNUGEiIE5hbWVZPSJRIiBVbml0WT0iMTBeNCptXjMvZCIgRXhwcj0icUFPRj1xZyooKHBSXjItcHdmXjIpL3BSXjIpXigtMC42NTk0KSIgIC8+DQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjAyMDUiIE5hbWU9IkNZUTIiIEFsaWFzPSLpmYjlhYPljYPlhazlvI8yIiBSZXN1bHRCb3RoPSIwIiBOYW1lWD0iUCIgVW5pdFg9Ik1QYSIgTmFtZVk9IlEiIFVuaXRZPSIxMF40Km1eMy9kIiBFeHByPSJxQU9GPTYqcWcvKCgxKzQ4KigocFJeMi1wd2ZeMikuL3BSXjIpKV4wLjUtMSkiICAvPg0KICAgICAgICA8QWxnTWV0aG9kIElEPSIwMjA2IiBOYW1lPSJOSFlDIiBBbGlhcz0i5Y2X5rW35bSW5Z+OMTMtMeawlOeUsCIgUmVzdWx0Qm90aD0iMCIgTmFtZVg9IlAiIFVuaXRYPSJNUGEiIE5hbWVZPSJRIiBVbml0WT0iMTBeNCptXjMvZCIgRXhwcj0icUFPRj0zLjYwODUqcWcvKCgoMSsyMC4yMzg1KihwUl4yLXB3Zl4yKS9wUl4yKSleMC41LTEpIiAgLz4NCiAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDIwNyIgTmFtZT0iREYiIEFsaWFzPSLkuJzmlrkxLTHmsJTnlLAiIFJlc3VsdEJvdGg9IjAiIE5hbWVYPSJQIiBVbml0WD0iTVBhIiBOYW1lWT0iUSIgVW5pdFk9IjEwXjQqbV4zL2QiIEV4cHI9InFBT0Y9MC44KnFnLygxLTVeKChwd2YvcFIpLTEpKSIgIC8+DQoNCiAgICA8L0FsZ1R5cGU+DQoNCiAgICA8QWxnVHlwZSBJRD0iMDMiIE5hbWU9IkdlbmVyYWxQQTEiIEFsaWFzPSLlub/kuYnkuozpobnlvI/kuqfog70iIFRpcHM9IiIgU3JjVGFibGVDb2xzPSLkupXlupXljovlipsoTVBhKTvmsJTkuqfph48oMTBeNCptXjMvZCkiICA+DQoNCiAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDMwMSIgTmFtZT0iTkgiIEFsaWFzPSLljZfmtbfopb/pg6jkuqfog73orqHnrpfmlrnms5UiIFNyY1RhYmxlQ29scz0i5LqV5bqV5Y6L5YqbKE1QYSk75bmz5Z2H5Zyw5bGC5Y6L5YqbKE1QYSk75Lqn6YePKDEwXjQqbV4zL2QpIiBOYW1lWD0iUSIgVW5pdFg9IjEwXjQqbV4zL2QiIE5hbWVZPSIocFJeMi1Qd2ZeMikvUTtQOyhQU0VlLVBTRXdmKS9RO1BTRSIgVW5pdFk9Ik1QYV4yLygxMF40Km1eMy9kKTtNUGE7TVBhXjIvbVBhLnMvKDEwXjQqbV4zL2QpO01QYV4yL21QYS5zIiBFeHByPSIocFJeMi1Qd2ZeMikvUSA9IEErQipROyhQU0VlLVBTRXdmKS9RID0gQStCKlEiICAvPg0KDQogICAgPC9BbGdUeXBlPg0KDQogICAgPEFsZ1R5cGUgSUQ9IjA0IiBOYW1lPSJCYXNlUEYxIiBBbGlhcz0i5Lqn6IO96aKE5rWLIiBUaXBzPSIiIFNyY1RhYmxlQ29scz0i5LqV5bqV5Y6L5YqbKE1QYSk75rCU5Lqn6YePKDEwXjQqbV4zL2QpIiAgPg0KDQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjA0MDEiIE5hbWU9IlFZSlkiIEFsaWFzPSLljLrln5/nu4/pqowiIFJlc3VsdEJvdGg9IjAiIE5hbWVYPSJL6K+V5LqVIiBVbml0WD0ibUQiIE5hbWVZPSJxQU9GLyhoKnBSXjIpIiBVbml0WT0iMTBeNCptXjMvKGQqbSpNUGEucykiIEV4cHI9InFBT0Y9QypLXm4qaCpwUl4yIiBNaW5YPSIwIiBNYXhYPSIxNTAwIi8+DQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjA0MDIiIE5hbWU9IkxTMSIgQWxpYXM9IumZteawtDEzLTLmsJTnlLDlm77niYgxIiBSZXN1bHRCb3RoPSIwIiBOYW1lWD0iS+ivleS6lSIgVW5pdFg9Im1EIiBOYW1lWT0i57Gz6YeH5rCU5oyH5pWwIiBVbml0WT0iMTBeNCptXjMvKGQqbSpNUGFeMikiIEV4cHI9Ink9MC4wMDA0NTMqeF4wLjg4NzQ5NSIgTWluWD0iMC4wMTEiIE1heFg9IjgwMCIgTGluZWFyWD0iMCIgTGluZWFyWT0iMCIgLz4NCiAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDQwMyIgTmFtZT0iTFMyIiBBbGlhcz0i6Zm15rC0MTMtMuawlOeUsOWbvueJiDIiIFJlc3VsdEJvdGg9IjAiIE5hbWVYPSJL6K+V5LqVKmgiIFVuaXRYPSJtRC5tIiBOYW1lWT0icUFPRi8ocFJeMikiIFVuaXRZPSIxMF40Km1eMy8oZCpNUGFeMikiIEV4cHI9Ink9MC4wMDA1KnheMC44ODk0IiBNaW5YPSIwLjExIiBNYXhYPSI4MDAiIExpbmVhclg9IjAiIExpbmVhclk9IjAiIC8+DQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjA0MDQiIE5hbWU9IkxTMyIgQWxpYXM9IumZteawtDEzLTLmsJTnlLDlm77niYgzIiBSZXN1bHRCb3RoPSIwIiBOYW1lWD0iS+ivleS6lSpoIiBVbml0WD0ibUQubSIgTmFtZVk9InFBT0YiIFVuaXRZPSIxMF40Km1eMy9kIiBFeHByPSJ5PTIuMDQ2OSp4XjAuNjczIiBNaW5YPSIwLjExIiBNYXhYPSI4MDAiIExpbmVhclg9IjAiIExpbmVhclk9IjAiLz4NCiAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDQwNSIgTmFtZT0id3huO3pqayIgQWxpYXM9IuWNl+a1t+ilv+mDqOayueeUsOmHh+ayueaMh+aVsCIgTGVnZW5kcz0i5rag6KW/5Y2X5rK555Sw576kO+ePoOaxn+WPo+ayueeUsOe+pCIgUmVzdWx0Qm90aD0iMCIgTmFtZVg9Ikvor5XkupUvbWl1b+WcsOWxgiIgVW5pdFg9Im1EL21wYS5zIiBOYW1lWT0iSm9zIiBVbml0WT0ibV4zLyhkKk1QYSptKSIgRXhwcj0ieT0wLjA4NjMqeF4wLjgwNTM7eT0wLjE1ODkqeF4wLjgyODciIE1pblg9IjEuMSIgTWF4WD0iNTAwMCIgTGluZWFyWD0iMCIgTGluZWFyWT0iMCIvPg0KICAgICAgICA8QWxnTWV0aG9kIElEPSIwNDA2IiBOYW1lPSJMZTtMUztIbCIgQWxpYXM9IuWNl+a1t+ilv+mDqOawlOeUsOaXoOmYu+a1gemHjyIgTGVnZW5kcz0i5LmQ5LicK+iOuuatjOa1tzvpmbXmsLQr5LiJ5LqaK+m7hOa1gee7hDvpu4TmtYHnu4QiIFJlc3VsdEJvdGg9IjAiIE5hbWVYPSJL6K+V5LqVKmgqcHJeMiIgVW5pdFg9Im1ELm0ubXBhXjIiIE5hbWVZPSJxQU9GIiBVbml0WT0iMTBeNCptXjMvZCIgRXhwcj0ieT0wLjExNDIxNCp4XjAuNTcwNzQ1O3k9MC4wMDM5KnheMC43NjA4O3k9MC4wMDE1KnheMC44NjI0IiBNaW5YPSIxMTAiIE1heFg9IjUwMDAwMDAwIiBMaW5lYXJYPSIwIiBMaW5lYXJZPSIwIi8+DQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjA0MDciIE5hbWU9IkxlMTtMUzExIiBBbGlhcz0i5Y2X5rW36KW/6YOo5rCU55Sw6YeH5rCU5oyH5pWwIiBMZWdlbmRzPSLkuZDkuJwr6I665q2M5rW3O+mZteawtCvkuInkupor6buE5rWB57uEIiBSZXN1bHRCb3RoPSIwIiBOYW1lWD0iS+ivleS6lSpoIiBVbml0WD0ibUQubSIgTmFtZVk9IumHh+awlOaMh+aVsCIgVW5pdFk9IjEwXjQqbV4zLyhkKk1QYV4yKSIgRXhwcj0ieT0wLjAyMTQqeF4wLjUxNzt5PTAuMDAwNyp4XjAuNzU0NiIgTWluWD0iMTEiIE1heFg9IjUwMDAwIiBMaW5lYXJYPSIwIiBMaW5lYXJZPSIwIi8+DQoNCiAgICA8L0FsZ1R5cGU+DQoNCiAgICA8QWxnVHlwZSBJRD0iMDciIE5hbWU9ImNvbmRlbnNhdGUgZ2FzIiBBbGlhcz0i5Yed5p6Q5rCU5LqV5Lqn6IO9IiBUaXBzPSIiIFNyY1RhYmxlQ29scz0i5LqV5bqV5Y6L5YqbKE1QYSk75rCU5Lqn6YePKDEwXjQqbV4zL2QpIiAgPg0KDQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjA3MDEiIE5hbWU9IlNpbmdsZSBwaGFzZSIgQWxpYXM9IuaLn+WNleebuCIgU3JjVGFibGVDb2xzPSLkupXlupXljovlipsoTVBhKTvmsJTkuqfph48oMTBeNCptXjMvZCk75rK55Lqn6YePKG1eMy9kKSIgTmFtZVg9IlEiIFVuaXRYPSIxMF40Km1eMy9kIiBOYW1lWT0iKHBSXjItUHdmXjIpL1E7UDsoUFNFZS1QU0V3ZikvUTtQU0UiIFVuaXRZPSJNUGFeMi8oMTBeNCptXjMvZCk7TVBhO01QYV4yL21QYS5zLygxMF40Km1eMy9kKTtNUGFeMi9tUGEucyIgRXhwcj0iKHBSXjItUHdmXjIpL1EgPSBBK0IqUTsoUFNFZS1QU0V3ZikvUSA9IEErQipRIiAgLz4NCiAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDcwMiIgTmFtZT0iZ2FzLW9pbCB0d28tcGhhc2UiIEFsaWFzPSLmsrnmsJTkuKTnm7giIFNyY1RhYmxlQ29scz0i5LqV5bqV5Y6L5YqbKE1QYSk75rCU5Lqn6YePKDEwXjQqbV4zL2QpO+ayueS6p+mHjyhtXjMvZCkiIE5hbWVYPSJRIiBVbml0WD0iMTBeNCptXjMvZCIgTmFtZVk9IihwUl4yLVB3Zl4yKS9RO1A7KFBTRWUtUFNFd2YpL1E7UFNFIiBVbml0WT0iTVBhXjIvKDEwXjQqbV4zL2QpO01QYTtNUGFeMi9tUGEucy8oMTBeNCptXjMvZCk7TVBhXjIvbVBhLnMiIEV4cHI9IihwUl4yLVB3Zl4yKS9RID0gQStCKlE7KFBTRWUtUFNFd2YpL1EgPSBBK0IqUSIgIC8+DQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjA3MDMiIE5hbWU9Imdhcy13YXRlciB0d28tcGhhc2UiIEFsaWFzPSLmsJTmsLTkuKTnm7giIFNyY1RhYmxlQ29scz0i5LqV5bqV5Y6L5YqbKE1QYSk75rCU5Lqn6YePKDEwXjQqbV4zL2QpO+awtOS6p+mHjyhtXjMvZCkiICBOYW1lWD0iUSIgVW5pdFg9IjEwXjQqbV4zL2QiIE5hbWVZPSIocFJeMi1Qd2ZeMikvUTtQOyhQU0VlLVBTRXdmKS9RO1BTRSIgVW5pdFk9Ik1QYV4yLygxMF40Km1eMy9kKTtNUGE7TVBhXjIvbVBhLnMvKDEwXjQqbV4zL2QpO01QYV4yL21QYS5zIiBFeHByPSIocFJeMi1Qd2ZeMikvUSA9IEErQipROyhQU0VlLVBTRXdmKS9RID0gQStCKlEiICAvPg0KDQogICAgPC9BbGdUeXBlPg0KPC9Sb290Pg0K \ No newline at end of file diff --git a/Bin/Config/Common/MPA.css b/Bin/Config/Common/MPA.css deleted file mode 100644 index bf4659f..0000000 --- a/Bin/Config/Common/MPA.css +++ /dev/null @@ -1,707 +0,0 @@ -/* -* MPA's css setting -* By WANG, Zhan-guo -* Created On: 2017-04-05 -* Modified On: 2022-06-13 -*/ - -/*iPlotCurveWxT*/ -iPlotCurveWxT { - border : 1px ridge gray; -} - -/* QPushButton */ -QPushButton { - background-color: transparent; -} -QPushButton::menu-indicator { - subcontrol-position: right bottom; - subcontrol-origin: padding; - left: -2px; -} -QPushButton:hover:pressed { - background-color: #0081cf; -} -QPushButton:hover:!pressed { - background-color: #0081cf; -/* font-size:24px;*/ -} -QPushButton { - color: black; -} - - - -/* QToolBar */ -QToolBar { - background-color: transparent; - border-style : dotted; -} -QToolBar:handle { -} -QToolBar::separator { -} - - - -/* === QToolButton === */ -QToolButton { - background-color: transparent; -} -QToolButton:hover { - background-color: #0081cf; -} -QToolButton:checked{ /*选中后*/ - background-color: #0081cf; - border:none; -} - -/*QToolButton:pressed { - background-color: #8100cf; -}*/ - - -/* only for MenuButtonPopup */ -QToolButton[popupMode="1"] { - padding-right: 20px; -} -/*QToolButton::menu-button { - background: transparent; - width: 16px; -}*/ - -QDateTimeEdit { - background: transparent; -} - -#qt_calendar_calendarview { - background: white; -} -QCalendarView{ -} -QCalendarView QHeaderView::section { - border: 1px solid lightgray; -height: 1px -} -QCalendarView QHeaderView { -border: 1px solid lightgray; -height: 1px -} -QCalendarView QTableCornerButton::section { - border: 1px solid lightgray; -height: 1px -} -QCalendarView QScrollBar { -} - - - - - - - -/* === QToolTip === */ -QToolTip { - background-color: light gray; - color: black; -} - - - - -/* QLabel */ -QLabel { - background-color: transparent; -} - - - -/* QLineEdit */ -QLineEdit { - background-color: transparent; -} -QLineEdit[readOnly="true"]{ - color: gray; -} - - - - -/* QTextEdit */ -QTextEdit { - background-color: transparent; -} - -/*QSlider*/ -QSlider::groove:horizontal { - position: absolute; - top: 1px; height: 1px; - background: #B1B1B1; -} -QSlider::handle:horizontal { - border-image:url($/Res/Icon/slider-handle.png); - border: 1px solid #000000; - width: 8px; - margin: -5px 0; -} - - - -/* QCheckBox */ -QCheckBox { - background-color: transparent; -} -QCheckBox::indicator::checked { - image: url($/Res/Icon/checkBox_checked.png); -} -QCheckBox::indicator::unchecked { - image: url($/Res/Icon/checkBox_unchecked.png); -} - - - -/* QRadioButton */ -QRadioButton { - background-color: transparent; -} -QRadioButton::indicator::checked { - image: url($/Res/Icon/radio_checked.png); -} -QRadioButton::indicator::unchecked { - image: url($/Res/Icon/radio_unchecked.png); -} - -/* QComboBox*/ -QComboBox { - background-color: transparent; - border: 1px solid gray; - border-radius: 3px; - padding: 1px 2px 1px 2px; - min-width: 3em; -} - -ZxHeaderComboBoxEx{ - background-color: light gray; - min-width: 1em; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 20px; - - border-left-width: 1px; - border-left-color: darkgray; - border-left-style: solid; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -QComboBox::down-arrow { - /*border: 2px solid #333333;*/ -/* background: #5f5f5f;*/ -/* border-style : dotted;*/ - image: url($/Res/Icon/CbxBtn.png); -} - -/* QSpinBox */ -QSpinBox { - background-color: transparent; -/* border: 1px solid gray;*/ -} - - - -/* QDoubleSpinBox */ -QDoubleSpinBox { - background-color: transparent; -/* border: 1px solid gray;*/ -} - - -/* QGroupBox */ -QGroupBox { - background-color: transparent; -} -QGroupBox::title { - color: blue; - subcontrol-origin: margin; - subcontrol-position: top left; - margin-left: 5px; -} - - - -/* QSplitter */ -QSplitter { -/* background-color: transparent;*/ -} -QSplitter::handle { - background-color:light blue; - border-width:0px; - border-style:dotted; - height:1px; -} - - - -/*QProgressBar*/ -QProgressBar{ - border: 1px solid gray; - border-radius: 5px; - text-align: center; -} - - - -/* QListWidget */ -QListWidget { - background-color: transparent; - border: 1px solid gray; -} -QListWidget::item:selected{ - background:lightblue; - color:blue; -} -QListWidget QScrollBar { -/* background:transparent;*/ -} - - - -/* QTreeWidget */ -QTreeWidget{ - background-color: transparent; - border-color:light gray; -} -QTreeWidget QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTreeWidget QHeaderView { - background: transparent; -} - - - -/*QTreeView*/ -QTreeView{ - background-color: transparent; - alternate-background-color:rgb(0, 192, 0); - border-color:light gray; -} -QTreeView QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTreeView QHeaderView { - background: transparent; -} -/*QTreeView::item:selected{ - background:lightblue; - color:blue; -}*/ - - -/* QTableWidget */ -QTableWidget{ - background-color:transparent; - alternate-background-color:rgb(0, 192, 0); - border: none; -} -QTableWidget QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTableWidget QHeaderView { - background: transparent; -} -QTableWidget QTableCornerButton::section { - border: 1px solid lightgray; - background: transparent; -} -QTableWidget QScrollBar { - background:transparent; -} - - - - - -/* QTableView */ -QTableView{ - background-color:transparent; - alternate-background-color:rgb(232, 232, 232); - border: 1px solid gray; - - selection-background-color: rgb(51, 153, 255)/*lightblue*/; - selection-color: white; - - gridline-color: lightgray; -} -/*QTableView::grid -{ border: 1px solid red; -color: rgb(255, 0, 0); -gridline-color: rgb(255, 0, 0); -} -QTableView::grid -{ border: 1px solid gray; -}*/ - - -QTableView QHeaderView { -/* background: transparent;*/ -/* border: 1px solid lightgray;*/ -} - -/*QTableView上侧*/ -QTableView QHeaderView::section:horizontal { - background: transparent; - - border: none; /*想单独设置,必须先指定none*/ - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; -} - -/*QTableView左侧*/ -QTableView QHeaderView::section:vertical { - background: transparent; - - border: none; /*想单独设置,必须先指定none*/ - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; - - /*min-width:30px;/*避免左侧序号列太窄*/ -} - -/*QTableView左上角侧*/ -QTableView QTableCornerButton::section { - background: transparent; - - border: none; - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; -} - -QTableView QScrollBar { - background:transparent; -} -/*QTableView::item::selected -{ - background-color:lightblue; - color: white; -}*/ - -/* QTabWidget */ -QTabWidget { - background-color: transparent; -} -QTabWidget::pane{ - border-width:1px; - border-color:transparent; - border-style:dotted; - background-color: transparent; -} -QTabWidget::tab-bar{ - border-width:0px; -} -QTabBar::tab:first:selected, -QTabBar::tab:middle:selected, -QTabBar::tab:last:selected, -QTabBar::tab:only-one{ -/* background-color: white;*/ -/* color: blue;*/ -/* border-width:10px; - border-color:rgb(48, 104, 151); - border-style: outset;*/ -} -QTabBar::tab:first:!selected, -QTabBar::tab:middle:!selected, -QTabBar::tab:last:!selected { -/* background-color: transparent;*/ -/* color: rgb(128, 128, 128);*/ -/* border:1px solid rgba(0,0,0,50);*/ -/* border-width:10px; - border-color:rgb(48, 104, 151); - border-style: ridge;*/ -} - -QTabBar::tab:top, QTabBar::tab:bottom { -/* min-width:60px;*/ -} -QTabBar::tab:left, QTabBar::tab:right { -/* min-height:50px;*/ -} -/*QTabBar::tab{ - border-bottom-color: red; - padding: 0px; -} -QTabBar QToolButton::right-arrow { - background-color:light blue; - border-width: 0; - background-image: url(:/images/tab/rightbtn.png); -} -QTabBar QToolButton::left-arrow { - background-color:light blue; - border-width: 0; - background-image: url(:/images/tab/leftbtn.png); -}*/ - - -/* === QMenu === */ -QMenu { - background-color: rgb(138, 209, 251); -/* border: 1px solid gray; - color: white; - padding: 1px;*/ -} -/*QMenu::item { - padding: 2px 25px 2px 20px; - border: 1px solid transparent; -} -QMenu::item:disabled { - color: #666666; -} -QMenu::item:selected { - border-color: gray; - background: #222222; -} -QMenu::icon:checked { -} -QMenu::separator { - height: 1px; -} -QMenu::indicator { - width: 13px; - height: 13px; -}*/ - - - - -/* === QMenuBar === */ -QMenuBar { - background-color: transparent; -} -/*QMenuBar::item { - background: transparent; -} -QMenuBar::item:disabled { - color: gray; -} -QMenuBar::item:selected { - background: #222222; -} -QMenuBar::item:pressed { - background: #444444; -}*/ - - - -/*QDockWidget*/ -QDockWidget{ -/* image: url($/Res/Image/MPA_Main.png);*/ -/* border:1px ridge lightgray; - border:3px ridge red;*/ - /*titlebar-close-icon: url($/Res/Icon/close.png);*/ -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ -} -QDockWidget::title { - text-align: left; -/* background: transparent;*/ - padding-left:5px; - height:20px; -} -QDockWidget::close-button,QDockWidget::float-button { - /* border:1px solid darkgray;*/ -/* background: darkgray;*/ -/* padding:0px;*/ -} -QDockWidget::close-button:hover,QDockWidget::float-button:hover { -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ - background: gray; -} -QDockWidget::close-button:pressed,QDockWidget::float-button:pressed { -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ -/* padding:1px-1px-1px-1px;*/ -} -/*QDockWidget::close-button { - subcontrol-position: top left; - subcontrol-origin: margin; - position: absolute; - top:0px; left:0px; bottom:0px; - width:14px; -} -QDockWidget::float-button { - subcontrol-position: top left; - subcontrol-origin: margin; - position: absolute; - top:0px; left:16px; bottom:0px; - width:14px; -}*/ - - - -/*ZxPropertySheet*/ -ZxPropertySheet { - background : transparent; - border:1px ridge gray; -} - -/*QMdiArea*/ -QMdiArea { -/* background : transparent;*/ - border:1px ridge gray; -/* border-image:url($/Res/Image/MPA_Main.png); - image:url($/Res/Image/MPA_Main.png);*/ - -} -iSubWndFitting { -/* background : transparent;*/ - border-image:url($/Res/Image/MPA_Main.png); - image:url($/Res/Image/MPA_Main.png); - -} - -/*QMdiSubWindow*/ -QMdiSubWindow{ - background : rgb(194, 213, 233); -/* border:1px ridge gray;*/ -} - - -/*Ribbon*/ - -QMenu { - background-color: #FCFCFC; - border: 1px solid #8492A6; -} -QMenu::item { - background-color: transparent; -} -iWxMenuItem::hover{ - border: 1px solid #FFB700; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1,stop:0 #FEF9F4, stop:0.38 #FDE0BD,stop:0.39 #FFCE69, stop:1 #FFFFE7); -} -QMenu::item:selected { - background-color: #654321; -} -/*QWidget{ - font-family: "微软雅黑"; -} -#MainWindowClass{ - background-color: #D2DCEA; -}*/ -#btnRibbonFile::menu-indicator{ - image:None; -} - - - -#btnRibbonFile{ - min-width:50px; - max-width:50px; - height:22px; - - color:white; - border: 1px solid #416ABD; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #467FBD, stop:0.5 #2A5FAC,stop:0.51 #1A4088, stop:1 #419ACF); -} -#btnRibbonFile::hover{ - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #7BB2EB, stop:0.5 #477ECD,stop:0.51 #114ECF, stop:1 #80E1FF); -} -#btnRibbonFile::pressed{ - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #467BBB, stop:0.5 #2F63AE,stop:0.51 #1C438A, stop:1 #358BC9); -} - -/* -QTabWidget:pane{ \ - border: 1px solid red; top: -1px;background-color:grey;}\ -QTabBar::tab{height:22px; background-color:grey; margin-right: 2px; margin-bottom:-2px;}\ - QTabBar::tab:selected{border:1px solid red;border-bottom-color: none;}\ - QTabBar::tab:!selected{border-bottom: 3px solid red;}*/ - - - -#tabWxMain::tab-bar { - left: 65px; -/* border: 1px solid #BAC9DB;*/ -} -#tabWxMain QTabBar::tab{ - height:24px; - /*background: transparent; - margin-left: 5px; - margin-right: 5px;*/ -/* border: 1px solid #BAC9DB;*/ -} -#tabWxMain QTabBar::tab:selected -{ - /*border:1px solid red;border-bottom-color: none; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - margin-left: 2px; - margin-right: 2px; - border: 1px solid #BAC9DB; - border-bottom-color: #FFFFFF;*/ -} -#tabWxMain QTabBar::tab:!selected -{ - background-color: transparent; - /*border-bottom: 1px solid red; - margin-top: 1px; - border: none; - border-bottom-color: #FFFFFF;*/ -/* margin-left: 2px; - margin-right: 2px; - border-left-color: #FFFFFF;*/ -} - - - -#tabWxMain QTabBar::tab:hover :selected -{ - /* background-color: light Gray; - border-top-left-radius: 2px; - border-top-right-radius: 2px;*/ -} -#tabWxMain QTabBar::tab:hover:!selected -{ - background-color: rgb(250, 250, 250); -/* border: 1px solid #ECBC3D;*/ -} - -#tabWxMain QTabWidget::pane{ - /*border-width:4px; - border-color:red; - border-style: solid; - background-color: transparent; - border: 1px solid red; top: -1px;background-color:grey;*/ -} - - -#tabWxMain::pane -{ - border-width: 1px; - border-color: rgb(192, 192, 192); - border-style:solid; - top: -1px;/*background-color:grey;*/ -} - - -#tabWxMain QGroupBox{ - border-left: 1px solid #B0B0B0; - border-top: 0px solid gray; -} -#tabWxMain QGroupBox::title { - color: #081121/*#738399*/; - subcontrol-position: bottom center; -} - -/* QWebView */ -QWebView { - background-color: transparent; -} diff --git a/Bin/Config/Common/MPA.db b/Bin/Config/Common/MPA.db deleted file mode 100644 index 3c0e91a..0000000 Binary files a/Bin/Config/Common/MPA.db and /dev/null differ diff --git a/Bin/Config/Common/MPA_2k.css b/Bin/Config/Common/MPA_2k.css deleted file mode 100644 index bf4659f..0000000 --- a/Bin/Config/Common/MPA_2k.css +++ /dev/null @@ -1,707 +0,0 @@ -/* -* MPA's css setting -* By WANG, Zhan-guo -* Created On: 2017-04-05 -* Modified On: 2022-06-13 -*/ - -/*iPlotCurveWxT*/ -iPlotCurveWxT { - border : 1px ridge gray; -} - -/* QPushButton */ -QPushButton { - background-color: transparent; -} -QPushButton::menu-indicator { - subcontrol-position: right bottom; - subcontrol-origin: padding; - left: -2px; -} -QPushButton:hover:pressed { - background-color: #0081cf; -} -QPushButton:hover:!pressed { - background-color: #0081cf; -/* font-size:24px;*/ -} -QPushButton { - color: black; -} - - - -/* QToolBar */ -QToolBar { - background-color: transparent; - border-style : dotted; -} -QToolBar:handle { -} -QToolBar::separator { -} - - - -/* === QToolButton === */ -QToolButton { - background-color: transparent; -} -QToolButton:hover { - background-color: #0081cf; -} -QToolButton:checked{ /*选中后*/ - background-color: #0081cf; - border:none; -} - -/*QToolButton:pressed { - background-color: #8100cf; -}*/ - - -/* only for MenuButtonPopup */ -QToolButton[popupMode="1"] { - padding-right: 20px; -} -/*QToolButton::menu-button { - background: transparent; - width: 16px; -}*/ - -QDateTimeEdit { - background: transparent; -} - -#qt_calendar_calendarview { - background: white; -} -QCalendarView{ -} -QCalendarView QHeaderView::section { - border: 1px solid lightgray; -height: 1px -} -QCalendarView QHeaderView { -border: 1px solid lightgray; -height: 1px -} -QCalendarView QTableCornerButton::section { - border: 1px solid lightgray; -height: 1px -} -QCalendarView QScrollBar { -} - - - - - - - -/* === QToolTip === */ -QToolTip { - background-color: light gray; - color: black; -} - - - - -/* QLabel */ -QLabel { - background-color: transparent; -} - - - -/* QLineEdit */ -QLineEdit { - background-color: transparent; -} -QLineEdit[readOnly="true"]{ - color: gray; -} - - - - -/* QTextEdit */ -QTextEdit { - background-color: transparent; -} - -/*QSlider*/ -QSlider::groove:horizontal { - position: absolute; - top: 1px; height: 1px; - background: #B1B1B1; -} -QSlider::handle:horizontal { - border-image:url($/Res/Icon/slider-handle.png); - border: 1px solid #000000; - width: 8px; - margin: -5px 0; -} - - - -/* QCheckBox */ -QCheckBox { - background-color: transparent; -} -QCheckBox::indicator::checked { - image: url($/Res/Icon/checkBox_checked.png); -} -QCheckBox::indicator::unchecked { - image: url($/Res/Icon/checkBox_unchecked.png); -} - - - -/* QRadioButton */ -QRadioButton { - background-color: transparent; -} -QRadioButton::indicator::checked { - image: url($/Res/Icon/radio_checked.png); -} -QRadioButton::indicator::unchecked { - image: url($/Res/Icon/radio_unchecked.png); -} - -/* QComboBox*/ -QComboBox { - background-color: transparent; - border: 1px solid gray; - border-radius: 3px; - padding: 1px 2px 1px 2px; - min-width: 3em; -} - -ZxHeaderComboBoxEx{ - background-color: light gray; - min-width: 1em; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 20px; - - border-left-width: 1px; - border-left-color: darkgray; - border-left-style: solid; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -QComboBox::down-arrow { - /*border: 2px solid #333333;*/ -/* background: #5f5f5f;*/ -/* border-style : dotted;*/ - image: url($/Res/Icon/CbxBtn.png); -} - -/* QSpinBox */ -QSpinBox { - background-color: transparent; -/* border: 1px solid gray;*/ -} - - - -/* QDoubleSpinBox */ -QDoubleSpinBox { - background-color: transparent; -/* border: 1px solid gray;*/ -} - - -/* QGroupBox */ -QGroupBox { - background-color: transparent; -} -QGroupBox::title { - color: blue; - subcontrol-origin: margin; - subcontrol-position: top left; - margin-left: 5px; -} - - - -/* QSplitter */ -QSplitter { -/* background-color: transparent;*/ -} -QSplitter::handle { - background-color:light blue; - border-width:0px; - border-style:dotted; - height:1px; -} - - - -/*QProgressBar*/ -QProgressBar{ - border: 1px solid gray; - border-radius: 5px; - text-align: center; -} - - - -/* QListWidget */ -QListWidget { - background-color: transparent; - border: 1px solid gray; -} -QListWidget::item:selected{ - background:lightblue; - color:blue; -} -QListWidget QScrollBar { -/* background:transparent;*/ -} - - - -/* QTreeWidget */ -QTreeWidget{ - background-color: transparent; - border-color:light gray; -} -QTreeWidget QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTreeWidget QHeaderView { - background: transparent; -} - - - -/*QTreeView*/ -QTreeView{ - background-color: transparent; - alternate-background-color:rgb(0, 192, 0); - border-color:light gray; -} -QTreeView QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTreeView QHeaderView { - background: transparent; -} -/*QTreeView::item:selected{ - background:lightblue; - color:blue; -}*/ - - -/* QTableWidget */ -QTableWidget{ - background-color:transparent; - alternate-background-color:rgb(0, 192, 0); - border: none; -} -QTableWidget QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTableWidget QHeaderView { - background: transparent; -} -QTableWidget QTableCornerButton::section { - border: 1px solid lightgray; - background: transparent; -} -QTableWidget QScrollBar { - background:transparent; -} - - - - - -/* QTableView */ -QTableView{ - background-color:transparent; - alternate-background-color:rgb(232, 232, 232); - border: 1px solid gray; - - selection-background-color: rgb(51, 153, 255)/*lightblue*/; - selection-color: white; - - gridline-color: lightgray; -} -/*QTableView::grid -{ border: 1px solid red; -color: rgb(255, 0, 0); -gridline-color: rgb(255, 0, 0); -} -QTableView::grid -{ border: 1px solid gray; -}*/ - - -QTableView QHeaderView { -/* background: transparent;*/ -/* border: 1px solid lightgray;*/ -} - -/*QTableView上侧*/ -QTableView QHeaderView::section:horizontal { - background: transparent; - - border: none; /*想单独设置,必须先指定none*/ - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; -} - -/*QTableView左侧*/ -QTableView QHeaderView::section:vertical { - background: transparent; - - border: none; /*想单独设置,必须先指定none*/ - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; - - /*min-width:30px;/*避免左侧序号列太窄*/ -} - -/*QTableView左上角侧*/ -QTableView QTableCornerButton::section { - background: transparent; - - border: none; - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; -} - -QTableView QScrollBar { - background:transparent; -} -/*QTableView::item::selected -{ - background-color:lightblue; - color: white; -}*/ - -/* QTabWidget */ -QTabWidget { - background-color: transparent; -} -QTabWidget::pane{ - border-width:1px; - border-color:transparent; - border-style:dotted; - background-color: transparent; -} -QTabWidget::tab-bar{ - border-width:0px; -} -QTabBar::tab:first:selected, -QTabBar::tab:middle:selected, -QTabBar::tab:last:selected, -QTabBar::tab:only-one{ -/* background-color: white;*/ -/* color: blue;*/ -/* border-width:10px; - border-color:rgb(48, 104, 151); - border-style: outset;*/ -} -QTabBar::tab:first:!selected, -QTabBar::tab:middle:!selected, -QTabBar::tab:last:!selected { -/* background-color: transparent;*/ -/* color: rgb(128, 128, 128);*/ -/* border:1px solid rgba(0,0,0,50);*/ -/* border-width:10px; - border-color:rgb(48, 104, 151); - border-style: ridge;*/ -} - -QTabBar::tab:top, QTabBar::tab:bottom { -/* min-width:60px;*/ -} -QTabBar::tab:left, QTabBar::tab:right { -/* min-height:50px;*/ -} -/*QTabBar::tab{ - border-bottom-color: red; - padding: 0px; -} -QTabBar QToolButton::right-arrow { - background-color:light blue; - border-width: 0; - background-image: url(:/images/tab/rightbtn.png); -} -QTabBar QToolButton::left-arrow { - background-color:light blue; - border-width: 0; - background-image: url(:/images/tab/leftbtn.png); -}*/ - - -/* === QMenu === */ -QMenu { - background-color: rgb(138, 209, 251); -/* border: 1px solid gray; - color: white; - padding: 1px;*/ -} -/*QMenu::item { - padding: 2px 25px 2px 20px; - border: 1px solid transparent; -} -QMenu::item:disabled { - color: #666666; -} -QMenu::item:selected { - border-color: gray; - background: #222222; -} -QMenu::icon:checked { -} -QMenu::separator { - height: 1px; -} -QMenu::indicator { - width: 13px; - height: 13px; -}*/ - - - - -/* === QMenuBar === */ -QMenuBar { - background-color: transparent; -} -/*QMenuBar::item { - background: transparent; -} -QMenuBar::item:disabled { - color: gray; -} -QMenuBar::item:selected { - background: #222222; -} -QMenuBar::item:pressed { - background: #444444; -}*/ - - - -/*QDockWidget*/ -QDockWidget{ -/* image: url($/Res/Image/MPA_Main.png);*/ -/* border:1px ridge lightgray; - border:3px ridge red;*/ - /*titlebar-close-icon: url($/Res/Icon/close.png);*/ -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ -} -QDockWidget::title { - text-align: left; -/* background: transparent;*/ - padding-left:5px; - height:20px; -} -QDockWidget::close-button,QDockWidget::float-button { - /* border:1px solid darkgray;*/ -/* background: darkgray;*/ -/* padding:0px;*/ -} -QDockWidget::close-button:hover,QDockWidget::float-button:hover { -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ - background: gray; -} -QDockWidget::close-button:pressed,QDockWidget::float-button:pressed { -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ -/* padding:1px-1px-1px-1px;*/ -} -/*QDockWidget::close-button { - subcontrol-position: top left; - subcontrol-origin: margin; - position: absolute; - top:0px; left:0px; bottom:0px; - width:14px; -} -QDockWidget::float-button { - subcontrol-position: top left; - subcontrol-origin: margin; - position: absolute; - top:0px; left:16px; bottom:0px; - width:14px; -}*/ - - - -/*ZxPropertySheet*/ -ZxPropertySheet { - background : transparent; - border:1px ridge gray; -} - -/*QMdiArea*/ -QMdiArea { -/* background : transparent;*/ - border:1px ridge gray; -/* border-image:url($/Res/Image/MPA_Main.png); - image:url($/Res/Image/MPA_Main.png);*/ - -} -iSubWndFitting { -/* background : transparent;*/ - border-image:url($/Res/Image/MPA_Main.png); - image:url($/Res/Image/MPA_Main.png); - -} - -/*QMdiSubWindow*/ -QMdiSubWindow{ - background : rgb(194, 213, 233); -/* border:1px ridge gray;*/ -} - - -/*Ribbon*/ - -QMenu { - background-color: #FCFCFC; - border: 1px solid #8492A6; -} -QMenu::item { - background-color: transparent; -} -iWxMenuItem::hover{ - border: 1px solid #FFB700; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1,stop:0 #FEF9F4, stop:0.38 #FDE0BD,stop:0.39 #FFCE69, stop:1 #FFFFE7); -} -QMenu::item:selected { - background-color: #654321; -} -/*QWidget{ - font-family: "微软雅黑"; -} -#MainWindowClass{ - background-color: #D2DCEA; -}*/ -#btnRibbonFile::menu-indicator{ - image:None; -} - - - -#btnRibbonFile{ - min-width:50px; - max-width:50px; - height:22px; - - color:white; - border: 1px solid #416ABD; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #467FBD, stop:0.5 #2A5FAC,stop:0.51 #1A4088, stop:1 #419ACF); -} -#btnRibbonFile::hover{ - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #7BB2EB, stop:0.5 #477ECD,stop:0.51 #114ECF, stop:1 #80E1FF); -} -#btnRibbonFile::pressed{ - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #467BBB, stop:0.5 #2F63AE,stop:0.51 #1C438A, stop:1 #358BC9); -} - -/* -QTabWidget:pane{ \ - border: 1px solid red; top: -1px;background-color:grey;}\ -QTabBar::tab{height:22px; background-color:grey; margin-right: 2px; margin-bottom:-2px;}\ - QTabBar::tab:selected{border:1px solid red;border-bottom-color: none;}\ - QTabBar::tab:!selected{border-bottom: 3px solid red;}*/ - - - -#tabWxMain::tab-bar { - left: 65px; -/* border: 1px solid #BAC9DB;*/ -} -#tabWxMain QTabBar::tab{ - height:24px; - /*background: transparent; - margin-left: 5px; - margin-right: 5px;*/ -/* border: 1px solid #BAC9DB;*/ -} -#tabWxMain QTabBar::tab:selected -{ - /*border:1px solid red;border-bottom-color: none; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - margin-left: 2px; - margin-right: 2px; - border: 1px solid #BAC9DB; - border-bottom-color: #FFFFFF;*/ -} -#tabWxMain QTabBar::tab:!selected -{ - background-color: transparent; - /*border-bottom: 1px solid red; - margin-top: 1px; - border: none; - border-bottom-color: #FFFFFF;*/ -/* margin-left: 2px; - margin-right: 2px; - border-left-color: #FFFFFF;*/ -} - - - -#tabWxMain QTabBar::tab:hover :selected -{ - /* background-color: light Gray; - border-top-left-radius: 2px; - border-top-right-radius: 2px;*/ -} -#tabWxMain QTabBar::tab:hover:!selected -{ - background-color: rgb(250, 250, 250); -/* border: 1px solid #ECBC3D;*/ -} - -#tabWxMain QTabWidget::pane{ - /*border-width:4px; - border-color:red; - border-style: solid; - background-color: transparent; - border: 1px solid red; top: -1px;background-color:grey;*/ -} - - -#tabWxMain::pane -{ - border-width: 1px; - border-color: rgb(192, 192, 192); - border-style:solid; - top: -1px;/*background-color:grey;*/ -} - - -#tabWxMain QGroupBox{ - border-left: 1px solid #B0B0B0; - border-top: 0px solid gray; -} -#tabWxMain QGroupBox::title { - color: #081121/*#738399*/; - subcontrol-position: bottom center; -} - -/* QWebView */ -QWebView { - background-color: transparent; -} diff --git a/Bin/Config/Common/MPA_4k.css b/Bin/Config/Common/MPA_4k.css deleted file mode 100644 index bf4659f..0000000 --- a/Bin/Config/Common/MPA_4k.css +++ /dev/null @@ -1,707 +0,0 @@ -/* -* MPA's css setting -* By WANG, Zhan-guo -* Created On: 2017-04-05 -* Modified On: 2022-06-13 -*/ - -/*iPlotCurveWxT*/ -iPlotCurveWxT { - border : 1px ridge gray; -} - -/* QPushButton */ -QPushButton { - background-color: transparent; -} -QPushButton::menu-indicator { - subcontrol-position: right bottom; - subcontrol-origin: padding; - left: -2px; -} -QPushButton:hover:pressed { - background-color: #0081cf; -} -QPushButton:hover:!pressed { - background-color: #0081cf; -/* font-size:24px;*/ -} -QPushButton { - color: black; -} - - - -/* QToolBar */ -QToolBar { - background-color: transparent; - border-style : dotted; -} -QToolBar:handle { -} -QToolBar::separator { -} - - - -/* === QToolButton === */ -QToolButton { - background-color: transparent; -} -QToolButton:hover { - background-color: #0081cf; -} -QToolButton:checked{ /*选中后*/ - background-color: #0081cf; - border:none; -} - -/*QToolButton:pressed { - background-color: #8100cf; -}*/ - - -/* only for MenuButtonPopup */ -QToolButton[popupMode="1"] { - padding-right: 20px; -} -/*QToolButton::menu-button { - background: transparent; - width: 16px; -}*/ - -QDateTimeEdit { - background: transparent; -} - -#qt_calendar_calendarview { - background: white; -} -QCalendarView{ -} -QCalendarView QHeaderView::section { - border: 1px solid lightgray; -height: 1px -} -QCalendarView QHeaderView { -border: 1px solid lightgray; -height: 1px -} -QCalendarView QTableCornerButton::section { - border: 1px solid lightgray; -height: 1px -} -QCalendarView QScrollBar { -} - - - - - - - -/* === QToolTip === */ -QToolTip { - background-color: light gray; - color: black; -} - - - - -/* QLabel */ -QLabel { - background-color: transparent; -} - - - -/* QLineEdit */ -QLineEdit { - background-color: transparent; -} -QLineEdit[readOnly="true"]{ - color: gray; -} - - - - -/* QTextEdit */ -QTextEdit { - background-color: transparent; -} - -/*QSlider*/ -QSlider::groove:horizontal { - position: absolute; - top: 1px; height: 1px; - background: #B1B1B1; -} -QSlider::handle:horizontal { - border-image:url($/Res/Icon/slider-handle.png); - border: 1px solid #000000; - width: 8px; - margin: -5px 0; -} - - - -/* QCheckBox */ -QCheckBox { - background-color: transparent; -} -QCheckBox::indicator::checked { - image: url($/Res/Icon/checkBox_checked.png); -} -QCheckBox::indicator::unchecked { - image: url($/Res/Icon/checkBox_unchecked.png); -} - - - -/* QRadioButton */ -QRadioButton { - background-color: transparent; -} -QRadioButton::indicator::checked { - image: url($/Res/Icon/radio_checked.png); -} -QRadioButton::indicator::unchecked { - image: url($/Res/Icon/radio_unchecked.png); -} - -/* QComboBox*/ -QComboBox { - background-color: transparent; - border: 1px solid gray; - border-radius: 3px; - padding: 1px 2px 1px 2px; - min-width: 3em; -} - -ZxHeaderComboBoxEx{ - background-color: light gray; - min-width: 1em; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 20px; - - border-left-width: 1px; - border-left-color: darkgray; - border-left-style: solid; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -QComboBox::down-arrow { - /*border: 2px solid #333333;*/ -/* background: #5f5f5f;*/ -/* border-style : dotted;*/ - image: url($/Res/Icon/CbxBtn.png); -} - -/* QSpinBox */ -QSpinBox { - background-color: transparent; -/* border: 1px solid gray;*/ -} - - - -/* QDoubleSpinBox */ -QDoubleSpinBox { - background-color: transparent; -/* border: 1px solid gray;*/ -} - - -/* QGroupBox */ -QGroupBox { - background-color: transparent; -} -QGroupBox::title { - color: blue; - subcontrol-origin: margin; - subcontrol-position: top left; - margin-left: 5px; -} - - - -/* QSplitter */ -QSplitter { -/* background-color: transparent;*/ -} -QSplitter::handle { - background-color:light blue; - border-width:0px; - border-style:dotted; - height:1px; -} - - - -/*QProgressBar*/ -QProgressBar{ - border: 1px solid gray; - border-radius: 5px; - text-align: center; -} - - - -/* QListWidget */ -QListWidget { - background-color: transparent; - border: 1px solid gray; -} -QListWidget::item:selected{ - background:lightblue; - color:blue; -} -QListWidget QScrollBar { -/* background:transparent;*/ -} - - - -/* QTreeWidget */ -QTreeWidget{ - background-color: transparent; - border-color:light gray; -} -QTreeWidget QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTreeWidget QHeaderView { - background: transparent; -} - - - -/*QTreeView*/ -QTreeView{ - background-color: transparent; - alternate-background-color:rgb(0, 192, 0); - border-color:light gray; -} -QTreeView QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTreeView QHeaderView { - background: transparent; -} -/*QTreeView::item:selected{ - background:lightblue; - color:blue; -}*/ - - -/* QTableWidget */ -QTableWidget{ - background-color:transparent; - alternate-background-color:rgb(0, 192, 0); - border: none; -} -QTableWidget QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTableWidget QHeaderView { - background: transparent; -} -QTableWidget QTableCornerButton::section { - border: 1px solid lightgray; - background: transparent; -} -QTableWidget QScrollBar { - background:transparent; -} - - - - - -/* QTableView */ -QTableView{ - background-color:transparent; - alternate-background-color:rgb(232, 232, 232); - border: 1px solid gray; - - selection-background-color: rgb(51, 153, 255)/*lightblue*/; - selection-color: white; - - gridline-color: lightgray; -} -/*QTableView::grid -{ border: 1px solid red; -color: rgb(255, 0, 0); -gridline-color: rgb(255, 0, 0); -} -QTableView::grid -{ border: 1px solid gray; -}*/ - - -QTableView QHeaderView { -/* background: transparent;*/ -/* border: 1px solid lightgray;*/ -} - -/*QTableView上侧*/ -QTableView QHeaderView::section:horizontal { - background: transparent; - - border: none; /*想单独设置,必须先指定none*/ - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; -} - -/*QTableView左侧*/ -QTableView QHeaderView::section:vertical { - background: transparent; - - border: none; /*想单独设置,必须先指定none*/ - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; - - /*min-width:30px;/*避免左侧序号列太窄*/ -} - -/*QTableView左上角侧*/ -QTableView QTableCornerButton::section { - background: transparent; - - border: none; - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; -} - -QTableView QScrollBar { - background:transparent; -} -/*QTableView::item::selected -{ - background-color:lightblue; - color: white; -}*/ - -/* QTabWidget */ -QTabWidget { - background-color: transparent; -} -QTabWidget::pane{ - border-width:1px; - border-color:transparent; - border-style:dotted; - background-color: transparent; -} -QTabWidget::tab-bar{ - border-width:0px; -} -QTabBar::tab:first:selected, -QTabBar::tab:middle:selected, -QTabBar::tab:last:selected, -QTabBar::tab:only-one{ -/* background-color: white;*/ -/* color: blue;*/ -/* border-width:10px; - border-color:rgb(48, 104, 151); - border-style: outset;*/ -} -QTabBar::tab:first:!selected, -QTabBar::tab:middle:!selected, -QTabBar::tab:last:!selected { -/* background-color: transparent;*/ -/* color: rgb(128, 128, 128);*/ -/* border:1px solid rgba(0,0,0,50);*/ -/* border-width:10px; - border-color:rgb(48, 104, 151); - border-style: ridge;*/ -} - -QTabBar::tab:top, QTabBar::tab:bottom { -/* min-width:60px;*/ -} -QTabBar::tab:left, QTabBar::tab:right { -/* min-height:50px;*/ -} -/*QTabBar::tab{ - border-bottom-color: red; - padding: 0px; -} -QTabBar QToolButton::right-arrow { - background-color:light blue; - border-width: 0; - background-image: url(:/images/tab/rightbtn.png); -} -QTabBar QToolButton::left-arrow { - background-color:light blue; - border-width: 0; - background-image: url(:/images/tab/leftbtn.png); -}*/ - - -/* === QMenu === */ -QMenu { - background-color: rgb(138, 209, 251); -/* border: 1px solid gray; - color: white; - padding: 1px;*/ -} -/*QMenu::item { - padding: 2px 25px 2px 20px; - border: 1px solid transparent; -} -QMenu::item:disabled { - color: #666666; -} -QMenu::item:selected { - border-color: gray; - background: #222222; -} -QMenu::icon:checked { -} -QMenu::separator { - height: 1px; -} -QMenu::indicator { - width: 13px; - height: 13px; -}*/ - - - - -/* === QMenuBar === */ -QMenuBar { - background-color: transparent; -} -/*QMenuBar::item { - background: transparent; -} -QMenuBar::item:disabled { - color: gray; -} -QMenuBar::item:selected { - background: #222222; -} -QMenuBar::item:pressed { - background: #444444; -}*/ - - - -/*QDockWidget*/ -QDockWidget{ -/* image: url($/Res/Image/MPA_Main.png);*/ -/* border:1px ridge lightgray; - border:3px ridge red;*/ - /*titlebar-close-icon: url($/Res/Icon/close.png);*/ -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ -} -QDockWidget::title { - text-align: left; -/* background: transparent;*/ - padding-left:5px; - height:20px; -} -QDockWidget::close-button,QDockWidget::float-button { - /* border:1px solid darkgray;*/ -/* background: darkgray;*/ -/* padding:0px;*/ -} -QDockWidget::close-button:hover,QDockWidget::float-button:hover { -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ - background: gray; -} -QDockWidget::close-button:pressed,QDockWidget::float-button:pressed { -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ -/* padding:1px-1px-1px-1px;*/ -} -/*QDockWidget::close-button { - subcontrol-position: top left; - subcontrol-origin: margin; - position: absolute; - top:0px; left:0px; bottom:0px; - width:14px; -} -QDockWidget::float-button { - subcontrol-position: top left; - subcontrol-origin: margin; - position: absolute; - top:0px; left:16px; bottom:0px; - width:14px; -}*/ - - - -/*ZxPropertySheet*/ -ZxPropertySheet { - background : transparent; - border:1px ridge gray; -} - -/*QMdiArea*/ -QMdiArea { -/* background : transparent;*/ - border:1px ridge gray; -/* border-image:url($/Res/Image/MPA_Main.png); - image:url($/Res/Image/MPA_Main.png);*/ - -} -iSubWndFitting { -/* background : transparent;*/ - border-image:url($/Res/Image/MPA_Main.png); - image:url($/Res/Image/MPA_Main.png); - -} - -/*QMdiSubWindow*/ -QMdiSubWindow{ - background : rgb(194, 213, 233); -/* border:1px ridge gray;*/ -} - - -/*Ribbon*/ - -QMenu { - background-color: #FCFCFC; - border: 1px solid #8492A6; -} -QMenu::item { - background-color: transparent; -} -iWxMenuItem::hover{ - border: 1px solid #FFB700; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1,stop:0 #FEF9F4, stop:0.38 #FDE0BD,stop:0.39 #FFCE69, stop:1 #FFFFE7); -} -QMenu::item:selected { - background-color: #654321; -} -/*QWidget{ - font-family: "微软雅黑"; -} -#MainWindowClass{ - background-color: #D2DCEA; -}*/ -#btnRibbonFile::menu-indicator{ - image:None; -} - - - -#btnRibbonFile{ - min-width:50px; - max-width:50px; - height:22px; - - color:white; - border: 1px solid #416ABD; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #467FBD, stop:0.5 #2A5FAC,stop:0.51 #1A4088, stop:1 #419ACF); -} -#btnRibbonFile::hover{ - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #7BB2EB, stop:0.5 #477ECD,stop:0.51 #114ECF, stop:1 #80E1FF); -} -#btnRibbonFile::pressed{ - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #467BBB, stop:0.5 #2F63AE,stop:0.51 #1C438A, stop:1 #358BC9); -} - -/* -QTabWidget:pane{ \ - border: 1px solid red; top: -1px;background-color:grey;}\ -QTabBar::tab{height:22px; background-color:grey; margin-right: 2px; margin-bottom:-2px;}\ - QTabBar::tab:selected{border:1px solid red;border-bottom-color: none;}\ - QTabBar::tab:!selected{border-bottom: 3px solid red;}*/ - - - -#tabWxMain::tab-bar { - left: 65px; -/* border: 1px solid #BAC9DB;*/ -} -#tabWxMain QTabBar::tab{ - height:24px; - /*background: transparent; - margin-left: 5px; - margin-right: 5px;*/ -/* border: 1px solid #BAC9DB;*/ -} -#tabWxMain QTabBar::tab:selected -{ - /*border:1px solid red;border-bottom-color: none; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - margin-left: 2px; - margin-right: 2px; - border: 1px solid #BAC9DB; - border-bottom-color: #FFFFFF;*/ -} -#tabWxMain QTabBar::tab:!selected -{ - background-color: transparent; - /*border-bottom: 1px solid red; - margin-top: 1px; - border: none; - border-bottom-color: #FFFFFF;*/ -/* margin-left: 2px; - margin-right: 2px; - border-left-color: #FFFFFF;*/ -} - - - -#tabWxMain QTabBar::tab:hover :selected -{ - /* background-color: light Gray; - border-top-left-radius: 2px; - border-top-right-radius: 2px;*/ -} -#tabWxMain QTabBar::tab:hover:!selected -{ - background-color: rgb(250, 250, 250); -/* border: 1px solid #ECBC3D;*/ -} - -#tabWxMain QTabWidget::pane{ - /*border-width:4px; - border-color:red; - border-style: solid; - background-color: transparent; - border: 1px solid red; top: -1px;background-color:grey;*/ -} - - -#tabWxMain::pane -{ - border-width: 1px; - border-color: rgb(192, 192, 192); - border-style:solid; - top: -1px;/*background-color:grey;*/ -} - - -#tabWxMain QGroupBox{ - border-left: 1px solid #B0B0B0; - border-top: 0px solid gray; -} -#tabWxMain QGroupBox::title { - color: #081121/*#738399*/; - subcontrol-position: bottom center; -} - -/* QWebView */ -QWebView { - background-color: transparent; -} diff --git a/Bin/Config/Common/MPA_Well_Report.dot b/Bin/Config/Common/MPA_Well_Report.dot deleted file mode 100644 index 56d246a..0000000 Binary files a/Bin/Config/Common/MPA_Well_Report.dot and /dev/null differ diff --git a/Bin/Config/Common/MPA_Well_Report.ini b/Bin/Config/Common/MPA_Well_Report.ini deleted file mode 100644 index c4304d8..0000000 --- a/Bin/Config/Common/MPA_Well_Report.ini +++ /dev/null @@ -1,5 +0,0 @@ -;这是导出报告时,特定参数的配置。(对于局部格式固定的,可以采取这种) - -[Report] -TagCt = Ct ;意思是模板中标签为'TagCt'的要替换为当前井Ct的数值,下同 -TagS = S ; \ No newline at end of file diff --git a/Bin/Config/Common/MPA_Well_ReportXJ.dot b/Bin/Config/Common/MPA_Well_ReportXJ.dot deleted file mode 100644 index c2747d0..0000000 Binary files a/Bin/Config/Common/MPA_Well_ReportXJ.dot and /dev/null differ diff --git a/Bin/Config/Common/MPA_Well_ReportXJ.ini b/Bin/Config/Common/MPA_Well_ReportXJ.ini deleted file mode 100644 index 4c0c50b..0000000 --- a/Bin/Config/Common/MPA_Well_ReportXJ.ini +++ /dev/null @@ -1,54 +0,0 @@ -;这是导出报告时,特定参数的配置。(对于局部格式固定的,可以采取这种) - -[Report] -TagCt = Ct ;意思是模板中标签为'TagCt'的要替换为当前井Ct的数值,下同 -TagS = S ; -TagBlockName = BlockName ; -TagBlock = BlockName ; -TagLayer = LayerName ; -TagLayerName = LayerName ; -TagWellName = WellName ; -TagWellNameEx = WellName ; -TagWellType = WellType ; -TagType = WellType ; -TagWellClass = WellClass ; -TagWellRadius = WellRadius ; -TagSKJDDS1 = SKJDDS1 ; -TagSKJDDS2 = SKJDDS2 ; -TagOVF = OVF ; -TagOVis = OVis ; -TagOCF = OCF ; -TagWVisc = WVisc ; -TagWVF = WVF ; -TagWCF = WCF ; -TagODens = ODens ; -TagYCZB = YCZB ; -TagYCZB = YCZB ; -TagH = H ; -TagYH = H ; -TagHYBHD = HYBHD ; -TagHSBHD = HSBHD ; -TagHSBHD = HSBHD ; -TagZHYSXS = TotalCF ; -TagYQMC = YQMC ; -TagYQXH = YQXH ; -TagYQBH = YQBH ; -TagPor = Por ; -TagCSRQ = CSRQ ; -TagSJJSRQ = SJJSRQ ; -TagYY = YY ; -TagTY = TY ; -TagD1TJSD = D1TJSD ; -TagD2TJSD = D2TJSD ; -TagD1TJYL = D1TJYL ; -TagD1TJWD = D1TJWD ; -TagD2TJYL = D2TJYL ; -TagD2TJWD = D2TJWD ; -TagZSYLTD = ZSYLTD ; -TagZSWDTD = ZSWDTD ; -TagZSWDTD = ZSWDTD ; -TagYCZBYL = YCZBYL ; -TagHQBHD = HQBHD ; -TagJCMC = JCMC ; -TagCSLX = JCMC ; -TagDCWD = DCWD ; diff --git a/Bin/Config/Common/MPA_Well_Report_Old.dot b/Bin/Config/Common/MPA_Well_Report_Old.dot deleted file mode 100644 index ee274ab..0000000 Binary files a/Bin/Config/Common/MPA_Well_Report_Old.dot and /dev/null differ diff --git a/Bin/Config/Common/MenuDefines_Ribbon_Diffusion.dat b/Bin/Config/Common/MenuDefines_Ribbon_Diffusion_cn.dat similarity index 100% rename from Bin/Config/Common/MenuDefines_Ribbon_Diffusion.dat rename to Bin/Config/Common/MenuDefines_Ribbon_Diffusion_cn.dat diff --git a/Bin/Config/Common/MenuDefines_Ribbon_Diffusion_en.dat b/Bin/Config/Common/MenuDefines_Ribbon_Diffusion_en.dat new file mode 100644 index 0000000..a3a6d66 --- /dev/null +++ b/Bin/Config/Common/MenuDefines_Ribbon_Diffusion_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu59EaWZmdXNpb27pg6jliIbnmoTnsbtUb29s6I+c5Y2V5YWz57O7KOmSiOWvuVJpYmJvbuaooeW8jykgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBBdXRob3Iocyk6IHdhbmd6ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgRGF0ZTogMjAyNDAxMDI1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCjwhLS0NCiAgICBUYWIg57qn5YirDQogICAgICAgIElEOiAgICAgICAgICDllK/kuIDmoIfor4YNCiAgICAgICAgTmFtZe+8miAgICAgICDlkI3np7DvvIzpgJrluLjoi7HmlocNCiAgICAgICAgQWxpYXPvvJogICAgICDliKvlkI3vvIzpgJrluLjkuK3mlocNCiAgICAgICAgRmlsZU1vZGU6ICAgIOaYr+WQpuaWh+S7tk1lbnXmqKHlvI/vvIwxIG9yIDANCiAgICAgICAgVmlzaWJsZe+8miAgICDmmK/lkKblj6/op4HvvIwxIG9yIDANCiAgICAgICAgVGlwc++8miAgICAgICDovoXliqnor7TmmI4NCg0KICAgICAgICBHcm91cCDnuqfliKsNCiAgICAgICAgICAgIE5hbWXvvJogICAgICAg5ZCN56ew77yM6YCa5bi46Iux5paHDQogICAgICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KDQogICAgICAgICAgICBDbWQg57qn5YirDQogICAgICAgICAgICAgICAgSUQ6ICAgICAgICAgIOWUr+S4gOagh+ivhg0KICAgICAgICAgICAgICAgIFR5cGU6ICAgICAgICDlr7nlupTmjqfku7bnsbvlnos6DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDDigJTigJTpu5jorqRCdXR0b24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMeKAlOKAlOW4puS4i+aLieiPnOWNlUJ1dHRvbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAy4oCU4oCUQ29tYm9Cb3gNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgM+KAlOKAlENoZWNrQm94DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDTigJTigJRSYWRpb0J1dHRvbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA14oCU4oCUVGV4dA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA24oCU4oCUTGFiZWwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgN+KAlOKAlExpc3RXaWRnZXQNCiAgICAgICAgICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICAgICAgICAgIEFsaWFz77yaICAgICAg5Yir5ZCN77yM6YCa5bi45Lit5paHDQogICAgICAgICAgICAgICAgSWNvbu+8miAgICAgICDlm77moIcNCiAgICAgICAgICAgICAgICBTaG9ydEtlee+8miAgIOW/q+aNt+mUrg0KICAgICAgICAgICAgICAgIEJvdW5kczogICAgICDkvY3nva7kv6Hmga/vvIzlhajmmK/mlbTmlbDvvIzlnKhHcmlkTGF5b3V05LitDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwLDAsMSwyKSAoMCwwKSDliIbliKvkuLp4eXdoDQogICAgICAgICAgICAgICAgRXh0SW5mbzogICAgIOaJqeWxleS/oeaBr++8jOWmguaTjeS9nOWvueixoeeahOihqOWQjSzkuIvmi4npgInpobnnrYkNCiAgICAgICAgICAgICAgICBFeHROYW1lczogICAg5omp5bGV5L+h5oGv5a+55bqU55qETmFtZe+8jOWmguS4i+aLiWJ1dHRvbuWvueW6lOeahE5hbWUNCiAgICAgICAgICAgICAgICBUaXBz77yaICAgICAgIOi+heWKqeivtOaYjg0KLS0+DQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8UmliYm9uPg0KDQogICAgPFRhYiBJRD0iMCIgTmFtZT0iRGlmZnVzaW9uIiBBbGlhcz0i5omp5pWjIiA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkJhc2ljIiBBbGlhcz0i5Z+656GAIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMCIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJCYXNpY09wdGlvbiIgQWxpYXM9IuWfuuehgOmAiemhuSIgSWNvbj0iRGlmZkJhc2ljT3B0aW9uIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJLSyIgQWxpYXM9IuebuOa4lyI+DQogICAgICAgICAgICA8Q21kIElEPSI4MDEiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iS0siIEFsaWFzPSLorqHnrpciIEljb249IktLIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iODAyIiBCb3VuZHM9IjAsMSIgTmFtZT0iRXhwb3J0S0siIEFsaWFzPSLlr7zlh7oiIEljb249IkV4cG9ydCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMyIgQm91bmRzPSIxLDEiIE5hbWU9IkltcG9ydEtLIiBBbGlhcz0i5a+85YWlIiBJY29uPSJJbXBvcnQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlNTIiBBbGlhcz0i5Y6L5pWPIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwNCIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJTUyIgQWxpYXM9IuiuoeeulyIgSWNvbj0iU1MiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI4MDUiIEJvdW5kcz0iMCwxIiBOYW1lPSJFeHBvcnRTUyIgQWxpYXM9IuWvvOWHuiIgSWNvbj0iRXhwb3J0IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iODA2IiBCb3VuZHM9IjEsMSIgTmFtZT0iSW1wb3J0U1MiIEFsaWFzPSLlr7zlhaUiIEljb249IkltcG9ydCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iRFMiIEFsaWFzPSLlkLjpmYQiPg0KICAgICAgICAgICAgPENtZCBJRD0iODA3IiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkRTIiBBbGlhcz0i6K6h566XIiBJY29uPSJEUyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwOCIgQm91bmRzPSIwLDEiIE5hbWU9IkV4cG9ydERTIiBBbGlhcz0i5a+85Ye6IiBJY29uPSJFeHBvcnQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI4MDkiIEJvdW5kcz0iMSwxIiBOYW1lPSJJbXBvcnREUyIgQWxpYXM9IuWvvOWFpSIgSWNvbj0iSW1wb3J0IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJSZXN1bHQiIEFsaWFzPSLmiJDmnpwiPg0KICAgICAgICAgICAgPENtZCBJRD0iODEwIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IlNhdmVUb0ZpbGUiIEFsaWFzPSLlrZjkuLrmlofku7YiIEljb249IlNhdmVUb0ZpbGUiIFRpcHMgPSAiRGlGZnVzaW9u5YaF5a655a2Y5Li65paH5Lu2Ii8+DQogICAgICAgICAgICA8Q21kIElEPSI4MTEiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iTG9hZEZyb21GaWxlIiBBbGlhcz0i5LuO5paH5Lu25Yqg6L29IiBJY29uPSJMb2FkRnJvbUZpbGUiIFRpcHMgPSAi5LuO5paH5Lu25Yqg6L29RGlGZnVzaW9u5YaF5a65IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJIZWxwIiBBbGlhcz0i5biu5YqpIj4gICAgICAgIA0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDIiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iSGVscCIgQWxpYXM9IuW4ruWKqShIKSIgSWNvbj0iSGVscCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgIDwvVGFiPg0KDQo8L1JpYmJvbj4NCg== \ No newline at end of file diff --git a/Bin/Config/Common/MenuDefines_Ribbon_PVT.dat b/Bin/Config/Common/MenuDefines_Ribbon_PVT_cn.dat similarity index 100% rename from Bin/Config/Common/MenuDefines_Ribbon_PVT.dat rename to Bin/Config/Common/MenuDefines_Ribbon_PVT_cn.dat diff --git a/Bin/Config/Common/PVT_Ribbon.dat b/Bin/Config/Common/MenuDefines_Ribbon_PVT_en.dat similarity index 67% rename from Bin/Config/Common/PVT_Ribbon.dat rename to Bin/Config/Common/MenuDefines_Ribbon_PVT_en.dat index 25f848c..986de64 100644 --- a/Bin/Config/Common/PVT_Ribbon.dat +++ b/Bin/Config/Common/MenuDefines_Ribbon_PVT_en.dat @@ -1 +1 @@ -77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu59QVlTpg6jliIbnmoTnsbtUb29s6I+c5Y2V5YWz57O7KOmSiOWvuVJpYmJvbuaooeW8jykgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBBdXRob3Iocyk6IHdhbmd6ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgRGF0ZTogMjAyNDAxMDI1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCjwhLS0NCiAgICBUYWIg57qn5YirDQogICAgICAgIElEOiAgICAgICAgICDllK/kuIDmoIfor4YNCiAgICAgICAgTmFtZe+8miAgICAgICDlkI3np7DvvIzpgJrluLjoi7HmlocNCiAgICAgICAgQWxpYXPvvJogICAgICDliKvlkI3vvIzpgJrluLjkuK3mlocNCiAgICAgICAgRmlsZU1vZGU6ICAgIOaYr+WQpuaWh+S7tk1lbnXmqKHlvI/vvIwxIG9yIDANCiAgICAgICAgVmlzaWJsZe+8miAgICDmmK/lkKblj6/op4HvvIwxIG9yIDANCiAgICAgICAgVGlwc++8miAgICAgICDovoXliqnor7TmmI4NCg0KICAgICAgICBHcm91cCDnuqfliKsNCiAgICAgICAgICAgIE5hbWXvvJogICAgICAg5ZCN56ew77yM6YCa5bi46Iux5paHDQogICAgICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KDQogICAgICAgICAgICBDbWQg57qn5YirDQogICAgICAgICAgICAgICAgSUQ6ICAgICAgICAgIOWUr+S4gOagh+ivhg0KICAgICAgICAgICAgICAgIFR5cGU6ICAgICAgICDlr7nlupTmjqfku7bnsbvlnos6DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDDigJTigJTpu5jorqRCdXR0b24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMeKAlOKAlOW4puS4i+aLieiPnOWNlUJ1dHRvbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAy4oCU4oCUQ29tYm9Cb3gNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgM+KAlOKAlENoZWNrQm94DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDTigJTigJRSYWRpb0J1dHRvbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA14oCU4oCUVGV4dA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA24oCU4oCUTGFiZWwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgN+KAlOKAlExpc3RXaWRnZXQNCiAgICAgICAgICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICAgICAgICAgIEFsaWFz77yaICAgICAg5Yir5ZCN77yM6YCa5bi45Lit5paHDQogICAgICAgICAgICAgICAgSWNvbu+8miAgICAgICDlm77moIcNCiAgICAgICAgICAgICAgICBTaG9ydEtlee+8miAgIOW/q+aNt+mUrg0KICAgICAgICAgICAgICAgIEJvdW5kczogICAgICDkvY3nva7kv6Hmga/vvIzlhajmmK/mlbTmlbDvvIzlnKhHcmlkTGF5b3V05LitDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwLDAsMSwyKSAoMCwwKSDliIbliKvkuLp4eXdoDQogICAgICAgICAgICAgICAgRXh0SW5mbzogICAgIOaJqeWxleS/oeaBr++8jOWmguaTjeS9nOWvueixoeeahOihqOWQjSzkuIvmi4npgInpobnnrYkNCiAgICAgICAgICAgICAgICBFeHROYW1lczogICAg5omp5bGV5L+h5oGv5a+55bqU55qETmFtZe+8jOWmguS4i+aLiWJ1dHRvbuWvueW6lOeahE5hbWUNCiAgICAgICAgICAgICAgICBUaXBz77yaICAgICAgIOi+heWKqeivtOaYjg0KLS0+DQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8UmliYm9uPg0KDQogICAgPFRhYiBJRD0iMCIgTmFtZT0iUFZUIiBBbGlhcz0iUFZUIiA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkJhc2ljIiBBbGlhcz0i5Z+656GAIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMCIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJCYXNpY09wdGlvbiIgQWxpYXM9IuWfuuehgOmAiemhuSIgSWNvbj0iUHZ0QmFzaWNPcHRpb24iIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlBoYXNlIiBBbGlhcz0iUFZU5Y+C5pWw6K6h566XIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJQaGFzZU9pbCIgQWxpYXM9IuayueebuOWPguaVsCIgSWNvbj0iUGhhc2VPaWwiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI4MDIiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iUGhhc2VHYXMiIEFsaWFzPSLmsJTnm7jlj4LmlbAiIEljb249IlBoYXNlR2FzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iODAzIiBCb3VuZHM9IjAsMiwyLDEiIE5hbWU9IlBoYXNlV2F0ZXIiIEFsaWFzPSLmsLTnm7jlj4LmlbAiIEljb249IlBoYXNlV2F0ZXIiIC8+DQogICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iUHNldSIgQWxpYXM9Iuiuoeeul+aLn+WOi+WKmyI+DQogICAgICAgICAgICA8Q21kIElEPSI4MDYiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iUHNldVByZXNzdXJlIiBBbGlhcz0i6YCa55So5pa55byPIiBUaXBzPSLln7rmnKzmlrnms5XorqHnrpfmi5/ljovlipsiICBJY29uPSJQc2Vkb1AiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI4MDciIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iUHNldVByZXNzdXJlMyIgQWxpYXM9IuS4ieWMuuaWueW8jyIgVGlwcz0i5LiJ5Yy65ouf5ZCI6K6h566X5ouf5Y6L5YqbIiBJY29uPSJQc2Vkb1AzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iODA4IiBCb3VuZHM9IjAsMiwyLDEiIE5hbWU9IlBzZXVQcmVzc3VyZUMiIEFsaWFzPSLnu4TliIblkKvph4/mlrnlvI8iIFRpcHM9Iue7hOWIhuWQq+mHj+iuoeeul+aLn+WOi+WKmyIgSWNvbj0iUHNlZG9QQyIgLz4NCg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlJlc3VsdCIgQWxpYXM9IuaIkOaenCI+DQogICAgICAgICAgICA8Q21kIElEPSI4MDQiIEJvdW5kcz0iMCwwIiBOYW1lPSJTYXZlUHZ0IiBBbGlhcz0i5L+d5a2YUHZ0IiBJY29uPSJTYXZlUHZ0IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iODA1IiBCb3VuZHM9IjEsMCIgTmFtZT0iTG9hZFB2dCIgQWxpYXM9IuWKoOi9vVB2dCIgSWNvbj0iTG9hZFB2dCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iSGVscCIgQWxpYXM9IuW4ruWKqSI+ICAgICAgICANCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDAyIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkhlbHAiIEFsaWFzPSLluK7liqkoSCkiIEljb249IkhlbHAiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICA8L1RhYj4NCg0KPC9SaWJib24+DQo= \ No newline at end of file +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu59QVlTpg6jliIbnmoTnsbtUb29s6I+c5Y2V5YWz57O7KOmSiOWvuVJpYmJvbuaooeW8jykgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBBdXRob3Iocyk6IHdhbmd6ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgRGF0ZTogMjAyNDAxMDI1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCjwhLS0NCiAgICBUYWIg57qn5YirDQogICAgICAgIElEOiAgICAgICAgICDllK/kuIDmoIfor4YNCiAgICAgICAgTmFtZe+8miAgICAgICDlkI3np7DvvIzpgJrluLjoi7HmlocNCiAgICAgICAgQWxpYXPvvJogICAgICDliKvlkI3vvIzpgJrluLjkuK3mlocNCiAgICAgICAgRmlsZU1vZGU6ICAgIOaYr+WQpuaWh+S7tk1lbnXmqKHlvI/vvIwxIG9yIDANCiAgICAgICAgVmlzaWJsZe+8miAgICDmmK/lkKblj6/op4HvvIwxIG9yIDANCiAgICAgICAgVGlwc++8miAgICAgICDovoXliqnor7TmmI4NCg0KICAgICAgICBHcm91cCDnuqfliKsNCiAgICAgICAgICAgIE5hbWXvvJogICAgICAg5ZCN56ew77yM6YCa5bi46Iux5paHDQogICAgICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KDQogICAgICAgICAgICBDbWQg57qn5YirDQogICAgICAgICAgICAgICAgSUQ6ICAgICAgICAgIOWUr+S4gOagh+ivhg0KICAgICAgICAgICAgICAgIFR5cGU6ICAgICAgICDlr7nlupTmjqfku7bnsbvlnos6DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDDigJTigJTpu5jorqRCdXR0b24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMeKAlOKAlOW4puS4i+aLieiPnOWNlUJ1dHRvbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAy4oCU4oCUQ29tYm9Cb3gNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgM+KAlOKAlENoZWNrQm94DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDTigJTigJRSYWRpb0J1dHRvbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA14oCU4oCUVGV4dA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA24oCU4oCUTGFiZWwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgN+KAlOKAlExpc3RXaWRnZXQNCiAgICAgICAgICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICAgICAgICAgIEFsaWFz77yaICAgICAg5Yir5ZCN77yM6YCa5bi45Lit5paHDQogICAgICAgICAgICAgICAgSWNvbu+8miAgICAgICDlm77moIcNCiAgICAgICAgICAgICAgICBTaG9ydEtlee+8miAgIOW/q+aNt+mUrg0KICAgICAgICAgICAgICAgIEJvdW5kczogICAgICDkvY3nva7kv6Hmga/vvIzlhajmmK/mlbTmlbDvvIzlnKhHcmlkTGF5b3V05LitDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwLDAsMSwyKSAoMCwwKSDliIbliKvkuLp4eXdoDQogICAgICAgICAgICAgICAgRXh0SW5mbzogICAgIOaJqeWxleS/oeaBr++8jOWmguaTjeS9nOWvueixoeeahOihqOWQjSzkuIvmi4npgInpobnnrYkNCiAgICAgICAgICAgICAgICBFeHROYW1lczogICAg5omp5bGV5L+h5oGv5a+55bqU55qETmFtZe+8jOWmguS4i+aLiWJ1dHRvbuWvueW6lOeahE5hbWUNCiAgICAgICAgICAgICAgICBUaXBz77yaICAgICAgIOi+heWKqeivtOaYjg0KLS0+DQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8UmliYm9uPg0KDQogICAgPFRhYiBJRD0iMCIgTmFtZT0iUFZUIiBBbGlhcz0iUFZUIiA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkJhc2ljIiBBbGlhcz0i5Z+656GAIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMCIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJCYXNpY09wdGlvbiIgQWxpYXM9IuWfuuehgOmAiemhuSIgSWNvbj0iUHZ0QmFzaWNPcHRpb24iIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlBoYXNlIiBBbGlhcz0iUFZU5Y+C5pWw6K6h566XIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJQaGFzZU9pbCIgQWxpYXM9IumlseWSjOayueeJqeaAp+WPguaVsCIgSWNvbj0iUGhhc2VPaWwiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI4MDYiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iUGhhc2VPaWxFeHQiIEFsaWFzPSLmrbvmsrnnianmgKflj4LmlbAiIEljb249IlBoYXNlT2lsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iODAyIiBCb3VuZHM9IjAsMiwyLDEiIE5hbWU9IlBoYXNlR2FzIiBBbGlhcz0i5rCU55u454mp5oCn5Y+C5pWwIiBJY29uPSJQaGFzZUdhcyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMyIgQm91bmRzPSIwLDMsMiwxIiBOYW1lPSJQaGFzZVdhdGVyIiBBbGlhcz0i5rC055u454mp5oCn5Y+C5pWwIiBJY29uPSJQaGFzZVdhdGVyIiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlJlc3VsdCIgQWxpYXM9IuaIkOaenCI+DQogICAgICAgICAgICA8Q21kIElEPSI4MDQiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iU2F2ZVRvRmlsZSIgQWxpYXM9IuWtmOS4uuaWh+S7tiIgSWNvbj0iU2F2ZVRvRmlsZSIgVGlwcyA9ICJQdnTlhoXlrrnlrZjkuLrmlofku7YiLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwNSIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJMb2FkRnJvbUZpbGUiIEFsaWFzPSLku47mlofku7bliqDovb0iIEljb249IkxvYWRGcm9tRmlsZSIgVGlwcyA9ICLku47mlofku7bliqDovb1QdnTlhoXlrrkiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCg0KICAgICAgICA8R3JvdXAgTmFtZT0iSGVscCIgQWxpYXM9IuW4ruWKqSI+ICAgICAgICANCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDAyIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkhlbHAiIEFsaWFzPSLluK7liqkoSCkiIEljb249IkhlbHAiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICA8L1RhYj4NCg0KPC9SaWJib24+DQo= \ No newline at end of file diff --git a/Bin/Config/Common/MenuDefines_Ribbon_Pseu.dat b/Bin/Config/Common/MenuDefines_Ribbon_Pseu_cn.dat similarity index 100% rename from Bin/Config/Common/MenuDefines_Ribbon_Pseu.dat rename to Bin/Config/Common/MenuDefines_Ribbon_Pseu_cn.dat diff --git a/Bin/Config/Common/MenuDefines_Ribbon_Pseu_en.dat b/Bin/Config/Common/MenuDefines_Ribbon_Pseu_en.dat new file mode 100644 index 0000000..909e091 --- /dev/null +++ b/Bin/Config/Common/MenuDefines_Ribbon_Pseu_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu59Qc2V15ouf5Y6L5Yqb6YOo5YiG55qE57G7VG9vbOiPnOWNleWFs+ezuyjpkojlr7lSaWJib27mqKHlvI8pICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgQXV0aG9yKHMpOiB3YW5nemcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIERhdGU6IDIwMjQwMTEyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQoNCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tDQogICAgVGFiIOe6p+WIqw0KICAgICAgICBJRDogICAgICAgICAg5ZSv5LiA5qCH6K+GDQogICAgICAgIE5hbWXvvJogICAgICAg5ZCN56ew77yM6YCa5bi46Iux5paHDQogICAgICAgIEFsaWFz77yaICAgICAg5Yir5ZCN77yM6YCa5bi45Lit5paHDQogICAgICAgIEZpbGVNb2RlOiAgICDmmK/lkKbmlofku7ZNZW515qih5byP77yMMSBvciAwDQogICAgICAgIFZpc2libGXvvJogICAg5piv5ZCm5Y+v6KeB77yMMSBvciAwDQogICAgICAgIFRpcHPvvJogICAgICAg6L6F5Yqp6K+05piODQoNCiAgICAgICAgR3JvdXAg57qn5YirDQogICAgICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICAgICAgQWxpYXPvvJogICAgICDliKvlkI3vvIzpgJrluLjkuK3mlocNCg0KICAgICAgICAgICAgQ21kIOe6p+WIqw0KICAgICAgICAgICAgICAgIElEOiAgICAgICAgICDllK/kuIDmoIfor4YNCiAgICAgICAgICAgICAgICBUeXBlOiAgICAgICAg5a+55bqU5o6n5Lu257G75Z6LOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw4oCU4oCU6buY6K6kQnV0dG9uDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDHigJTigJTluKbkuIvmi4noj5zljZVCdXR0b24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlENvbWJvQm94DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDPigJTigJRDaGVja0JveA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA04oCU4oCUUmFkaW9CdXR0b24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNeKAlOKAlFRleHQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNuKAlOKAlExhYmVsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDfigJTigJRMaXN0V2lkZ2V0DQogICAgICAgICAgICAgICAgTmFtZe+8miAgICAgICDlkI3np7DvvIzpgJrluLjoi7HmlocNCiAgICAgICAgICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KICAgICAgICAgICAgICAgIEljb27vvJogICAgICAg5Zu+5qCHDQogICAgICAgICAgICAgICAgU2hvcnRLZXnvvJogICDlv6vmjbfplK4NCiAgICAgICAgICAgICAgICBCb3VuZHM6ICAgICAg5L2N572u5L+h5oGv77yM5YWo5piv5pW05pWw77yM5ZyoR3JpZExheW91dOS4rQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCwwLDEsMikgKDAsMCkg5YiG5Yir5Li6eHl3aA0KICAgICAgICAgICAgICAgIEV4dEluZm86ICAgICDmianlsZXkv6Hmga/vvIzlpoLmk43kvZzlr7nosaHnmoTooajlkI0s5LiL5ouJ6YCJ6aG5562JDQogICAgICAgICAgICAgICAgRXh0TmFtZXM6ICAgIOaJqeWxleS/oeaBr+WvueW6lOeahE5hbWXvvIzlpoLkuIvmi4lidXR0b27lr7nlupTnmoROYW1lDQogICAgICAgICAgICAgICAgVGlwc++8miAgICAgICDovoXliqnor7TmmI4NCi0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCg0KPFJpYmJvbj4NCg0KICAgIDxUYWIgSUQ9IjAiIE5hbWU9IlBzZXUiIEFsaWFzPSJQc2V1IiA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkJhc2ljIiBBbGlhcz0i5Z+656GAIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMCIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJCYXNpY09wdGlvbiIgQWxpYXM9IuWfuuehgOmAiemhuSIgSWNvbj0iUHNldUJhc2ljT3B0aW9uIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJQc2V1IiBBbGlhcz0i5ouf5Y6L5Yqb6K6h566XIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJQc2V1UHJlc3N1cmUiIEFsaWFzPSLpgJrnlKjmlrnlvI8iIFRpcHM9IuWfuuacrOaWueazleiuoeeul+aLn+WOi+WKmyIgIEljb249IlBzZWRvUCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMiIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJQc2V1UHJlc3N1cmUzIiBBbGlhcz0i5LiJ5Yy65pa55byPIiBUaXBzPSLkuInljLrmi5/lkIjorqHnrpfmi5/ljovlipsiIEljb249IlBzZWRvUDMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI4MDMiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iUHNldVByZXNzdXJlQyIgQWxpYXM9Iue7hOWIhuWQq+mHj+aWueW8jyIgVGlwcz0i57uE5YiG5ZCr6YeP6K6h566X5ouf5Y6L5YqbIiBJY29uPSJQc2Vkb1BDIiAvPg0KDQogICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iUmVzdWx0IiBBbGlhcz0i5oiQ5p6cIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwNCIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJTYXZlVG9GaWxlIiBBbGlhcz0i5a2Y5Li65paH5Lu2IiBJY29uPSJTYXZlVG9GaWxlIiBUaXBzID0gIuaLn+WOi+WKm+WGheWuueWtmOS4uuaWh+S7tiIvPg0KICAgICAgICAgICAgPENtZCBJRD0iODA1IiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IkxvYWRGcm9tRmlsZSIgQWxpYXM9IuS7juaWh+S7tuWKoOi9vSIgSWNvbj0iTG9hZEZyb21GaWxlIiBUaXBzID0gIuS7juaWh+S7tuWKoOi9veaLn+WOi+WKm+WGheWuuSIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJIZWxwIiBBbGlhcz0i5biu5YqpIj4gICAgICAgIA0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDIiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iSGVscCIgQWxpYXM9IuW4ruWKqShIKSIgSWNvbj0iSGVscCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgIDwvVGFiPg0KDQo8L1JpYmJvbj4NCg== \ No newline at end of file diff --git a/Bin/Config/Common/MenuDefines_Ribbon.dat b/Bin/Config/Common/MenuDefines_Ribbon_cn.dat similarity index 97% rename from Bin/Config/Common/MenuDefines_Ribbon.dat rename to Bin/Config/Common/MenuDefines_Ribbon_cn.dat index c031aa6..842a82c 100644 --- a/Bin/Config/Common/MenuDefines_Ribbon.dat +++ b/Bin/Config/Common/MenuDefines_Ribbon_cn.dat @@ -1 +1 @@ -77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu5/nmoToj5zljZXlsYLmrKHlhbPns7so6ZKI5a+5UmliYm9u5qih5byPKSAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEF1dGhvcihzKTogd2FuZ3pnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBEYXRlOiAyMDI0MDcxOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQoNCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tDQogICAgVGFiIOe6p+WIqw0KICAgICAgICBJRDogICAgICAgICAg5ZSv5LiA5qCH6K+GDQogICAgICAgIE5hbWXvvJogICAgICAg5ZCN56ew77yM6YCa5bi46Iux5paHDQogICAgICAgIEFsaWFz77yaICAgICAg5Yir5ZCN77yM6YCa5bi45Lit5paHDQogICAgICAgIEZpbGVNb2RlOiAgICDmmK/lkKbmlofku7ZNZW515qih5byP77yMMSBvciAwDQogICAgICAgIFZpc2libGXvvJogICAg5piv5ZCm5Y+v6KeB77yMMSBvciAwDQogICAgICAgIFRpcHPvvJogICAgICAg6L6F5Yqp6K+05piODQoNCiAgICAgICAgR3JvdXAg57qn5YirDQogICAgICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICAgICAgQWxpYXPvvJogICAgICDliKvlkI3vvIzpgJrluLjkuK3mlocNCg0KICAgICAgICAgICAgQ21kIOe6p+WIqw0KICAgICAgICAgICAgICAgIElEOiAgICAgICAgICDllK/kuIDmoIfor4YNCiAgICAgICAgICAgICAgICBUeXBlOiAgICAgICAg5a+55bqU5o6n5Lu257G75Z6LOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw4oCU4oCU6buY6K6kQnV0dG9uDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDHigJTigJTluKbkuIvmi4noj5zljZVCdXR0b24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlENvbWJvQm94DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDPigJTigJRDaGVja0JveA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA04oCU4oCUUmFkaW9CdXR0b24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNeKAlOKAlFRleHQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNuKAlOKAlExhYmVsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDfigJTigJRMaXN0V2lkZ2V0DQogICAgICAgICAgICAgICAgTmFtZe+8miAgICAgICDlkI3np7DvvIzpgJrluLjoi7HmlocNCiAgICAgICAgICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KICAgICAgICAgICAgICAgIEljb27vvJogICAgICAg5Zu+5qCHDQogICAgICAgICAgICAgICAgU2hvcnRLZXnvvJogICDlv6vmjbfplK4NCiAgICAgICAgICAgICAgICBCb3VuZHM6ICAgICAg5L2N572u5L+h5oGv77yM5YWo5piv5pW05pWw77yM5ZyoR3JpZExheW91dOS4rQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCwwLDEsMikgKDAsMCkg5YiG5Yir5Li6eHl3aA0KICAgICAgICAgICAgICAgIEV4dEluZm86ICAgICDmianlsZXkv6Hmga/vvIzlpoLmk43kvZzlr7nosaHnmoTooajlkI0s5LiL5ouJ6YCJ6aG5562JDQogICAgICAgICAgICAgICAgRXh0TmFtZXM6ICAgIOaJqeWxleS/oeaBr+WvueW6lOeahE5hbWXvvIzlpoLkuIvmi4lidXR0b27lr7nlupTnmoROYW1lDQogICAgICAgICAgICAgICAgVGlwc++8miAgICAgICDovoXliqnor7TmmI4NCi0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCg0KPFJpYmJvbj4NCg0KICAgIDxUYWIgSUQ9IjEiIE5hbWU9IlByb2pNYW5hZ2VyIiBBbGlhcz0i6aG555uu566h55CGKFApIiBGaWxlTW9kZT0iMSIgPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJQcm9qZWN0IiBBbGlhcz0i5paH5Lu2Ij4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDAiIE5hbWU9IkFwcEhvbWUiIEFsaWFzPSIiIEljb249IkFwcEhvbWUxMjgiIC8+DQogICAgICAgICAgICA8Q21kIElEPSItMSIgTmFtZT0iU2VwYXJhdG9yIiBBbGlhcz0i5YiG6ZqU56ymIiBUaXBzPSIiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDAxIiBOYW1lPSJQcm9qTmV3IiBBbGlhcz0i5paw5bu66aG555uuIiBTaG9ydEtleT0iQ3RybCtOIiBJY29uPSJOZXdQcm9qIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMiIgTmFtZT0iUHJvak9wZW4iIEFsaWFzPSLmiZPlvIDpobnnm64iIFNob3J0S2V5PSJDdHJsK08iIEljb249Ik9wZW5Qcm9qIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMyIgTmFtZT0iUHJvakNsb3NlIiBBbGlhcz0i5YWz6Zet6aG555uuIiBJY29uPSJDbG9zZVByb2oiIC8+DQogICAgICAgICAgICA8Q21kIElEPSItMSIgTmFtZT0iU2VwYXJhdG9yIiBBbGlhcz0i5YiG6ZqU56ymIiBUaXBzPSIiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA1IiBOYW1lPSJQcm9qU2F2ZSIgQWxpYXM9IuS/neWtmOmhueebriIgU2hvcnRLZXk9IkN0cmwrUyIgSWNvbj0iU2F2ZVByb2oiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA2IiBOYW1lPSJQcm9qU2F2ZUFzIiBBbGlhcz0i6aG555uu5Y+m5a2YIiBJY29uPSJTYXZlYXMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA3IiBOYW1lPSJQcm9qQ29uZmlnIiBBbGlhcz0i6aG555uu5L+h5oGvIiBJY29uPSJQcm9qSW5mbyIgLz4NCg0KICAgICAgICAgICAgPENtZCBJRD0iLTEiIE5hbWU9IlNlcGFyYXRvciIgQWxpYXM9IuWIhumalOespiIgVGlwcz0iIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDIiIE5hbWU9IkhlbHAiIEFsaWFzPSLluK7liqkoSCkiIEljb249IkhlbHAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDAwMyIgTmFtZT0iQWJvdXQiIEFsaWFzPSLlhbPkuo4oQSkiIEljb249IldUQUlBYm91dCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDA4IiBOYW1lPSJVcGRhdGVMaXN0cyIgQWxpYXM9IuabtOaWsOWIl+ihqChJKSIgSWNvbj0iVXBkYXRlTGlzdHMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSItMSIgTmFtZT0iU2VwYXJhdG9yIiBBbGlhcz0i5YiG6ZqU56ymIiBUaXBzPSIiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDEwIiBOYW1lPSJBcHBRdWl0IiBBbGlhcz0i6YCA5Ye6KFgpIiBJY29uPSJDbG9zZSIgLz4NCiAgICAgICAgPC9Hcm91cD4NCiAgICA8L1RhYj4NCg0KICAgIDxUYWIgSUQ9IjAiIE5hbWU9IldlbENvbWUiIEFsaWFzPSLlvIDlp4soTykiID4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iRGF0YU1hbmFnZXIiIEFsaWFzPSLmlbDmja7lh4blpIciPg0KICAgICAgICAgICAgPENtZCBJRD0iMTA5OSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJXZWxsTmV3IiBBbGlhcz0i5paw5bu65LqVKFcpIiBJY29uPSJXZWxsTmV3IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMjAwNSIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJEYXRhUmF0ZSIgQWxpYXM9Iua1gemHj+aVsOaNrihRKSIgRXh0SW5mbz0iUF9EQVRBX0dBVUdFX0YiIEljb249IlJhdGVEYXRhIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMjAwNiIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJEYXRhUHJlIiBBbGlhcz0i5Y6L5Yqb5pWw5o2uKFApIiBFeHRJbmZvPSJQX0RBVEFfR0FVR0VfUCIgSWNvbj0iUHJlc3N1cmVEYXRhIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJBbmFsRWRpdCIgQWxpYXM9IuWIhuaekOeuoeeQhiI+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA2IiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkFuYWxOZXciIEFsaWFzPSLmlrDlu7rliIbmnpAiIEljb249IkpvYk5ldyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDciIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iQW5hbEVkaXQiIEFsaWFzPSLliIbmnpDnrqHnkIYiIEljb249IkpvYkVkaXQiIFZpc2libGU9IjAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAxIiBCb3VuZHM9IjAsMSIgTmFtZT0iVmlzaWJsZUFuYWxCYXNpYyIgQWxpYXM9IuWfuuehgOS/oeaBryIgSWNvbj0iSW5wdXRCYXNpYyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDIiIEJvdW5kcz0iMSwxIiBOYW1lPSJWaXNpYmxlQW5hbFBWVCIgQWxpYXM9IlBWVOaVsOaNriIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iQW5hbHl0aWNhbCIgQWxpYXM9Iua1geWKqOauteWIhuaekCI+DQogICAgICAgICAgICA8Q21kIElEPSIzMDAzIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkFuYWxQRiIgQWxpYXM9Iua1geWKqOautemAieaLqSIgRXh0SW5mbz0iUEYiIEljb249IlBGIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwNCIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJBbmFsRmxvd1NlZyIgQWxpYXM9Iua1geWKqOauteWIhuaekCIgSWNvbj0iRmxvd1BlcmlvZCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iQW5hbHl0aWNhbCIgQWxpYXM9Iuino+mHiuaLn+WQiCI+DQoNCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDUiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iRGVjb252b2x2IiBBbGlhcz0i5Y+N6KS256evIiBJY29uPSJEZWNvbnZvbHYiIFZpc2libGU9IjAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMTAxIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IkZpdE1vZGVsIiBBbGlhcz0i6Kej5p6Q6KejIiBJY29uPSJGaXRNb2RlbCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDQiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0ibm1GaXRNb2RlbCIgQWxpYXM9IuaVsOWAvOinoyIgSWNvbj0iRml0TW9kZWwiIC8+DQoNCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDIiIEJvdW5kcz0iMCwzLDIsMSIgTmFtZT0iQXV0b0ZpdCIgQWxpYXM9IuiHquWKqOaLn+WQiCIgSWNvbj0iQXV0b0ZpdCIgLz4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJOdW1lcmljYWwiIEFsaWFzPSLlnLDotKjlu7rmqKEoRGVidWcpIiBWaXNpYmxlPSIwIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUwMDIiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iUHJvcGVydHlMb2FkIiBBbGlhcz0i5bGe5oCn5a+85YWlIiBJY29uPSJQcmVwYXJlR3JpZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMDIiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iUnVuR3JpZCIgQWxpYXM9Iue9keagvOWIkuWIhiIgSWNvbj0iUGxhdGVGaXQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MjAxIiBCb3VuZHM9IjAsMiwyLDEiIE5hbWU9IkFuYWxNYXAiIEFsaWFzPSLorqHnrpciIEljb249IlJ1bkV4IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTIwMiIgQm91bmRzPSIwLDMsMiwxIiBOYW1lPSJBbmFsUEYiIEFsaWFzPSLovoXliqnmi5/lkIgiIEV4dEluZm89IlBGIiBJY29uPSJSdW5PdGhlciIgVmlzaWJsZT0iMCIvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IldlbGxNYXAiIEFsaWFzPSLkupXkvY3lm74iPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwOCIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJBbmFsTWFwIiBBbGlhcz0i5LqV5L2N5Zu+IiBJY29uPSJNYXAyRCIgVmlzaWJsZT0iMSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMTgiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iQW5hbEludGVyZmVyZSIgQWxpYXM9IuW5suaJsOiuvuWumiIgSWNvbj0iTWFwMkQiIFZpc2libGU9IjAiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IldpbmRvdyIgQWxpYXM9Iueql+WPo+aYvuekuihEZWJ1ZykiIFZpc2libGU9IjAiID4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDIiIEJvdW5kcz0iMCwwIiBOYW1lPSJWaXNpYmxlTW9kZWxzIiBBbGlhcz0i5qih5Z6L56qX5Y+jIiBJY29uPSJWaXNpYmxlTW9kZWxzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwMyIgQm91bmRzPSIxLDAiIE5hbWU9IlZpc2libGVQYXJhbWV0ZXJzIiBBbGlhcz0i5Y+C5pWw56qX5Y+jIiBJY29uPSJWaXNpYmxlUGFyYW1ldGVycyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDEiIEJvdW5kcz0iMCwxIiBOYW1lPSJWaXNpYmxlQW5hbEJhc2ljIiBBbGlhcz0i5Z+656GA5L+h5oGvIiBJY29uPSJJbnB1dEJhc2ljIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMiIgQm91bmRzPSIxLDEiIE5hbWU9IlZpc2libGVBbmFsUFZUIiBBbGlhcz0iUFZU5pWw5o2uIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMyIgQm91bmRzPSIwLDIiIE5hbWU9IlZpc2libGVBbmFsRGlmZiIgQWxpYXM9IkRJRkbmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTA0IiBCb3VuZHM9IjEsMiIgTmFtZT0iVmlzaWJsZUFuYWxQc2V1IiBBbGlhcz0i5ouf5Y6L5Yqb5pWw5o2uIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJIZWxwIiBBbGlhcz0i5biu5YqpIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDAyIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkhlbHAiIEFsaWFzPSLluK7liqkoSCkiIEljb249IkhlbHAiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICA8L1RhYj4NCg0KDQogICAgPFRhYiBJRD0iMiIgTmFtZT0iRGF0YU1hbmFnZXIiIEFsaWFzPSLmlbDmja7nrqHnkIYoRCkiID4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iRGF0YU1hbmFnZXIiIEFsaWFzPSLkupUiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTA5OSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJXZWxsTmV3IiBBbGlhcz0i5paw5bu65LqVKFcpIiBJY29uPSJXZWxsTmV3IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJEYXRhTWFuYWdlciIgQWxpYXM9IuWfuuehgOaVsOaNriI+DQogICAgICAgICAgICA8Q21kIElEPSIyMDAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkRhdGFXZWxsQmFzaWMiIEFsaWFzPSLkupXln7rnoYDmlbDmja4oQikiIEV4dEluZm89IkJfV0VMTCIgSWNvbj0iQmFzaWNEYXRhIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMjAwMiIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJEYXRhTGF5ZXIiIEFsaWFzPSLlnLDotKjliIblsYLmlbDmja4oTCkiIEV4dEluZm89IkJfTEFZRVIiIEljb249IkxheWVyRGF0YSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjIwMDMiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iRGF0YVJlcyIgQWxpYXM9IuWCqOWxguaVsOaNrihSKSIgRXh0SW5mbz0iUF9EQVRBX1JFUyIgSWNvbj0iUmVzRGF0YSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjIwMDQiIEJvdW5kcz0iMCwzLDIsMSIgTmFtZT0iRGF0YUZsdSIgQWxpYXM9Iua1geS9k+aAp+i0qOaVsOaNrihGKSIgRXh0SW5mbz0iUF9EQVRBX0ZMVUlEIiBJY29uPSJGbHVpZFByb3BlcnR5IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJEYXRhTWFuYWdlciIgQWxpYXM9IuWOi+WKm+a1gemHjyI+DQogICAgICAgICAgICA8Q21kIElEPSIyMDA1IiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkRhdGFSYXRlIiBBbGlhcz0i5rWB6YeP5pWw5o2uKFEpIiBFeHRJbmZvPSJQX0RBVEFfR0FVR0VfRiIgSWNvbj0iUmF0ZURhdGEiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIyMDA2IiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IkRhdGFQcmUiIEFsaWFzPSLljovlipvmlbDmja4oUCkiIEV4dEluZm89IlBfREFUQV9HQVVHRV9QIiBJY29uPSJQcmVzc3VyZURhdGEiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkdYNiIgQWxpYXM9IuW5s+WPsOS6kumAmiI+DQogICAgICAgICAgICA8Q21kIElEPSIyMDA3IiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9Ikd4NkNvbm5lY3RTZXJ2ZXIiIEFsaWFzPSJHWDbkupLpgJooQykiIEljb249Ikd4NkNvbm5lY3RTZXJ2ZXIiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIyMDA4IiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9Ikd4NkdldFRhc2tzIiBBbGlhcz0i6I635Y+W5Lu75YqhKEQpIiBJY29uPSJHeDZHZXRUYXNrcyIgIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjIwMDkiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iR3g2VXBkYXRlVGFza3MiIEFsaWFzPSLmm7TmlrDnirbmgIEoVSkiIEljb249Ikd4NlVwZGF0ZVRhc2tzIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgPC9UYWI+DQoNCiAgICA8VGFiIElEPSIyMDEiIE5hbWU9IkRhdGFFZGl0IiBBbGlhcz0i5pWw5o2u57yW6L6RKEUpIiA+DQogICAgICAgIDxHcm91cCBOYW1lPSJEYXRhRWRpdCIgQWxpYXM9IuaVsOaNrue8lui+kSI+DQogICAgICAgICAgICA8Q21kIElEPSIzMDAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkFuYWxGbHUiIEFsaWFzPSLmtYHph4/nvJbovpEiIEV4dEluZm89IkYiIE1kaVR5cGU9IkRhdGFFZGl0IiBJY29uPSJSYXRlRGF0YSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDIiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iQW5hbFByZXNzIiBBbGlhcz0i5Y6L5Yqb57yW6L6RIiBFeHRJbmZvPSJQIiBNZGlUeXBlPSJEYXRhRWRpdCIgSWNvbj0iUHJlc3N1cmVEYXRhIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzMwMyIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJBbmFsUHJlQ29uIiBBbGlhcz0i5Y6L5Yqb5oqY566XIiBFeHRJbmZvPSJQIiBNZGlUeXBlPSJEYXRhRWRpdCIgSWNvbj0iQW5hbFByZUNvbiIgLz4NCiAgICAgICAgPC9Hcm91cD4NCiAgICA8L1RhYj4NCg0KICAgIDxUYWIgSUQ9IjMiIE5hbWU9IkFuYWx5dGljYWxUZXN0IiBBbGlhcz0i5aSE55CG6Kej6YeKKEEpIiA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkFuYWxFZGl0IiBBbGlhcz0i5YiG5p6Q566h55CGIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDYiIEJvdW5kcz0iMCwwIiBOYW1lPSJBbmFsTmV3IiBBbGlhcz0i5paw5bu65YiG5p6QIiBJY29uPSJKb2JOZXciIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA3IiBCb3VuZHM9IjEsMCIgTmFtZT0iQW5hbEVkaXQiIEFsaWFzPSLliIbmnpDnrqHnkIYiIEljb249IkpvYkVkaXQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlNlZ0FuYWwiIEFsaWFzPSLmtYHliqjmrrXliIbmnpAiPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwMyIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJBbmFsUEYiIEFsaWFzPSLmtYHliqjmrrXpgInmi6kiIEV4dEluZm89IlBGIiBJY29uPSJQRiIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDQiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iQW5hbEZsb3dTZWciIEFsaWFzPSLmtYHliqjmrrXliIbmnpAiIEljb249IkZsb3dQZXJpb2QiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA1IiBCb3VuZHM9IjAsMiwyLDEiIE5hbWU9IkFuYWxPdGhlcnMiIEFsaWFzPSLnibnlvoHnur/liIbmnpAiIFR5cGU9IjEiICBWaXNpYmxlPSIwIiBFeHROYW1lcz0iQ2hhcnRUO0NoYXJ0U3FydFQ7Q2hhcnQyNVQ7Q2hhcnQ1VCIgRXh0SW5mbz0iQ2hhcnQgVDtDaGFydCBTcXJ0KFQpO0NoYXJ0IDAuMjVUO0NoYXJ0IC0wLjVUIiBJY29uPSJBc3Npc0FuYWwiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMDEwIiBCb3VuZHM9IjAsMywyLDEiIE5hbWU9IkFuYWxXbmRNIiBBbGlhcz0i5rWB5Yqo5q6156qX5Y+jIiBUeXBlPSIxIiBJY29uPSJBbmFsV25kTSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDkiIEJvdW5kcz0iMCw0LDIsMSIgTmFtZT0iQW5hbERpc3RyaSIgQWxpYXM9IuWIhuW4g+WbviIgVHlwZT0iMSIgRXh0TmFtZXM9IkNoYXJ0RGVuO0NoYXJ0VmlzIiBFeHRJbmZvPSLmtZPluqbliIbluIPlm7476buP5bqm5YiG5biD5Zu+IiBJY29uPSJBbmFsRGlzdHJpIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJEYXRhRml0IiBBbGlhcz0i6Kej6YeK5ouf5ZCIIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDUiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iRGVjb252b2x2IiBBbGlhcz0i5Y+N6KS256evKERlYnVnKSIgSWNvbj0iRGVjb252b2x2IiAvPg0KDQogICAgICAgICAgICA8Q21kIElEPSIzMTAxIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IkZpdE1vZGVsIiBBbGlhcz0i6Kej5p6Q6KejIiBJY29uPSJGaXRNb2RlbCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDQiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0ibm1GaXRNb2RlbCIgQWxpYXM9IuaVsOWAvOinoyIgSWNvbj0iRml0TW9kZWwiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMTAyIiBCb3VuZHM9IjAsMywyLDEiIE5hbWU9IkF1dG9GaXQiIEFsaWFzPSLoh6rliqjmi5/lkIgiIEljb249IkF1dG9GaXQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMTAzIiBCb3VuZHM9IjAsNCwyLDEiIE5hbWU9IlBsYXRlRml0IiBBbGlhcz0i5pWP5oSf5oCn5YiG5p6QIiBJY29uPSJQbGF0ZUZpdCIgLz4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJBSVRlc3QiIEFsaWFzPSLmmbrog73or5XkupUiPg0KICAgICAgICAgICAgPENtZCBJRD0iMzkwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJNb2RlbENsYXNzaWZ5IiBBbGlhcz0i5qih5Z6L6K+G5YirIiBJY29uPSJNb2RlbENsYXNzaWZ5IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJSZWxhdGl2ZVRvb2wiIEFsaWFzPSLnm7jlhbPlt6XlhbciPg0KICAgICAgICAgICAgPENtZCBJRD0iMzIwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJUaW1lIiBBbGlhcz0i5pe26Ze0IiBJY29uPSJUaW1lIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzIwMiIgQm91bmRzPSIwLDEiIE5hbWU9IlNob3dNb2RlbENoYXJ0cyIgQWxpYXM9IuaooeWei+ekuuaEjyIgSWNvbj0iU2hvd01vZGVsQ2hhcnRzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzIwNCIgQm91bmRzPSIxLDEiIE5hbWU9IlNhdmVBc01vZGVsU2tldGNoIiBBbGlhcz0i5a2Y5Li656S65oSPIiBJY29uPSJTYXZlQXNNb2RlbFNrZXRjaCIgLz4NCg0KICAgICAgIDwvR3JvdXA+DQoNCjwhLS0gICAgICAgICAgICAgICAgICAgIDxDbWQgSUQ9IjMyMDMiIEJvdW5kcz0iMCwxIiBOYW1lPSJTaG93TW9kZWxTa2V0Y2giIEFsaWFzPSLnkIborroiIEljb249IlNob3dNb2RlbFNrZXRjaCIgLz48R3JvdXAgTmFtZT0iVG9vbFMiIEFsaWFzPSLmianlsZXlip/og70iPg0KICAgICAgICAgICAgPENtZCBJRD0iOTgwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJGbG93VG9TIiBBbGlhcz0i5rWB6YeP5Y+Y6KGo55quIiBJY29uPSJGbG93VG9TIiBWaXNpYmxlPSIwIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTIwMSIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJNaXhWaXNjb3NpdHkiIEFsaWFzPSLmt7flkIjpu4/luqYiIEljb249Ik1peFZpc2Nvc2l0eSIgVmlzaWJsZT0iMCIgLz4NCiAgICAgICA8L0dyb3VwPi0tPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJKb2JzIiBBbGlhcz0i5oiQ5p6c566h55CGIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDgiIEJvdW5kcz0iMCwwIiBOYW1lPSJSc3RMb2FkIiBBbGlhcz0i5Yqg6L295oiQ5p6cIiBJY29uPSJMb2FkSm9icyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDkiIEJvdW5kcz0iMSwwIiBOYW1lPSJSc3RTYXZlIiBUeXBlPSIxIiBFeHROYW1lcz0iUnN0U2F2ZUN1cjtSc3RTYXZlQWxsIiBFeHRJbmZvPSLkv53lrZjlvZPliY3miJDmnpw75L+d5a2Y5omA5pyJ5oiQ5p6cIiBBbGlhcz0i5L+d5a2Y5oiQ5p6cIiBJY29uPSJTYXZlSm9icyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMTEiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iVG9OdW1lcmljYWwiIEFsaWFzPSJUby3mlbDlgLwiIEljb249IkxvYWRKb2JzIiBWaXNpYmxlPSIwIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJXaW5kb3ciIEFsaWFzPSLnqpflj6PmmL7npLoiPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwMiIgQm91bmRzPSIwLDAiIE5hbWU9IlZpc2libGVNb2RlbHMiIEFsaWFzPSLmqKHlnovnqpflj6MiIEljb249IlZpc2libGVNb2RlbHMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAzIiBCb3VuZHM9IjEsMCIgTmFtZT0iVmlzaWJsZVBhcmFtZXRlcnMiIEFsaWFzPSLlj4LmlbDnqpflj6MiIEljb249IlZpc2libGVQYXJhbWV0ZXJzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMSIgQm91bmRzPSIwLDEiIE5hbWU9IlZpc2libGVBbmFsQmFzaWMiIEFsaWFzPSLln7rnoYDkv6Hmga8iIEljb249IklucHV0QmFzaWMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAyIiBCb3VuZHM9IjEsMSIgTmFtZT0iVmlzaWJsZUFuYWxQVlQiIEFsaWFzPSJQVlTmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAzIiBCb3VuZHM9IjAsMiIgTmFtZT0iVmlzaWJsZUFuYWxEaWZmIiBBbGlhcz0iRElGRuaVsOaNriIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDQiIEJvdW5kcz0iMSwyIiBOYW1lPSJWaXNpYmxlQW5hbFBzZXUiIEFsaWFzPSLmi5/ljovlipvmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgIDwvR3JvdXA+DQogICAgPC9UYWI+DQoNCiAgICA8VGFiIElEPSI1IiBOYW1lPSJOdW1lcmljYWxUZXN0IiBBbGlhcz0i5pWw5YC85bu65qihKE4pIiA+DQogICAgICAgIDxHcm91cCBOYW1lPSJObU1hbmFnZXIiIEFsaWFzPSLliIbmnpDnrqHnkIYiIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iNTAwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJBbmFsTmV3IiBBbGlhcz0i5Li05pe25rWL6K+VMSIgSWNvbj0iUHJlcGFyZUdyaWQiIFZpc2libGU9IjAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MDAyIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IlByb3BlcnR5TG9hZCIgQWxpYXM9IuS4tOaXtua1i+ivlTIiIEljb249IlByZXBhcmVHcmlkIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJObUFuYWxDaGFuZ2UiIEFsaWFzPSLliIbmnpDliIfmjaIiPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEzMCIgQm91bmRzPSIwLDAiIE5hbWU9Ik5tQW5hbENoYW5nZSIgQWxpYXM9IuWIhuaekOWIh+aNoiIgSWNvbj0iSm9iRWRpdCIgLz4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJOdEluaXQiIEFsaWFzPSLmqKHlnovlh6DkvZXlr7nosaEiPg0KICAgICAgICAgICAgPENtZCBJRD0iNTExOCIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJObU1hcCIgQWxpYXM9Ik1hcCIgSWNvbj0iTm1JbWFnZSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMTkiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iTm1VbmxvY2tlZCIgQWxpYXM9IumUgeWumiIgSWNvbj0iTm1VbmxvY2tlZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMDIiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iTm1JbWFnZSIgQWxpYXM9IuayueiXj+WcsOWbviIgSWNvbj0iTm1JbWFnZSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMjAiIEJvdW5kcz0iMCwzLDIsMSIgTmFtZT0iTm1NZWFzdXJlIiBBbGlhcz0i5q+U5L6L5bC6IiBJY29uPSJObU1lYXN1cmUiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTAzIiBCb3VuZHM9IjAsNCwyLDEiIE5hbWU9Ik5tUG9seWdvbiIgQWxpYXM9IuWkmui+ueW9oui+ueeVjCIgSWNvbj0iTm1Qb2x5Z29uIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEwNCIgQm91bmRzPSIwLDUiIE5hbWU9Ik5tUG9seWdvbiIgQWxpYXM9IuefqeW9oui+ueeVjCIgSWNvbj0iTm1SZWN0YW5nbGUiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTA1IiBCb3VuZHM9IjEsNSIgTmFtZT0iTm1Qb2x5Z29uIiBBbGlhcz0i5ZyG5b2i6L6555WMIiBJY29uPSJObVJvdW5kIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEwNiIgQm91bmRzPSIwLDYsMiwxIiBOYW1lPSJObUZhdWx0IiBBbGlhcz0i5pat5bGCIiBJY29uPSJObUZhdWx0IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEwNyIgQm91bmRzPSIwLDciIE5hbWU9Ik5tV2VsbCIgQWxpYXM9IumAieaLqeS6lSIgSWNvbj0iTm1XZWxsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEwOCIgQm91bmRzPSIxLDciIE5hbWU9Ik5tV2VsbCIgQWxpYXM9IuaWsOW7uuS6lSIgSWNvbj0iTm1XZWxsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEwOSIgQm91bmRzPSIwLDgsMiwxIiBOYW1lPSJObUZhdWx0IiBBbGlhcz0i6KOC57ydIiBJY29uPSJObUZhdWx0IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTExMCIgQm91bmRzPSIwLDkiIE5hbWU9Ik5tTGltaXQiIEFsaWFzPSLljLrln58iIEljb249Ik5tTGltaXQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTExIiBCb3VuZHM9IjEsOSIgTmFtZT0iTm1SZWdpb24iIEFsaWFzPSLmoIforrDljLrln58iIEljb249Ik5tUmVnaW9uIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEyMSIgQm91bmRzPSIwLDEwLDIsMSIgTmFtZT0iTm1EZWxldGUiIEFsaWFzPSLliKDpmaQiIEljb249Ik5tRGVsZXRlIiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICA8R3JvdXAgTmFtZT0iTnRSZXNlcnZvaXIiIEFsaWFzPSLlgqjlsYLnibnlvoEiPg0KICAgICAgICAgICAgPENtZCBJRD0iNTExMiIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJObUdlb21ldHJ5IiBBbGlhcz0i5YiG5bGCIiBJY29uPSJObUdlb21ldHJ5IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTExMyIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJObVByb3BlcnRpZXMiIEFsaWFzPSLlgqjlsYLnibnmgKciIEljb249Ik5tUHJvcGVydGllcyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMjIiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iTm1ERk4iIEFsaWFzPSJERk4iIEljb249Ik5tREZOIiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICA8R3JvdXAgTmFtZT0iTnRNb2RlbCIgQWxpYXM9IuaooeWei+eUn+aIkCI+DQogICAgICAgICAgICAgPENtZCBJRD0iNTExNCIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJObUdyaWQiIEFsaWFzPSLnvZHmoLzliJLliIYiIEljb249Ik5tR3JpZCIgLz4NCiAgICAgICAgICAgICA8Q21kIElEPSI1MTE1IiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9Ik5tQ2FjdWxhdGlvbiIgQWxpYXM9Iuiuoeeul+axguinoyIgSWNvbj0iVGltZSIgLz4NCiAgICAgICAgICAgICA8IS0tDQogICAgICAgICAgICAgPENtZCBJRD0iNTExNiIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJObUJhY2siIEFsaWFzPSLlkI7lpITnkIYiIEljb249IlRpbWUiIC8+DQogICAgICAgICAgICAgPENtZCBJRD0iNTExNyIgQm91bmRzPSIwLDMsMiwxIiBOYW1lPSJObVJlc3VsdCIgQWxpYXM9Iue7k+aenCIgSWNvbj0iRmxvd1BlcmlvZCIgLz4NCiAgICAgICAgICAgICAtLT4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJOdFRvb2xzIiBBbGlhcz0i5bel5YW3Ij4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMjciIEJvdW5kcz0iMCwwIiBOYW1lPSJObUdlb1JlZmVyZW5jZSIgQWxpYXM9IuaooeWei+WPguiAg+eCueiuvue9riIgSWNvbj0iTm1HZW9SZWZlcmVuY2UiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTI4IiBCb3VuZHM9IjEsMCIgTmFtZT0iTm1Qb2ludGVyUG9zaXRpb24iIEFsaWFzPSLmqKHlnovkvY3nva7mmL7npLoiIEljb249Ik5tUG9pbnRlclBvc2l0aW9uIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEyOSIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJObU1lYXN1cmUiIEFsaWFzPSLmqKHlnovlsLrlr7jmtYvph48iIEljb249Ik5tTWVhc3VyZSIgLz4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJOdERpc3BsYXkiIEFsaWFzPSLmmL7npLoiPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEyMyIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJObVNob3ciIEFsaWFzPSLmmL7npLoiIEljb249Ik5tU2hvdyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMjQiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iTm1QcmludFByZXZpZXciIEFsaWFzPSLmiZPljbDpooTop4giIEljb249Ik5tUHJpbnRQcmV2aWV3IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEyNSIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJObVByaW50IiBBbGlhcz0i5omT5Y2wIiBJY29uPSJObVByaW50IiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IldpbmRvdyIgQWxpYXM9Iueql+WPo+aYvuekuiIgIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwMiIgQm91bmRzPSIwLDAiIE5hbWU9IlZpc2libGVNb2RlbHMiIEFsaWFzPSLmqKHlnovnqpflj6MiIEljb249IlZpc2libGVNb2RlbHMiICBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAzIiBCb3VuZHM9IjEsMCIgTmFtZT0iVmlzaWJsZVBhcmFtZXRlcnMiIEFsaWFzPSLlj4LmlbDnqpflj6MiIEljb249IlZpc2libGVQYXJhbWV0ZXJzIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMSIgQm91bmRzPSIwLDEiIE5hbWU9IlZpc2libGVBbmFsQmFzaWMiIEFsaWFzPSLln7rnoYDkv6Hmga8iIEljb249IklucHV0QmFzaWMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAyIiBCb3VuZHM9IjEsMSIgTmFtZT0iVmlzaWJsZUFuYWxQVlQiIEFsaWFzPSJQVlTmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAzIiBCb3VuZHM9IjAsMiIgTmFtZT0iVmlzaWJsZUFuYWxEaWZmIiBBbGlhcz0iRElGRuaVsOaNriIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDQiIEJvdW5kcz0iMSwyIiBOYW1lPSJWaXNpYmxlQW5hbFBzZXUiIEFsaWFzPSLmi5/ljovlipvmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9Ik5tRGVidWciIEFsaWFzPSLmoYbmnrbmtYvor5UoRGVidWcpIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjU5OTkiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iTm1EZWJ1ZyIgQWxpYXM9IuahhuaetuS7o+eggeiwg+ivlSIgSWNvbj0iUHJlcGFyZUdyaWQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCg0KICAgIDwvVGFiPg0KDQogICAgPFRhYiBJRD0iNCIgTmFtZT0iTWluaUZyYWMiIEFsaWFzPSLlsI/lnovljovoo4IoRikoRGVidWcpIiA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkFuYWxFZGl0IiBBbGlhcz0i5YiG5p6Q566h55CGIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDYiIEJvdW5kcz0iMCwwIiBOYW1lPSJBbmFsTmV3IiBBbGlhcz0i5paw5bu65YiG5p6QIiBJY29uPSJKb2JOZXciIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA3IiBCb3VuZHM9IjEsMCIgTmFtZT0iQW5hbEVkaXQiIEFsaWFzPSLliIbmnpDnrqHnkIYiIEljb249IkpvYkVkaXQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlBBIiBBbGlhcz0i5Y6L6ZmN5YiG5p6QIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjQwMDIiIEJvdW5kcz0iMCwwLDMsMSIgTmFtZT0iTWluaUZyQW5hbFBBIiBBbGlhcz0i5Y6L6ZmN5YeG5aSHIiBFeHRJbmZvPSJQRiIgSWNvbj0iUEYiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI0MDAzIiBCb3VuZHM9IjAsMSwzLDEiIE5hbWU9Ik1pbmlGclBBIiBBbGlhcz0i5Y6L6ZmN5YiG5p6QIiBJY29uPSJGbG93UGVyaW9kIiAvPg0KDQogICAgICAgICAgICA8Q21kIElEPSI0MDA0IiBCb3VuZHM9IjAsMiwzLDEiIE5hbWU9IkNhbFN1ZGRlblN0b3BQIiBBbGlhcz0i556s5pe25YGc5rO15Y6L5YqbIiBJY29uPSJSdW5FeCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjQwMDUiIEJvdW5kcz0iMCwzIiBOYW1lPSJDYWxHRnVuY3Rpb24iIEFsaWFzPSJH5Ye95pWwIiBJY29uPSJSdW5PdGhlciIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjQwMDYiIEJvdW5kcz0iMSwzIiBOYW1lPSJDYWxTcXJ0VCIgQWxpYXM9IuaXtumXtOW5s+aWueaguSIgSWNvbj0iUnVuT3RoZXIiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI0MDA3IiBCb3VuZHM9IjIsMyIgTmFtZT0iQ2FsTG9nTG9nIiBBbGlhcz0i5Y+M5a+55pWwIiBJY29uPSJSdW5PdGhlciIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJGQSIgQWxpYXM9IuaOkumHj+WIhuaekCI+DQogICAgICAgICAgICA8Q21kIElEPSI0MTAyIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9Ik1pbmlGckFuYWxGQSIgQWxpYXM9IuaOkumHj+WHhuWkhyIgRXh0SW5mbz0iSVBSIiBJY29uPSJNaW5pRnJBbmFsRkEiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI0MTAzIiBCb3VuZHM9IjAsMSIgTmFtZT0iTWluaUZyRkFVcCIgQWxpYXM9IumYtuair+WNhyIgSWNvbj0iU3RlcFVwIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNDEwNCIgQm91bmRzPSIxLDEiIE5hbWU9Ik1pbmlGckZBRG93biIgQWxpYXM9IumYtuair+mZjSIgSWNvbj0iU3RlcERvd24iIC8+DQogICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iSm9icyIgQWxpYXM9IuaIkOaenOeuoeeQhiIgIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwOCIgQm91bmRzPSIwLDAiIE5hbWU9IlJzdExvYWQiIEFsaWFzPSLliqDovb3miJDmnpwiIEljb249IkxvYWRKb2JzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwOSIgQm91bmRzPSIxLDAiIE5hbWU9IlJzdFNhdmUiIFR5cGU9IjEiIEV4dE5hbWVzPSJSc3RTYXZlQ3VyO1JzdFNhdmVBbGwiIEV4dEluZm89IuS/neWtmOW9k+WJjeaIkOaenDvkv53lrZjmiYDmnInmiJDmnpwiIEFsaWFzPSLkv53lrZjmiJDmnpwiIEljb249IlNhdmVKb2JzIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJXaW5kb3ciIEFsaWFzPSLnqpflj6PmmL7npLoiICBWaXNpYmxlPSIwIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDIiIEJvdW5kcz0iMCwwIiBOYW1lPSJWaXNpYmxlTW9kZWxzIiBBbGlhcz0i5qih5Z6L56qX5Y+jIiBJY29uPSJWaXNpYmxlTW9kZWxzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwMyIgQm91bmRzPSIxLDAiIE5hbWU9IlZpc2libGVQYXJhbWV0ZXJzIiBBbGlhcz0i5Y+C5pWw56qX5Y+jIiBJY29uPSJWaXNpYmxlUGFyYW1ldGVycyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDEiIEJvdW5kcz0iMCwxIiBOYW1lPSJWaXNpYmxlQW5hbEJhc2ljIiBBbGlhcz0i5Z+656GA5L+h5oGvIiBJY29uPSJJbnB1dEJhc2ljIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMiIgQm91bmRzPSIxLDEiIE5hbWU9IlZpc2libGVBbmFsUFZUIiBBbGlhcz0iUFZU5pWw5o2uIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMyIgQm91bmRzPSIwLDIiIE5hbWU9IlZpc2libGVBbmFsRGlmZiIgQWxpYXM9IkRJRkbmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTA0IiBCb3VuZHM9IjEsMiIgTmFtZT0iVmlzaWJsZUFuYWxQc2V1IiBBbGlhcz0i5ouf5Y6L5Yqb5pWw5o2uIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgPC9UYWI+DQoNCiAgICA8VGFiIElEPSI0MDEiIE5hbWU9IklQUiIgQWxpYXM9IuS6p+iDveivleS6lShQKSIgPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJBbmFsRWRpdCIgQWxpYXM9IuWIhuaekOeuoeeQhiI+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA2IiBCb3VuZHM9IjAsMCIgTmFtZT0iQW5hbE5ldyIgQWxpYXM9IuaWsOW7uuWIhuaekCIgSWNvbj0iSm9iTmV3IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwNyIgQm91bmRzPSIxLDAiIE5hbWU9IkFuYWxFZGl0IiBBbGlhcz0i5YiG5p6Q566h55CGIiBJY29uPSJKb2JFZGl0IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJJUFIiIEFsaWFzPSJJUFLlhYjliY3lj4LogIMoRGVidWcpIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjYwMDIiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iSVBSQW5hbCIgQWxpYXM9IklQUuWHhuWkhyIgRXh0SW5mbz0iSVBSIiBJY29uPSJJUFJBbmFsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNjAwMyIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJJUFJDYWwiIEFsaWFzPSJJUFLorqHnrpciIEljb249IklQUkNhbCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iV2R0RGF0YVByZXByb2Nlc3MiIEFsaWFzPSLmlbDmja7pooTlpITnkIYiIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iNjEwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJXZHREYXRhQXNzbiIgQWxpYXM9IuaVsOaNruW9kuS4gOWMliIgRXh0SW5mbz0iSVBSIiBJY29uPSJJUFJBbmFsIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPENtZCBJRD0iNjEwMiIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJXZHRPdGhlciIgQWxpYXM9IuWFtuWugyIgSWNvbj0iV2R0T3RoZXIiIFZpc2libGU9IjAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI2MTAzIiBCb3VuZHM9IjAsMywyLDEiIE5hbWU9IldkdFdNRiIgQWxpYXM9IuS6leetkuWkmuebuOa1gSIgSWNvbj0iV2R0V01GIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPENtZCBJRD0iNjEwNCIgQm91bmRzPSIwLDQsMiwxIiBOYW1lPSJXZHRDaG9rZSIgQWxpYXM9IuWYtOa1gSIgSWNvbj0iV2R0Q2hva2UiICBWaXNpYmxlPSIwIi8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IklQUiIgQWxpYXM9IuS6p+iDveWIhuaekCI+DQogICAgICAgICAgICA8Q21kIElEPSI2MjAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IldkdElQUkNhbCIgQWxpYXM9IuWCqOWxguS6p+iDveiuoeeulyIgSWNvbj0iSVBSQ2FsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNjIwMiIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJXZWxsUGR0eSIgQWxpYXM9IuS4gOS9k+WMluS6p+iDvSIgSWNvbj0iV2VsbFBkdHkiICBWaXNpYmxlPSIwIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNjIwMyIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJXZHRJUFJFeHQiIEFsaWFzPSLkuqfog73or5XkupVb5omp5bGVXSIgSWNvbj0iSVBSRXh0Ii8+DQogICAgICAgICAgICA8Q21kIElEPSI2MjA0IiBCb3VuZHM9IjAsMywyLDEiIE5hbWU9IldkdElQUkFuYWwiIEFsaWFzPSLlgqjlsYLkuqfog73liIbmnpAiIEljb249IklQUkFuYWwiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI2MjA1IiBCb3VuZHM9IjAsNCwyLDEiIE5hbWU9IldlbGxJbnRlZ0FuYWwiIEFsaWFzPSLnu7zlkIjliIbmnpAiIEljb249IldlbGxJbnRlZ0FuYWwiIFZpc2libGU9IjAiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IklQUiIgQWxpYXM9IuS6p+iDveiuoeeulyI+DQogICAgICAgICAgICA8Q21kIElEPSI2MzAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IldkdENhbCIgQWxpYXM9IuiuoeeulyIgSWNvbj0iUnVuRXgiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCg0KICAgICAgICA8R3JvdXAgTmFtZT0iSm9icyIgQWxpYXM9IuaIkOaenOeuoeeQhiI+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA4IiBCb3VuZHM9IjAsMCIgTmFtZT0iUnN0TG9hZCIgQWxpYXM9IuWKoOi9veaIkOaenCIgSWNvbj0iTG9hZEpvYnMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA5IiBCb3VuZHM9IjEsMCIgTmFtZT0iUnN0U2F2ZSIgVHlwZT0iMSIgRXh0TmFtZXM9IlJzdFNhdmVDdXI7UnN0U2F2ZUFsbCIgRXh0SW5mbz0i5L+d5a2Y5b2T5YmN5oiQ5p6cO+S/neWtmOaJgOacieaIkOaenCIgQWxpYXM9IuS/neWtmOaIkOaenCIgSWNvbj0iU2F2ZUpvYnMiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IldpbmRvdyIgQWxpYXM9Iueql+WPo+aYvuekuiI+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAyIiBCb3VuZHM9IjAsMCIgTmFtZT0iVmlzaWJsZU1vZGVscyIgQWxpYXM9IuaooeWei+eql+WPoyIgSWNvbj0iVmlzaWJsZU1vZGVscyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDMiIEJvdW5kcz0iMSwwIiBOYW1lPSJWaXNpYmxlUGFyYW1ldGVycyIgQWxpYXM9IuWPguaVsOeql+WPoyIgSWNvbj0iVmlzaWJsZVBhcmFtZXRlcnMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAxIiBCb3VuZHM9IjAsMSIgTmFtZT0iVmlzaWJsZUFuYWxCYXNpYyIgQWxpYXM9IuWfuuehgOS/oeaBryIgSWNvbj0iSW5wdXRCYXNpYyIgICBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAyIiBCb3VuZHM9IjAsMSIgTmFtZT0iVmlzaWJsZUFuYWxQVlQiIEFsaWFzPSJQVlTmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAzIiBCb3VuZHM9IjAsMiIgTmFtZT0iVmlzaWJsZUFuYWxEaWZmIiBBbGlhcz0iRElGRuaVsOaNriIgSWNvbj0iSW5wdXRGbHVpZCIgICBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTA0IiBCb3VuZHM9IjEsMSIgTmFtZT0iVmlzaWJsZUFuYWxQc2V1IiBBbGlhcz0i5ouf5Y6L5Yqb5pWw5o2uIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQoNCiAgICA8L1RhYj4NCg0KICAgIDxUYWIgSUQ9IjYiIE5hbWU9IkFkdmFuY2VkRnVuY3Rpb24iIEFsaWFzPSLpq5jnuqflip/og70oWCkiID4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iRGVzaWduIiBBbGlhcz0i6K+V5LqV6K6+6K6hIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjYwMDEiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iVGVzdERlc2lnbiIgQWxpYXM9IuivleS6leiuvuiuoSIgSWNvbj0iVGVzdERlc2lnbiIgRXh0SW5mbz0iUEYiICAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwNCIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJBbmFsRmxvd1NlZyIgQWxpYXM9Iua1geWKqOauteWIhuaekCIgSWNvbj0iRmxvd1BlcmlvZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDUiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iQW5hbE90aGVycyIgQWxpYXM9IueJueW+geauteWIhuaekCIgVHlwZT0iMSIgRXh0TmFtZXM9IkNoYXJ0VDtDaGFydFNxcnRUO0NoYXJ0MjVUO0NoYXJ0NVQiIEV4dEluZm89IkNoYXJ0IFQ7Q2hhcnQgU3FydChUKTtDaGFydCAwLjI1VDtDaGFydCAtMC41VCIgSWNvbj0iQXNzaXNBbmFsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwOSIgQm91bmRzPSIwLDMsMiwxIiBOYW1lPSJBbmFsRGlzdHJpIiBBbGlhcz0i5YiG5biD5Zu+IiBUeXBlPSIxIiBFeHROYW1lcz0iQ2hhcnREZW47Q2hhcnRWaXMiIEV4dEluZm89Iua1k+W6puWIhuW4g+Wbvjvpu4/luqbliIbluIPlm74iIEljb249IkFuYWxEaXN0cmkiIC8+DQoNCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iRGF0YUZpdCIgQWxpYXM9Iuino+mHiuaLn+WQiCI+DQoNCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDUiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iRGVjb252b2x2IiBBbGlhcz0i5Y+N6KS256evIiBJY29uPSJEZWNvbnZvbHYiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDEiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iRml0TW9kZWwiIEFsaWFzPSLop6PmnpDop6MiIEljb249IkZpdE1vZGVsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzEwNCIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJubUZpdE1vZGVsIiBBbGlhcz0i5pWw5YC86KejIiBJY29uPSJGaXRNb2RlbCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDIiIEJvdW5kcz0iMCwzLDIsMSIgTmFtZT0iQXV0b0ZpdCIgQWxpYXM9IuiHquWKqOaLn+WQiCIgSWNvbj0iQXV0b0ZpdCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDMiIEJvdW5kcz0iMCw0LDIsMSIgTmFtZT0iUGxhdGVGaXQiIEFsaWFzPSLmlY/mhJ/mgKfliIbmnpAiIEljb249IlBsYXRlRml0IiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkFJVGVzdCIgQWxpYXM9IuaZuuiDveivleS6lShEZWJ1ZykiPg0KICAgICAgICAgICAgPENtZCBJRD0iMzkwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJNb2RlbENsYXNzaWZ5IiBBbGlhcz0i5qih5Z6L6K+G5YirIiBJY29uPSJNb2RlbENsYXNzaWZ5IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJSZWxhdGl2ZVRvb2wiIEFsaWFzPSLnm7jlhbPlt6XlhbciIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iMzIwMSIgQm91bmRzPSIwLDAiIE5hbWU9IlRpbWUiIEFsaWFzPSLml7bpl7QiIEljb249IlRpbWUiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMjAyIiBCb3VuZHM9IjEsMCIgTmFtZT0iU2hvd01vZGVsQ2hhcnRzIiBBbGlhcz0i5qih5Z6LIiBJY29uPSJTaG93TW9kZWxDaGFydHMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMjAzIiBCb3VuZHM9IjAsMSIgTmFtZT0iU2hvd01vZGVsU2tldGNoIiBBbGlhcz0i55CG6K66IiBJY29uPSJTaG93TW9kZWxTa2V0Y2giIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMjA0IiBCb3VuZHM9IjEsMSIgTmFtZT0iU2F2ZUFzTW9kZWxTa2V0Y2giIEFsaWFzPSLlrZjkuLrnpLrmhI8iIEljb249IlNhdmVBc01vZGVsU2tldGNoIiAvPiAgICAgICAgICAgIA0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlRvb2xTIiBBbGlhcz0i5omp5bGV5Yqf6IO9IiAgVmlzaWJsZT0iMCI+DQogICAgICAgICAgICA8Q21kIElEPSI5ODAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkZsb3dUb1MiIEFsaWFzPSLmtYHph4/lj5jooajnmq4iIEljb249IkZsb3dUb1MiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MjAxIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9Ik1peFZpc2Nvc2l0eSIgQWxpYXM9Iua3t+WQiOm7j+W6piIgSWNvbj0iTWl4VmlzY29zaXR5IiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkpvYnMiIEFsaWFzPSLmiJDmnpznrqHnkIYiIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwOCIgQm91bmRzPSIwLDAiIE5hbWU9IlJzdExvYWQiIEFsaWFzPSLliqDovb3miJDmnpwiIEljb249IkxvYWRKb2JzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwOSIgQm91bmRzPSIxLDAiIE5hbWU9IlJzdFNhdmUiIFR5cGU9IjEiIEV4dE5hbWVzPSJSc3RTYXZlQ3VyO1JzdFNhdmVBbGwiIEV4dEluZm89IuS/neWtmOW9k+WJjeaIkOaenDvkv53lrZjmiYDmnInmiJDmnpwiIEFsaWFzPSLkv53lrZjmiJDmnpwiIEljb249IlNhdmVKb2JzIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJXaW5kb3ciIEFsaWFzPSLnqpflj6PmmL7npLoiIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwMiIgQm91bmRzPSIwLDAiIE5hbWU9IlZpc2libGVNb2RlbHMiIEFsaWFzPSLmqKHlnovnqpflj6MiIEljb249IlZpc2libGVNb2RlbHMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAzIiBCb3VuZHM9IjEsMCIgTmFtZT0iVmlzaWJsZVBhcmFtZXRlcnMiIEFsaWFzPSLlj4LmlbDnqpflj6MiIEljb249IlZpc2libGVQYXJhbWV0ZXJzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMSIgQm91bmRzPSIwLDEiIE5hbWU9IlZpc2libGVBbmFsQmFzaWMiIEFsaWFzPSLln7rnoYDkv6Hmga8iIEljb249IklucHV0QmFzaWMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAyIiBCb3VuZHM9IjEsMSIgTmFtZT0iVmlzaWJsZUFuYWxQVlQiIEFsaWFzPSJQVlTmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAzIiBCb3VuZHM9IjAsMiIgTmFtZT0iVmlzaWJsZUFuYWxEaWZmIiBBbGlhcz0iRElGRuaVsOaNriIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDQiIEJvdW5kcz0iMSwyIiBOYW1lPSJWaXNpYmxlQW5hbFBzZXUiIEFsaWFzPSLmi5/ljovlipvmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICA8L1RhYj4NCg0KICAgIDxUYWIgSUQ9IjciIE5hbWU9IlN5c1Rvb2wiIEFsaWFzPSLns7vnu5/phY3nva7lt6XlhbcoVCkiIFZpc2libGU9IjAiID4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iU3lzVG9vbCIgQWxpYXM9IumFjee9ruW3peWFtyI+DQogICAgICAgICAgICA8Q21kIElEPSI3MDAxIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IlN5c1Rvb2xzIiBBbGlhcz0i57O757uf6YWN572u5bel5YW3IiBJY29uPSJTeXNUb29scyIgIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9Ik1vZGVsTWFuYWdlciIgQWxpYXM9IuaooeWei+euoeeQhiI+DQogICAgICAgICAgICA8Q21kIElEPSI3MDAyIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9Ik1vZGVsU2NhbiIgQWxpYXM9IuaooeWei+afpeeciyIgSWNvbj0iTW9kZWxTY2FuIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgPC9UYWI+DQoNCiAgICA8VGFiIElEPSI4IiBOYW1lPSJSZXN1bHQiIEFsaWFzPSLmiJDmnpznrqHnkIYoUikiID4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iSm9icyIgQWxpYXM9IuaIkOaenOeuoeeQhiI+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA4IiBCb3VuZHM9IjAsMCIgTmFtZT0iUnN0TG9hZCIgQWxpYXM9IuWKoOi9veaIkOaenCIgSWNvbj0iTG9hZEpvYnMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA5IiBCb3VuZHM9IjEsMCIgTmFtZT0iUnN0U2F2ZSIgVHlwZT0iMSIgRXh0TmFtZXM9IlJzdFNhdmVDdXI7UnN0U2F2ZUFsbCIgRXh0SW5mbz0i5L+d5a2Y5b2T5YmN5oiQ5p6cO+S/neWtmOaJgOacieaIkOaenCIgQWxpYXM9IuS/neWtmOaIkOaenCIgSWNvbj0iU2F2ZUpvYnMiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlJlc0NvbXBhcmUiIEFsaWFzPSLmiJDmnpzlr7nmr5QiPg0KICAgICAgICAgICAgPENtZCBJRD0iODAwMyIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJSZXNDb21wYXJlIiBBbGlhcz0i5oiQ5p6c5a+55q+UIiBJY29uPSJSZXNDb21wYXJlIiAgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iUHJpbnQiIEFsaWFzPSLmiqXlkYrmiZPljbAiPg0KICAgICAgICAgICAgPENtZCBJRD0iODAwMSIgQm91bmRzPSIwLDAiIE5hbWU9IlJlcG9ydENvbmZpZyIgQWxpYXM9IuaKpeWRiuiuvue9riIgSWNvbj0icmVwb3J0Q29uZmlnIiAgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMDQiIEJvdW5kcz0iMSwwIiBOYW1lPSJQcmludFByZXZpZXciIEFsaWFzPSLmiqXlkYrpooTop4giIEljb249IlByZVByaW50IiAgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMDIiIEJvdW5kcz0iMCwxIiBOYW1lPSJQcmludCIgQWxpYXM9IuaJk+WNsCjlkKtQREYpIiBJY29uPSJQcmludCIgIC8+DQogICAgICAgICAgICA8Q21kIElEPSI4MDA1IiBCb3VuZHM9IjEsMSIgTmFtZT0iRXhwb3J0V29yZCIgQWxpYXM9IuWvvOWHuihXb3JkKSIgSWNvbj0iV29yZDE2IiAgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iV2luZG93IiBBbGlhcz0i56qX5Y+j5pi+56S6IiBWaXNpYmxlPSIwIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDMiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iVmlzaWJsZVBhcmFtZXRlcnMiIEFsaWFzPSLlj4LmlbDnqpflj6MiIEljb249IlZpc2libGVQYXJhbWV0ZXJzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwNCIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJWaXNpYmxlUHR5cyIgQWxpYXM9IuWxnuaAp+eql+WPoyIgSWNvbj0iUHJvcGVydHlXaW5kb3ciIC8+DQoNCiAgICAgICAgPC9Hcm91cD4NCg0KICAgIDwvVGFiPg0KDQogICAgPFRhYiBJRD0iOSIgTmFtZT0iV2luZG93IiBBbGlhcz0i56qX5Y+jKFcpIiA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IldpbmRvdyIgQWxpYXM9IuWfuuacrCI+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IlZpc2libGVQcm9qVHJlZURhIiBBbGlhcz0i6aG555uu5qCRIiBJY29uPSJQcm9qVHJlZSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDgiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iVmlzaWJsZVByb2pUcmVlSmIiIEFsaWFzPSLliIbmnpDmoJEiIEljb249IlByb2pUcmVlIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwOSIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJWaXNpYmxlUHJvalRyZWVScyIgQWxpYXM9IuaIkOaenOagkSIgSWNvbj0iUHJvalRyZWUiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAyIiBCb3VuZHM9IjAsMyIgTmFtZT0iVmlzaWJsZU1vZGVscyIgQWxpYXM9IuaooeWei+eql+WPoyIgSWNvbj0iVmlzaWJsZU1vZGVscyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDMiIEJvdW5kcz0iMSwzIiBOYW1lPSJWaXNpYmxlUGFyYW1ldGVycyIgQWxpYXM9IuWPguaVsOeql+WPoyIgSWNvbj0iVmlzaWJsZVBhcmFtZXRlcnMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDA0IiBCb3VuZHM9IjAsNCIgTmFtZT0iVmlzaWJsZVB0eXMiIEFsaWFzPSLlsZ7mgKfnqpflj6MiIEljb249IlByb3BlcnR5V2luZG93IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwNSIgQm91bmRzPSIxLDQiIE5hbWU9IlZpc2libGVMb2dzIiBBbGlhcz0i5pel5b+X56qX5Y+jIiBJY29uPSJWaXNpYmxlTG9ncyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDYiIEJvdW5kcz0iMCw1IiBOYW1lPSJTdGFja2VkUHJvamVjdCIgQWxpYXM9Iumhueebrueql+S9kyIgSWNvbj0iU3RhY2tlZFByb2plY3QiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDA3IiBCb3VuZHM9IjEsNSIgTmFtZT0iU3RhY2tlZE1kaSIgQWxpYXM9IuWIhuaekOeql+S9kyIgSWNvbj0iU3RhY2tlZE1kaSIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iV2luZG93TGF5b3V0IiBBbGlhcz0i56qX5Y+j5biD5bGAIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMTEiIEJvdW5kcz0iMCwwIiBOYW1lPSJXaW5kb3dMYXlvdXRIIiBJY29uT25seT0iMSIgVGlwcz0i5rC05bmz5biD5bGAIiBJY29uPSJXaW5kb3dMYXlvdXRIIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAxMiIgQm91bmRzPSIxLDAiIE5hbWU9IldpbmRvd0xheW91dFYiIEljb25Pbmx5PSIxIiBUaXBzPSLnq5bnm7TluIPlsYAiIEljb249IldpbmRvd0xheW91dFYiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDEzIiBCb3VuZHM9IjAsMSIgTmFtZT0iV2luZG93TGF5b3V0VCIgSWNvbk9ubHk9IjEiIFRpcHM9IuW5s+mTuuW4g+WxgCIgSWNvbj0iV2luZG93TGF5b3V0VCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMTQiIEJvdW5kcz0iMSwxIiBOYW1lPSJXaW5kb3dMYXlvdXRDIiBJY29uT25seT0iMSIgVGlwcz0i5oqY5Y+g5biD5bGAIiBJY29uPSJXaW5kb3dMYXlvdXRDIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJDbG9zZSIgQWxpYXM9IuWFs+mXrSI+ICAgICAgICANCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMjEiIEJvdW5kcz0iMCwwIiBOYW1lPSJDbG9zZUN1clduZCIgQWxpYXM9IuWFs+mXreW9k+WJjSIgSWNvbj0iQ2xvc2VBbGxXaW5kb3ciIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDIyIiBCb3VuZHM9IjEsMCIgTmFtZT0iQ2xvc2VBbGxXbmRzIiBBbGlhcz0i5YWz6Zet5omA5pyJIiBJY29uPSJDbG9zZUFsbFdpbmRvdyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMjMiIEJvdW5kcz0iMCwxIiBOYW1lPSJQcmV2V25kIiBBbGlhcz0i5LiK5LiA5LiqIiBJY29uT25seT0iMSIgSWNvbj0iVXAiIFRpcHM9IuS4iuS4gOS4queql+S9kyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMjQiIEJvdW5kcz0iMSwxIiBOYW1lPSJOZXh0V25kIiBBbGlhcz0i5LiL5LiA5LiqIiBJY29uT25seT0iMSIgSWNvbj0iRG93biIgVGlwcz0i5LiL5LiA5Liq56qX5L2TIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAyNSIgQm91bmRzPSIwLDIsMiwxIiBUeXBlPSI3IiBOYW1lPSJMaXN0V3hXbmRzIiBBbGlhcz0i56qX5L2TIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgPC9UYWI+DQoNCiAgICA8VGFiIElEPSIxMCIgTmFtZT0iSGVscCIgQWxpYXM9IuW4ruWKqShIKSIgPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJIZWxwIiBBbGlhcz0i5biu5YqpIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkxvZ1ZpZXciIEFsaWFzPSLml6Xlv5fmn6XnnIsoTCkiIEljb249IkxvZ1ZpZXciIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDAwMiIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJIZWxwIiBBbGlhcz0i5biu5YqpKEgpIiBJY29uPSJIZWxwIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDgiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iVXBkYXRlTGlzdHMiIEFsaWFzPSLmm7TmlrDliJfooagoSSkiIEljb249IlVwZGF0ZUxpc3RzIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJBYm91dCIgQWxpYXM9IuWFs+S6jiI+DQogICAgICAgICAgICA8Q21kIElEPSIxMDAwMyIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJBYm91dCIgQWxpYXM9IuWFs+S6jihBKSIgSWNvbj0iV1RBSUFib3V0IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDQiIEJvdW5kcz0iMSwwIiBOYW1lPSJBYm91dFF0IiBBbGlhcz0i5YWz5LqOUXQoUSkiIEljb249IlF0IiBWaXNpYmxlPSIwIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJMb2dpbiIgQWxpYXM9IueZu+W9lShEZWJ1ZykiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDciIEJvdW5kcz0iMCwwIiBOYW1lPSJSZWdpc3RlciIgQWxpYXM9IihEZWJ1Zynova/ku7bms6jlhowoUikiIEljb249IlJlZ2lzdGVyIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDUiIEJvdW5kcz0iMSwwIiBOYW1lPSJMb2dpbiIgQWxpYXM9IihEZWJ1ZynnlKjmiLfnmbvlvZUoVSkiIEljb249IkxvZ2luIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJEZWJ1ZyIgQWxpYXM9Iuiwg+ivlShEZWJ1ZykiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDYiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iKERlYnVnKSBTdW0gUGFyYW1ldGVycyIgQWxpYXM9IihEZWJ1ZynmsYfmgLvmqKHlnovlj4LmlbAiIEljb249IlN1bVBhcmEiIC8+DQogICAgICAgPC9Hcm91cD4NCiAgICA8L1RhYj4NCg0KPC9SaWJib24+DQo= \ No newline at end of file +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu5/nmoToj5zljZXlsYLmrKHlhbPns7so6ZKI5a+5UmliYm9u5qih5byPKSAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEF1dGhvcihzKTogd2FuZ3pnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBEYXRlOiAyMDI0MDcxOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQoNCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tDQogICAgVGFiIOe6p+WIqw0KICAgICAgICBJRDogICAgICAgICAg5ZSv5LiA5qCH6K+GDQogICAgICAgIE5hbWXvvJogICAgICAg5ZCN56ew77yM6YCa5bi46Iux5paHDQogICAgICAgIEFsaWFz77yaICAgICAg5Yir5ZCN77yM6YCa5bi45Lit5paHDQogICAgICAgIEZpbGVNb2RlOiAgICDmmK/lkKbmlofku7ZNZW515qih5byP77yMMSBvciAwDQogICAgICAgIFZpc2libGXvvJogICAg5piv5ZCm5Y+v6KeB77yMMSBvciAwDQogICAgICAgIFRpcHPvvJogICAgICAg6L6F5Yqp6K+05piODQoNCiAgICAgICAgR3JvdXAg57qn5YirDQogICAgICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICAgICAgQWxpYXPvvJogICAgICDliKvlkI3vvIzpgJrluLjkuK3mlocNCg0KICAgICAgICAgICAgQ21kIOe6p+WIqw0KICAgICAgICAgICAgICAgIElEOiAgICAgICAgICDllK/kuIDmoIfor4YNCiAgICAgICAgICAgICAgICBUeXBlOiAgICAgICAg5a+55bqU5o6n5Lu257G75Z6LOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw4oCU4oCU6buY6K6kQnV0dG9uDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDHigJTigJTluKbkuIvmi4noj5zljZVCdXR0b24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlENvbWJvQm94DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDPigJTigJRDaGVja0JveA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA04oCU4oCUUmFkaW9CdXR0b24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNeKAlOKAlFRleHQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNuKAlOKAlExhYmVsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDfigJTigJRMaXN0V2lkZ2V0DQogICAgICAgICAgICAgICAgTmFtZe+8miAgICAgICDlkI3np7DvvIzpgJrluLjoi7HmlocNCiAgICAgICAgICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KICAgICAgICAgICAgICAgIEljb27vvJogICAgICAg5Zu+5qCHDQogICAgICAgICAgICAgICAgU2hvcnRLZXnvvJogICDlv6vmjbfplK4NCiAgICAgICAgICAgICAgICBCb3VuZHM6ICAgICAg5L2N572u5L+h5oGv77yM5YWo5piv5pW05pWw77yM5ZyoR3JpZExheW91dOS4rQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCwwLDEsMikgKDAsMCkg5YiG5Yir5Li6eHl3aA0KICAgICAgICAgICAgICAgIEV4dEluZm86ICAgICDmianlsZXkv6Hmga/vvIzlpoLmk43kvZzlr7nosaHnmoTooajlkI0s5LiL5ouJ6YCJ6aG5562JDQogICAgICAgICAgICAgICAgRXh0TmFtZXM6ICAgIOaJqeWxleS/oeaBr+WvueW6lOeahE5hbWXvvIzlpoLkuIvmi4lidXR0b27lr7nlupTnmoROYW1lDQogICAgICAgICAgICAgICAgVGlwc++8miAgICAgICDovoXliqnor7TmmI4NCi0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCg0KPFJpYmJvbj4NCg0KICAgIDxUYWIgSUQ9IjEiIE5hbWU9IlByb2pNYW5hZ2VyIiBBbGlhcz0i6aG555uu566h55CGKFApIiBGaWxlTW9kZT0iMSIgPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJQcm9qZWN0IiBBbGlhcz0i5paH5Lu2Ij4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDAiIE5hbWU9IkFwcEhvbWUiIEFsaWFzPSIiIEljb249IkFwcEhvbWUxMjgiIC8+DQogICAgICAgICAgICA8Q21kIElEPSItMSIgTmFtZT0iU2VwYXJhdG9yIiBBbGlhcz0i5YiG6ZqU56ymIiBUaXBzPSIiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDAxIiBOYW1lPSJQcm9qTmV3IiBBbGlhcz0i5paw5bu66aG555uuIiBTaG9ydEtleT0iQ3RybCtOIiBJY29uPSJOZXdQcm9qIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMiIgTmFtZT0iUHJvak9wZW4iIEFsaWFzPSLmiZPlvIDpobnnm64iIFNob3J0S2V5PSJDdHJsK08iIEljb249Ik9wZW5Qcm9qIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMyIgTmFtZT0iUHJvakNsb3NlIiBBbGlhcz0i5YWz6Zet6aG555uuIiBJY29uPSJDbG9zZVByb2oiIC8+DQogICAgICAgICAgICA8Q21kIElEPSItMSIgTmFtZT0iU2VwYXJhdG9yIiBBbGlhcz0i5YiG6ZqU56ymIiBUaXBzPSIiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA1IiBOYW1lPSJQcm9qU2F2ZSIgQWxpYXM9IuS/neWtmOmhueebriIgU2hvcnRLZXk9IkN0cmwrUyIgSWNvbj0iU2F2ZVByb2oiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA2IiBOYW1lPSJQcm9qU2F2ZUFzIiBBbGlhcz0i6aG555uu5Y+m5a2YIiBJY29uPSJTYXZlYXMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA3IiBOYW1lPSJQcm9qQ29uZmlnIiBBbGlhcz0i6aG555uu5L+h5oGvIiBJY29uPSJQcm9qSW5mbyIgLz4NCg0KICAgICAgICAgICAgPENtZCBJRD0iLTEiIE5hbWU9IlNlcGFyYXRvciIgQWxpYXM9IuWIhumalOespiIgVGlwcz0iIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDIiIE5hbWU9IkhlbHAiIEFsaWFzPSLluK7liqkoSCkiIEljb249IkhlbHAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDAwMyIgTmFtZT0iQWJvdXQiIEFsaWFzPSLlhbPkuo4oQSkiIEljb249IldUQUlBYm91dCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDA4IiBOYW1lPSJVcGRhdGVMaXN0cyIgQWxpYXM9IuabtOaWsOWIl+ihqChJKSIgSWNvbj0iVXBkYXRlTGlzdHMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSItMSIgTmFtZT0iU2VwYXJhdG9yIiBBbGlhcz0i5YiG6ZqU56ymIiBUaXBzPSIiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDEwIiBOYW1lPSJBcHBRdWl0IiBBbGlhcz0i6YCA5Ye6KFgpIiBJY29uPSJDbG9zZSIgLz4NCiAgICAgICAgPC9Hcm91cD4NCiAgICA8L1RhYj4NCg0KICAgIDxUYWIgSUQ9IjAiIE5hbWU9IldlbENvbWUiIEFsaWFzPSLlvIDlp4soTykiID4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iRGF0YU1hbmFnZXIiIEFsaWFzPSLmlbDmja7lh4blpIciPg0KICAgICAgICAgICAgPENtZCBJRD0iMTA5OSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJXZWxsTmV3IiBBbGlhcz0i5paw5bu65LqVKFcpIiBJY29uPSJXZWxsTmV3IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMjAwNSIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJEYXRhUmF0ZSIgQWxpYXM9Iua1gemHj+aVsOaNrihRKSIgRXh0SW5mbz0iUF9EQVRBX0dBVUdFX0YiIEljb249IlJhdGVEYXRhIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMjAwNiIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJEYXRhUHJlIiBBbGlhcz0i5Y6L5Yqb5pWw5o2uKFApIiBFeHRJbmZvPSJQX0RBVEFfR0FVR0VfUCIgSWNvbj0iUHJlc3N1cmVEYXRhIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJBbmFsRWRpdCIgQWxpYXM9IuWIhuaekOeuoeeQhiI+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA2IiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkFuYWxOZXciIEFsaWFzPSLmlrDlu7rliIbmnpAiIEljb249IkpvYk5ldyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDciIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iQW5hbEVkaXQiIEFsaWFzPSLliIbmnpDnrqHnkIYiIEljb249IkpvYkVkaXQiIFZpc2libGU9IjAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAxIiBCb3VuZHM9IjAsMSIgTmFtZT0iVmlzaWJsZUFuYWxCYXNpYyIgQWxpYXM9IuWfuuehgOS/oeaBryIgSWNvbj0iSW5wdXRCYXNpYyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDIiIEJvdW5kcz0iMSwxIiBOYW1lPSJWaXNpYmxlQW5hbFBWVCIgQWxpYXM9IlBWVOaVsOaNriIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iQW5hbHl0aWNhbCIgQWxpYXM9Iua1geWKqOauteWIhuaekCI+DQogICAgICAgICAgICA8Q21kIElEPSIzMDAzIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkFuYWxQRiIgQWxpYXM9Iua1geWKqOautemAieaLqSIgRXh0SW5mbz0iUEYiIEljb249IlBGIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwNCIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJBbmFsRmxvd1NlZyIgQWxpYXM9Iua1geWKqOauteWIhuaekCIgSWNvbj0iRmxvd1BlcmlvZCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iQW5hbHl0aWNhbCIgQWxpYXM9Iuino+mHiuaLn+WQiCI+DQoNCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDUiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iRGVjb252b2x2IiBBbGlhcz0i5Y+N6KS256evIiBJY29uPSJEZWNvbnZvbHYiIFZpc2libGU9IjAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMTAxIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IkZpdE1vZGVsIiBBbGlhcz0i6Kej5p6Q6KejIiBJY29uPSJGaXRNb2RlbCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDQiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0ibm1GaXRNb2RlbCIgQWxpYXM9IuaVsOWAvOinoyIgSWNvbj0iRml0TW9kZWwiIC8+DQoNCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDIiIEJvdW5kcz0iMCwzLDIsMSIgTmFtZT0iQXV0b0ZpdCIgQWxpYXM9IuiHquWKqOaLn+WQiCIgSWNvbj0iQXV0b0ZpdCIgLz4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJOdW1lcmljYWwiIEFsaWFzPSLlnLDotKjlu7rmqKEoRGVidWcpIiBWaXNpYmxlPSIwIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUwMDIiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iUHJvcGVydHlMb2FkIiBBbGlhcz0i5bGe5oCn5a+85YWlIiBJY29uPSJQcmVwYXJlR3JpZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMDIiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iUnVuR3JpZCIgQWxpYXM9Iue9keagvOWIkuWIhiIgSWNvbj0iUGxhdGVGaXQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MjAxIiBCb3VuZHM9IjAsMiwyLDEiIE5hbWU9IkFuYWxNYXAiIEFsaWFzPSLorqHnrpciIEljb249IlJ1bkV4IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTIwMiIgQm91bmRzPSIwLDMsMiwxIiBOYW1lPSJBbmFsUEYiIEFsaWFzPSLovoXliqnmi5/lkIgiIEV4dEluZm89IlBGIiBJY29uPSJSdW5PdGhlciIgVmlzaWJsZT0iMCIvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IldlbGxNYXAiIEFsaWFzPSLkupXkvY3lm74iPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwOCIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJBbmFsTWFwIiBBbGlhcz0i5LqV5L2N5Zu+IiBJY29uPSJNYXAyRCIgVmlzaWJsZT0iMSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMTgiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iQW5hbEludGVyZmVyZSIgQWxpYXM9IuW5suaJsOiuvuWumiIgSWNvbj0iTWFwMkQiIFZpc2libGU9IjAiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IldpbmRvdyIgQWxpYXM9Iueql+WPo+aYvuekuihEZWJ1ZykiIFZpc2libGU9IjAiID4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDIiIEJvdW5kcz0iMCwwIiBOYW1lPSJWaXNpYmxlTW9kZWxzIiBBbGlhcz0i5qih5Z6L56qX5Y+jIiBJY29uPSJWaXNpYmxlTW9kZWxzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwMyIgQm91bmRzPSIxLDAiIE5hbWU9IlZpc2libGVQYXJhbWV0ZXJzIiBBbGlhcz0i5Y+C5pWw56qX5Y+jIiBJY29uPSJWaXNpYmxlUGFyYW1ldGVycyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDEiIEJvdW5kcz0iMCwxIiBOYW1lPSJWaXNpYmxlQW5hbEJhc2ljIiBBbGlhcz0i5Z+656GA5L+h5oGvIiBJY29uPSJJbnB1dEJhc2ljIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMiIgQm91bmRzPSIxLDEiIE5hbWU9IlZpc2libGVBbmFsUFZUIiBBbGlhcz0iUFZU5pWw5o2uIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMyIgQm91bmRzPSIwLDIiIE5hbWU9IlZpc2libGVBbmFsRGlmZiIgQWxpYXM9IkRJRkbmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTA0IiBCb3VuZHM9IjEsMiIgTmFtZT0iVmlzaWJsZUFuYWxQc2V1IiBBbGlhcz0i5ouf5Y6L5Yqb5pWw5o2uIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJIZWxwIiBBbGlhcz0i5biu5YqpIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDAyIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkhlbHAiIEFsaWFzPSLluK7liqkoSCkiIEljb249IkhlbHAiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICA8L1RhYj4NCg0KDQogICAgPFRhYiBJRD0iMiIgTmFtZT0iRGF0YU1hbmFnZXIiIEFsaWFzPSLmlbDmja7nrqHnkIYoRCkiID4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iRGF0YU1hbmFnZXIiIEFsaWFzPSLkupUiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTA5OSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJXZWxsTmV3IiBBbGlhcz0i5paw5bu65LqVKFcpIiBJY29uPSJXZWxsTmV3IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJEYXRhTWFuYWdlciIgQWxpYXM9IuWfuuehgOaVsOaNriI+DQogICAgICAgICAgICA8Q21kIElEPSIyMDAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkRhdGFXZWxsQmFzaWMiIEFsaWFzPSLkupXln7rnoYDmlbDmja4oQikiIEV4dEluZm89IkJfV0VMTCIgSWNvbj0iQmFzaWNEYXRhIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMjAwMiIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJEYXRhTGF5ZXIiIEFsaWFzPSLlnLDotKjliIblsYLmlbDmja4oTCkiIEV4dEluZm89IkJfTEFZRVIiIEljb249IkxheWVyRGF0YSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjIwMDMiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iRGF0YVJlcyIgQWxpYXM9IuWCqOWxguaVsOaNrihSKSIgRXh0SW5mbz0iUF9EQVRBX1JFUyIgSWNvbj0iUmVzRGF0YSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjIwMDQiIEJvdW5kcz0iMCwzLDIsMSIgTmFtZT0iRGF0YUZsdSIgQWxpYXM9Iua1geS9k+aAp+i0qOaVsOaNrihGKSIgRXh0SW5mbz0iUF9EQVRBX0ZMVUlEIiBJY29uPSJGbHVpZFByb3BlcnR5IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJEYXRhTWFuYWdlciIgQWxpYXM9IuWOi+WKm+a1gemHjyI+DQogICAgICAgICAgICA8Q21kIElEPSIyMDA1IiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkRhdGFSYXRlIiBBbGlhcz0i5rWB6YeP5pWw5o2uKFEpIiBFeHRJbmZvPSJQX0RBVEFfR0FVR0VfRiIgSWNvbj0iUmF0ZURhdGEiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIyMDA2IiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IkRhdGFQcmUiIEFsaWFzPSLljovlipvmlbDmja4oUCkiIEV4dEluZm89IlBfREFUQV9HQVVHRV9QIiBJY29uPSJQcmVzc3VyZURhdGEiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkdYNiIgQWxpYXM9IuW5s+WPsOS6kumAmiI+DQogICAgICAgICAgICA8Q21kIElEPSIyMDA3IiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9Ikd4NkNvbm5lY3RTZXJ2ZXIiIEFsaWFzPSJHWDbkupLpgJooQykiIEljb249Ikd4NkNvbm5lY3RTZXJ2ZXIiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIyMDA4IiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9Ikd4NkdldFRhc2tzIiBBbGlhcz0i6I635Y+W5Lu75YqhKEQpIiBJY29uPSJHeDZHZXRUYXNrcyIgIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjIwMDkiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iR3g2VXBkYXRlVGFza3MiIEFsaWFzPSLmm7TmlrDnirbmgIEoVSkiIEljb249Ikd4NlVwZGF0ZVRhc2tzIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgPC9UYWI+DQoNCiAgICA8VGFiIElEPSIyMDEiIE5hbWU9IkRhdGFFZGl0IiBBbGlhcz0i5pWw5o2u57yW6L6RKEUpIiA+DQogICAgICAgIDxHcm91cCBOYW1lPSJEYXRhRWRpdCIgQWxpYXM9IuaVsOaNrue8lui+kSI+DQogICAgICAgICAgICA8Q21kIElEPSIzMDAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkFuYWxGbHUiIEFsaWFzPSLmtYHph4/nvJbovpEiIEV4dEluZm89IkYiIE1kaVR5cGU9IkRhdGFFZGl0IiBJY29uPSJSYXRlRGF0YSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDIiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iQW5hbFByZXNzIiBBbGlhcz0i5Y6L5Yqb57yW6L6RIiBFeHRJbmZvPSJQIiBNZGlUeXBlPSJEYXRhRWRpdCIgSWNvbj0iUHJlc3N1cmVEYXRhIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzMwMyIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJBbmFsUHJlQ29uIiBBbGlhcz0i5Y6L5Yqb5oqY566XIiBFeHRJbmZvPSJQIiBNZGlUeXBlPSJEYXRhRWRpdCIgSWNvbj0iQW5hbFByZUNvbiIgLz4NCiAgICAgICAgPC9Hcm91cD4NCiAgICA8L1RhYj4NCg0KICAgIDxUYWIgSUQ9IjMiIE5hbWU9IkFuYWx5dGljYWxUZXN0IiBBbGlhcz0i5aSE55CG6Kej6YeKKEEpIiA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkFuYWxFZGl0IiBBbGlhcz0i5YiG5p6Q566h55CGIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDYiIEJvdW5kcz0iMCwwIiBOYW1lPSJBbmFsTmV3IiBBbGlhcz0i5paw5bu65YiG5p6QIiBJY29uPSJKb2JOZXciIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA3IiBCb3VuZHM9IjEsMCIgTmFtZT0iQW5hbEVkaXQiIEFsaWFzPSLliIbmnpDnrqHnkIYiIEljb249IkpvYkVkaXQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlNlZ0FuYWwiIEFsaWFzPSLmtYHliqjmrrXliIbmnpAiPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwMyIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJBbmFsUEYiIEFsaWFzPSLmtYHliqjmrrXpgInmi6kiIEV4dEluZm89IlBGIiBJY29uPSJQRiIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDQiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iQW5hbEZsb3dTZWciIEFsaWFzPSLmtYHliqjmrrXliIbmnpAiIEljb249IkZsb3dQZXJpb2QiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA1IiBCb3VuZHM9IjAsMiwyLDEiIE5hbWU9IkFuYWxPdGhlcnMiIEFsaWFzPSLnibnlvoHnur/liIbmnpAiIFR5cGU9IjEiICBWaXNpYmxlPSIwIiBFeHROYW1lcz0iQ2hhcnRUO0NoYXJ0U3FydFQ7Q2hhcnQyNVQ7Q2hhcnQ1VCIgRXh0SW5mbz0iQ2hhcnQgVDtDaGFydCBTcXJ0KFQpO0NoYXJ0IDAuMjVUO0NoYXJ0IC0wLjVUIiBJY29uPSJBc3Npc0FuYWwiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMDEwIiBCb3VuZHM9IjAsMywyLDEiIE5hbWU9IkFuYWxXbmRNIiBBbGlhcz0i5rWB5Yqo5q6156qX5Y+jIiBUeXBlPSIxIiBJY29uPSJBbmFsV25kTSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDkiIEJvdW5kcz0iMCw0LDIsMSIgTmFtZT0iQW5hbERpc3RyaSIgQWxpYXM9IuWIhuW4g+WbviIgVHlwZT0iMSIgRXh0TmFtZXM9IkNoYXJ0RGVuO0NoYXJ0VmlzIiBFeHRJbmZvPSLmtZPluqbliIbluIPlm7476buP5bqm5YiG5biD5Zu+IiBJY29uPSJBbmFsRGlzdHJpIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJEYXRhRml0IiBBbGlhcz0i6Kej6YeK5ouf5ZCIIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDUiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iRGVjb252b2x2IiBBbGlhcz0i5Y+N6KS256evKERlYnVnKSIgSWNvbj0iRGVjb252b2x2IiAvPg0KDQogICAgICAgICAgICA8Q21kIElEPSIzMTAxIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IkZpdE1vZGVsIiBBbGlhcz0i6Kej5p6Q6KejIiBJY29uPSJGaXRNb2RlbCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDQiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0ibm1GaXRNb2RlbCIgQWxpYXM9IuaVsOWAvOinoyIgSWNvbj0iRml0TW9kZWwiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMTAyIiBCb3VuZHM9IjAsMywyLDEiIE5hbWU9IkF1dG9GaXQiIEFsaWFzPSLoh6rliqjmi5/lkIgiIEljb249IkF1dG9GaXQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMTAzIiBCb3VuZHM9IjAsNCwyLDEiIE5hbWU9IlBsYXRlRml0IiBBbGlhcz0i5pWP5oSf5oCn5YiG5p6QIiBJY29uPSJQbGF0ZUZpdCIgLz4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJBSVRlc3QiIEFsaWFzPSLmmbrog73or5XkupUiPg0KICAgICAgICAgICAgPENtZCBJRD0iMzkwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJNb2RlbENsYXNzaWZ5IiBBbGlhcz0i5qih5Z6L6K+G5YirIiBJY29uPSJNb2RlbENsYXNzaWZ5IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJSZWxhdGl2ZVRvb2wiIEFsaWFzPSLnm7jlhbPlt6XlhbciPg0KICAgICAgICAgICAgPENtZCBJRD0iMzIwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJUaW1lIiBBbGlhcz0i5pe26Ze0IiBJY29uPSJUaW1lIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzIwMiIgQm91bmRzPSIwLDEiIE5hbWU9IlNob3dNb2RlbENoYXJ0cyIgQWxpYXM9IuaooeWei+ekuuaEjyIgSWNvbj0iU2hvd01vZGVsQ2hhcnRzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzIwNCIgQm91bmRzPSIxLDEiIE5hbWU9IlNhdmVBc01vZGVsU2tldGNoIiBBbGlhcz0i5a2Y5Li656S65oSPIiBJY29uPSJTYXZlQXNNb2RlbFNrZXRjaCIgLz4NCg0KICAgICAgIDwvR3JvdXA+DQoNCjwhLS0gICAgICAgICAgICAgICAgICAgIDxDbWQgSUQ9IjMyMDMiIEJvdW5kcz0iMCwxIiBOYW1lPSJTaG93TW9kZWxTa2V0Y2giIEFsaWFzPSLnkIborroiIEljb249IlNob3dNb2RlbFNrZXRjaCIgLz48R3JvdXAgTmFtZT0iVG9vbFMiIEFsaWFzPSLmianlsZXlip/og70iPg0KICAgICAgICAgICAgPENtZCBJRD0iOTgwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJGbG93VG9TIiBBbGlhcz0i5rWB6YeP5Y+Y6KGo55quIiBJY29uPSJGbG93VG9TIiBWaXNpYmxlPSIwIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTIwMSIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJNaXhWaXNjb3NpdHkiIEFsaWFzPSLmt7flkIjpu4/luqYiIEljb249Ik1peFZpc2Nvc2l0eSIgVmlzaWJsZT0iMCIgLz4NCiAgICAgICA8L0dyb3VwPi0tPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJKb2JzIiBBbGlhcz0i5oiQ5p6c566h55CGIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDgiIEJvdW5kcz0iMCwwIiBOYW1lPSJSc3RMb2FkIiBBbGlhcz0i5Yqg6L295oiQ5p6cIiBJY29uPSJMb2FkSm9icyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDkiIEJvdW5kcz0iMSwwIiBOYW1lPSJSc3RTYXZlIiBUeXBlPSIxIiBFeHROYW1lcz0iUnN0U2F2ZUN1cjtSc3RTYXZlQWxsIiBFeHRJbmZvPSLkv53lrZjlvZPliY3miJDmnpw75L+d5a2Y5omA5pyJ5oiQ5p6cIiBBbGlhcz0i5L+d5a2Y5oiQ5p6cIiBJY29uPSJTYXZlSm9icyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMTEiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iVG9OdW1lcmljYWwiIEFsaWFzPSJUby3mlbDlgLwiIEljb249IkxvYWRKb2JzIiBWaXNpYmxlPSIwIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJXaW5kb3ciIEFsaWFzPSLnqpflj6PmmL7npLoiPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwMiIgQm91bmRzPSIwLDAiIE5hbWU9IlZpc2libGVNb2RlbHMiIEFsaWFzPSLmqKHlnovnqpflj6MiIEljb249IlZpc2libGVNb2RlbHMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAzIiBCb3VuZHM9IjEsMCIgTmFtZT0iVmlzaWJsZVBhcmFtZXRlcnMiIEFsaWFzPSLlj4LmlbDnqpflj6MiIEljb249IlZpc2libGVQYXJhbWV0ZXJzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMSIgQm91bmRzPSIwLDEiIE5hbWU9IlZpc2libGVBbmFsQmFzaWMiIEFsaWFzPSLln7rnoYDkv6Hmga8iIEljb249IklucHV0QmFzaWMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAyIiBCb3VuZHM9IjEsMSIgTmFtZT0iVmlzaWJsZUFuYWxQVlQiIEFsaWFzPSJQVlTmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAzIiBCb3VuZHM9IjAsMiIgTmFtZT0iVmlzaWJsZUFuYWxEaWZmIiBBbGlhcz0iRElGRuaVsOaNriIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDQiIEJvdW5kcz0iMSwyIiBOYW1lPSJWaXNpYmxlQW5hbFBzZXUiIEFsaWFzPSLmi5/ljovlipvmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgIDwvR3JvdXA+DQogICAgPC9UYWI+DQoNCiAgICA8VGFiIElEPSI1IiBOYW1lPSJOdW1lcmljYWxUZXN0IiBBbGlhcz0i5pWw5YC85bu65qihKE4pIiA+DQogICAgICAgIDxHcm91cCBOYW1lPSJObU1hbmFnZXIiIEFsaWFzPSLliIbmnpDnrqHnkIYiIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iNTAwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJBbmFsTmV3IiBBbGlhcz0i5Li05pe25rWL6K+VMSIgSWNvbj0iUHJlcGFyZUdyaWQiIFZpc2libGU9IjAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MDAyIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IlByb3BlcnR5TG9hZCIgQWxpYXM9IuS4tOaXtua1i+ivlTIiIEljb249IlByZXBhcmVHcmlkIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJObUFuYWxDaGFuZ2UiIEFsaWFzPSLliIbmnpDliIfmjaIiPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEzMCIgQm91bmRzPSIwLDAiIE5hbWU9Ik5tQW5hbENoYW5nZSIgQWxpYXM9IuWIhuaekOWIh+aNoiIgSWNvbj0iSm9iRWRpdCIgLz4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJOdEluaXQiIEFsaWFzPSLmqKHlnovlh6DkvZXlr7nosaEiPg0KICAgICAgICAgICAgPENtZCBJRD0iNTExOCIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJObU1hcCIgQWxpYXM9Ik1hcCIgSWNvbj0iTm1JbWFnZSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMTkiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iTm1VbmxvY2tlZCIgQWxpYXM9IumUgeWumiIgSWNvbj0iTm1VbmxvY2tlZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMDIiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iTm1JbWFnZSIgQWxpYXM9IuayueiXj+WcsOWbviIgSWNvbj0iTm1JbWFnZSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMjAiIEJvdW5kcz0iMCwzLDIsMSIgTmFtZT0iTm1NZWFzdXJlIiBBbGlhcz0i5q+U5L6L5bC6IiBJY29uPSJObU1lYXN1cmUiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTAzIiBCb3VuZHM9IjAsNCwyLDEiIE5hbWU9Ik5tUG9seWdvbiIgQWxpYXM9IuWkmui+ueW9oui+ueeVjCIgSWNvbj0iTm1Qb2x5Z29uIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEwNCIgQm91bmRzPSIwLDUiIE5hbWU9Ik5tUG9seWdvbiIgQWxpYXM9IuefqeW9oui+ueeVjCIgSWNvbj0iTm1SZWN0YW5nbGUiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTA1IiBCb3VuZHM9IjEsNSIgTmFtZT0iTm1Qb2x5Z29uIiBBbGlhcz0i5ZyG5b2i6L6555WMIiBJY29uPSJObVJvdW5kIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEwNiIgQm91bmRzPSIwLDYsMiwxIiBOYW1lPSJObUZhdWx0IiBBbGlhcz0i5pat5bGCIiBJY29uPSJObUZhdWx0IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEwNyIgQm91bmRzPSIwLDciIE5hbWU9Ik5tV2VsbCIgQWxpYXM9IumAieaLqeS6lSIgSWNvbj0iTm1XZWxsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEwOCIgQm91bmRzPSIxLDciIE5hbWU9Ik5tV2VsbCIgQWxpYXM9IuaWsOW7uuS6lSIgSWNvbj0iTm1XZWxsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEwOSIgQm91bmRzPSIwLDgsMiwxIiBOYW1lPSJObUZhdWx0IiBBbGlhcz0i6KOC57ydIiBJY29uPSJObUZhdWx0IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTExMCIgQm91bmRzPSIwLDkiIE5hbWU9Ik5tTGltaXQiIEFsaWFzPSLljLrln58iIEljb249Ik5tTGltaXQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTExIiBCb3VuZHM9IjEsOSIgTmFtZT0iTm1SZWdpb24iIEFsaWFzPSLmoIforrDljLrln58iIEljb249Ik5tUmVnaW9uIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEyMSIgQm91bmRzPSIwLDEwLDIsMSIgTmFtZT0iTm1EZWxldGUiIEFsaWFzPSLliKDpmaQiIEljb249Ik5tRGVsZXRlIiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICA8R3JvdXAgTmFtZT0iTnRSZXNlcnZvaXIiIEFsaWFzPSLlgqjlsYLnibnlvoEiPg0KICAgICAgICAgICAgPENtZCBJRD0iNTExMiIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJObUdlb21ldHJ5IiBBbGlhcz0i5YiG5bGCIiBJY29uPSJObUdlb21ldHJ5IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTExMyIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJObVByb3BlcnRpZXMiIEFsaWFzPSLlgqjlsYLnibnmgKciIEljb249Ik5tUHJvcGVydGllcyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMjIiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iTm1ERk4iIEFsaWFzPSJERk4iIEljb249Ik5tREZOIiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICA8R3JvdXAgTmFtZT0iTnRNb2RlbCIgQWxpYXM9IuaooeWei+eUn+aIkCI+DQogICAgICAgICAgICAgPENtZCBJRD0iNTExNCIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJObUdyaWQiIEFsaWFzPSLnvZHmoLzliJLliIYiIEljb249Ik5tR3JpZCIgLz4NCiAgICAgICAgICAgICA8Q21kIElEPSI1MTE1IiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9Ik5tQ2FjdWxhdGlvbiIgQWxpYXM9Iuiuoeeul+axguinoyIgSWNvbj0iVGltZSIgLz4NCiAgICAgICAgICAgICA8IS0tDQogICAgICAgICAgICAgPENtZCBJRD0iNTExNiIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJObUJhY2siIEFsaWFzPSLlkI7lpITnkIYiIEljb249IlRpbWUiIC8+DQogICAgICAgICAgICAgPENtZCBJRD0iNTExNyIgQm91bmRzPSIwLDMsMiwxIiBOYW1lPSJObVJlc3VsdCIgQWxpYXM9Iue7k+aenCIgSWNvbj0iRmxvd1BlcmlvZCIgLz4NCiAgICAgICAgICAgICAtLT4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJOdFRvb2xzIiBBbGlhcz0i5bel5YW3Ij4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMjciIEJvdW5kcz0iMCwwIiBOYW1lPSJObUdlb1JlZmVyZW5jZSIgQWxpYXM9IuaooeWei+WPguiAg+eCueiuvue9riIgSWNvbj0iTm1HZW9SZWZlcmVuY2UiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTI4IiBCb3VuZHM9IjEsMCIgTmFtZT0iTm1Qb2ludGVyUG9zaXRpb24iIEFsaWFzPSLmqKHlnovkvY3nva7mmL7npLoiIEljb249Ik5tUG9pbnRlclBvc2l0aW9uIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEyOSIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJObU1lYXN1cmUiIEFsaWFzPSLmqKHlnovlsLrlr7jmtYvph48iIEljb249Ik5tTWVhc3VyZSIgLz4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJOdERpc3BsYXkiIEFsaWFzPSLmmL7npLoiPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEyMyIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJObVNob3ciIEFsaWFzPSLmmL7npLoiIEljb249Ik5tU2hvdyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMjQiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iTm1QcmludFByZXZpZXciIEFsaWFzPSLmiZPljbDpooTop4giIEljb249Ik5tUHJpbnRQcmV2aWV3IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEyNSIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJObVByaW50IiBBbGlhcz0i5omT5Y2wIiBJY29uPSJObVByaW50IiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IldpbmRvdyIgQWxpYXM9Iueql+WPo+aYvuekuiIgIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwMiIgQm91bmRzPSIwLDAiIE5hbWU9IlZpc2libGVNb2RlbHMiIEFsaWFzPSLmqKHlnovnqpflj6MiIEljb249IlZpc2libGVNb2RlbHMiICBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAzIiBCb3VuZHM9IjEsMCIgTmFtZT0iVmlzaWJsZVBhcmFtZXRlcnMiIEFsaWFzPSLlj4LmlbDnqpflj6MiIEljb249IlZpc2libGVQYXJhbWV0ZXJzIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMSIgQm91bmRzPSIwLDEiIE5hbWU9IlZpc2libGVBbmFsQmFzaWMiIEFsaWFzPSLln7rnoYDkv6Hmga8iIEljb249IklucHV0QmFzaWMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAyIiBCb3VuZHM9IjEsMSIgTmFtZT0iVmlzaWJsZUFuYWxQVlQiIEFsaWFzPSJQVlTmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAzIiBCb3VuZHM9IjAsMiIgTmFtZT0iVmlzaWJsZUFuYWxEaWZmIiBBbGlhcz0iRElGRuaVsOaNriIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDQiIEJvdW5kcz0iMSwyIiBOYW1lPSJWaXNpYmxlQW5hbFBzZXUiIEFsaWFzPSLmi5/ljovlipvmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9Ik5tRGVidWciIEFsaWFzPSLmoYbmnrbmtYvor5UoRGVidWcpIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjU5OTkiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iTm1EZWJ1ZyIgQWxpYXM9IuahhuaetuS7o+eggeiwg+ivlSIgSWNvbj0iUHJlcGFyZUdyaWQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCg0KICAgIDwvVGFiPg0KDQogICAgPFRhYiBJRD0iNCIgTmFtZT0iTWluaUZyYWMiIEFsaWFzPSLlsI/lnovljovoo4IoRikoRGVidWcpIiA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkFuYWxFZGl0IiBBbGlhcz0i5YiG5p6Q566h55CGIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDYiIEJvdW5kcz0iMCwwIiBOYW1lPSJBbmFsTmV3IiBBbGlhcz0i5paw5bu65YiG5p6QIiBJY29uPSJKb2JOZXciIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA3IiBCb3VuZHM9IjEsMCIgTmFtZT0iQW5hbEVkaXQiIEFsaWFzPSLliIbmnpDnrqHnkIYiIEljb249IkpvYkVkaXQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlBBIiBBbGlhcz0i5Y6L6ZmN5YiG5p6QIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjQwMDIiIEJvdW5kcz0iMCwwLDMsMSIgTmFtZT0iTWluaUZyQW5hbFBBIiBBbGlhcz0i5Y6L6ZmN5YeG5aSHIiBFeHRJbmZvPSJQRiIgSWNvbj0iUEYiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI0MDAzIiBCb3VuZHM9IjAsMSwzLDEiIE5hbWU9Ik1pbmlGclBBIiBBbGlhcz0i5Y6L6ZmN5YiG5p6QIiBJY29uPSJGbG93UGVyaW9kIiAvPg0KDQogICAgICAgICAgICA8Q21kIElEPSI0MDA0IiBCb3VuZHM9IjAsMiwzLDEiIE5hbWU9IkNhbFN1ZGRlblN0b3BQIiBBbGlhcz0i556s5pe25YGc5rO15Y6L5YqbIiBJY29uPSJSdW5FeCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjQwMDUiIEJvdW5kcz0iMCwzIiBOYW1lPSJDYWxHRnVuY3Rpb24iIEFsaWFzPSJH5Ye95pWwIiBJY29uPSJSdW5PdGhlciIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjQwMDYiIEJvdW5kcz0iMSwzIiBOYW1lPSJDYWxTcXJ0VCIgQWxpYXM9IuaXtumXtOW5s+aWueaguSIgSWNvbj0iUnVuT3RoZXIiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI0MDA3IiBCb3VuZHM9IjIsMyIgTmFtZT0iQ2FsTG9nTG9nIiBBbGlhcz0i5Y+M5a+55pWwIiBJY29uPSJSdW5PdGhlciIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJGQSIgQWxpYXM9IuaOkumHj+WIhuaekCI+DQogICAgICAgICAgICA8Q21kIElEPSI0MTAyIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9Ik1pbmlGckFuYWxGQSIgQWxpYXM9IuaOkumHj+WHhuWkhyIgRXh0SW5mbz0iSVBSIiBJY29uPSJNaW5pRnJBbmFsRkEiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI0MTAzIiBCb3VuZHM9IjAsMSIgTmFtZT0iTWluaUZyRkFVcCIgQWxpYXM9IumYtuair+WNhyIgSWNvbj0iU3RlcFVwIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNDEwNCIgQm91bmRzPSIxLDEiIE5hbWU9Ik1pbmlGckZBRG93biIgQWxpYXM9IumYtuair+mZjSIgSWNvbj0iU3RlcERvd24iIC8+DQogICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iSm9icyIgQWxpYXM9IuaIkOaenOeuoeeQhiIgIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwOCIgQm91bmRzPSIwLDAiIE5hbWU9IlJzdExvYWQiIEFsaWFzPSLliqDovb3miJDmnpwiIEljb249IkxvYWRKb2JzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwOSIgQm91bmRzPSIxLDAiIE5hbWU9IlJzdFNhdmUiIFR5cGU9IjEiIEV4dE5hbWVzPSJSc3RTYXZlQ3VyO1JzdFNhdmVBbGwiIEV4dEluZm89IuS/neWtmOW9k+WJjeaIkOaenDvkv53lrZjmiYDmnInmiJDmnpwiIEFsaWFzPSLkv53lrZjmiJDmnpwiIEljb249IlNhdmVKb2JzIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJXaW5kb3ciIEFsaWFzPSLnqpflj6PmmL7npLoiICBWaXNpYmxlPSIwIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDIiIEJvdW5kcz0iMCwwIiBOYW1lPSJWaXNpYmxlTW9kZWxzIiBBbGlhcz0i5qih5Z6L56qX5Y+jIiBJY29uPSJWaXNpYmxlTW9kZWxzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwMyIgQm91bmRzPSIxLDAiIE5hbWU9IlZpc2libGVQYXJhbWV0ZXJzIiBBbGlhcz0i5Y+C5pWw56qX5Y+jIiBJY29uPSJWaXNpYmxlUGFyYW1ldGVycyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDEiIEJvdW5kcz0iMCwxIiBOYW1lPSJWaXNpYmxlQW5hbEJhc2ljIiBBbGlhcz0i5Z+656GA5L+h5oGvIiBJY29uPSJJbnB1dEJhc2ljIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMiIgQm91bmRzPSIxLDEiIE5hbWU9IlZpc2libGVBbmFsUFZUIiBBbGlhcz0iUFZU5pWw5o2uIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMyIgQm91bmRzPSIwLDIiIE5hbWU9IlZpc2libGVBbmFsRGlmZiIgQWxpYXM9IkRJRkbmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTA0IiBCb3VuZHM9IjEsMiIgTmFtZT0iVmlzaWJsZUFuYWxQc2V1IiBBbGlhcz0i5ouf5Y6L5Yqb5pWw5o2uIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgPC9UYWI+DQoNCiAgICA8VGFiIElEPSI0MDEiIE5hbWU9IklQUiIgQWxpYXM9IuS6p+iDveivleS6lShQKSIgPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJBbmFsRWRpdCIgQWxpYXM9IuWIhuaekOeuoeeQhiI+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA2IiBCb3VuZHM9IjAsMCIgTmFtZT0iQW5hbE5ldyIgQWxpYXM9IuaWsOW7uuWIhuaekCIgSWNvbj0iSm9iTmV3IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwNyIgQm91bmRzPSIxLDAiIE5hbWU9IkFuYWxFZGl0IiBBbGlhcz0i5YiG5p6Q566h55CGIiBJY29uPSJKb2JFZGl0IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJJUFIiIEFsaWFzPSJJUFLlhYjliY3lj4LogIMoRGVidWcpIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjYwMDIiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iSVBSQW5hbCIgQWxpYXM9IklQUuWHhuWkhyIgRXh0SW5mbz0iSVBSIiBJY29uPSJJUFJBbmFsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNjAwMyIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJJUFJDYWwiIEFsaWFzPSJJUFLorqHnrpciIEljb249IklQUkNhbCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iV2R0RGF0YVByZXByb2Nlc3MiIEFsaWFzPSLmlbDmja7pooTlpITnkIYiIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iNjEwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJXZHREYXRhQXNzbiIgQWxpYXM9IuaVsOaNruW9kuS4gOWMliIgRXh0SW5mbz0iSVBSIiBJY29uPSJJUFJBbmFsIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPENtZCBJRD0iNjEwMiIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJXZHRPdGhlciIgQWxpYXM9IuWFtuWugyIgSWNvbj0iV2R0T3RoZXIiIFZpc2libGU9IjAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI2MTAzIiBCb3VuZHM9IjAsMywyLDEiIE5hbWU9IldkdFdNRiIgQWxpYXM9IuS6leetkuWkmuebuOa1gSIgSWNvbj0iV2R0V01GIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPENtZCBJRD0iNjEwNCIgQm91bmRzPSIwLDQsMiwxIiBOYW1lPSJXZHRDaG9rZSIgQWxpYXM9IuWYtOa1gSIgSWNvbj0iV2R0Q2hva2UiICBWaXNpYmxlPSIwIi8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IklQUiIgQWxpYXM9IuS6p+iDveWIhuaekCI+DQogICAgICAgICAgICA8Q21kIElEPSI2MjAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IldkdElQUkNhbCIgQWxpYXM9IuWCqOWxguS6p+iDveiuoeeulyIgSWNvbj0iSVBSQ2FsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNjIwMiIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJXZWxsUGR0eSIgQWxpYXM9IuS4gOS9k+WMluS6p+iDvSIgSWNvbj0iV2VsbFBkdHkiICBWaXNpYmxlPSIwIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNjIwMyIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJXZHRJUFJFeHQiIEFsaWFzPSLkuqfog73or5XkupVb5omp5bGVXSIgSWNvbj0iSVBSRXh0Ii8+DQogICAgICAgICAgICA8Q21kIElEPSI2MjA0IiBCb3VuZHM9IjAsMywyLDEiIE5hbWU9IldkdElQUkFuYWwiIEFsaWFzPSLlgqjlsYLkuqfog73liIbmnpAiIEljb249IklQUkFuYWwiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI2MjA1IiBCb3VuZHM9IjAsNCwyLDEiIE5hbWU9IldlbGxJbnRlZ0FuYWwiIEFsaWFzPSLnu7zlkIjliIbmnpAiIEljb249IldlbGxJbnRlZ0FuYWwiIFZpc2libGU9IjAiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IklQUiIgQWxpYXM9IuS6p+iDveiuoeeulyI+DQogICAgICAgICAgICA8Q21kIElEPSI2MzAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IldkdENhbCIgQWxpYXM9IuiuoeeulyIgSWNvbj0iUnVuRXgiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCg0KICAgICAgICA8R3JvdXAgTmFtZT0iSm9icyIgQWxpYXM9IuaIkOaenOeuoeeQhiI+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA4IiBCb3VuZHM9IjAsMCIgTmFtZT0iUnN0TG9hZCIgQWxpYXM9IuWKoOi9veaIkOaenCIgSWNvbj0iTG9hZEpvYnMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA5IiBCb3VuZHM9IjEsMCIgTmFtZT0iUnN0U2F2ZSIgVHlwZT0iMSIgRXh0TmFtZXM9IlJzdFNhdmVDdXI7UnN0U2F2ZUFsbCIgRXh0SW5mbz0i5L+d5a2Y5b2T5YmN5oiQ5p6cO+S/neWtmOaJgOacieaIkOaenCIgQWxpYXM9IuS/neWtmOaIkOaenCIgSWNvbj0iU2F2ZUpvYnMiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IldpbmRvdyIgQWxpYXM9Iueql+WPo+aYvuekuiI+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAyIiBCb3VuZHM9IjAsMCIgTmFtZT0iVmlzaWJsZU1vZGVscyIgQWxpYXM9IuaooeWei+eql+WPoyIgSWNvbj0iVmlzaWJsZU1vZGVscyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDMiIEJvdW5kcz0iMSwwIiBOYW1lPSJWaXNpYmxlUGFyYW1ldGVycyIgQWxpYXM9IuWPguaVsOeql+WPoyIgSWNvbj0iVmlzaWJsZVBhcmFtZXRlcnMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAxIiBCb3VuZHM9IjAsMSIgTmFtZT0iVmlzaWJsZUFuYWxCYXNpYyIgQWxpYXM9IuWfuuehgOS/oeaBryIgSWNvbj0iSW5wdXRCYXNpYyIgICBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAyIiBCb3VuZHM9IjAsMSIgTmFtZT0iVmlzaWJsZUFuYWxQVlQiIEFsaWFzPSJQVlTmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAzIiBCb3VuZHM9IjAsMiIgTmFtZT0iVmlzaWJsZUFuYWxEaWZmIiBBbGlhcz0iRElGRuaVsOaNriIgSWNvbj0iSW5wdXRGbHVpZCIgICBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTA0IiBCb3VuZHM9IjEsMSIgTmFtZT0iVmlzaWJsZUFuYWxQc2V1IiBBbGlhcz0i5ouf5Y6L5Yqb5pWw5o2uIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQoNCiAgICA8L1RhYj4NCg0KICAgIDxUYWIgSUQ9IjYiIE5hbWU9IkFkdmFuY2VkRnVuY3Rpb24iIEFsaWFzPSLpq5jnuqflip/og70oWCkiID4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iRGVzaWduIiBBbGlhcz0i6K+V5LqV6K6+6K6hIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjYwMDEiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iVGVzdERlc2lnbiIgQWxpYXM9IuivleS6leiuvuiuoSIgSWNvbj0iVGVzdERlc2lnbiIgRXh0SW5mbz0iUEYiICAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwNCIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJBbmFsRmxvd1NlZyIgQWxpYXM9Iua1geWKqOauteWIhuaekCIgSWNvbj0iRmxvd1BlcmlvZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDUiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iQW5hbE90aGVycyIgQWxpYXM9IueJueW+geauteWIhuaekCIgVHlwZT0iMSIgRXh0TmFtZXM9IkNoYXJ0VDtDaGFydFNxcnRUO0NoYXJ0MjVUO0NoYXJ0NVQiIEV4dEluZm89IkNoYXJ0IFQ7Q2hhcnQgU3FydChUKTtDaGFydCAwLjI1VDtDaGFydCAtMC41VCIgSWNvbj0iQXNzaXNBbmFsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwOSIgQm91bmRzPSIwLDMsMiwxIiBOYW1lPSJBbmFsRGlzdHJpIiBBbGlhcz0i5YiG5biD5Zu+IiBUeXBlPSIxIiBFeHROYW1lcz0iQ2hhcnREZW47Q2hhcnRWaXMiIEV4dEluZm89Iua1k+W6puWIhuW4g+Wbvjvpu4/luqbliIbluIPlm74iIEljb249IkFuYWxEaXN0cmkiIC8+DQoNCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iRGF0YUZpdCIgQWxpYXM9Iuino+mHiuaLn+WQiCI+DQoNCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDUiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iRGVjb252b2x2IiBBbGlhcz0i5Y+N6KS256evIiBJY29uPSJEZWNvbnZvbHYiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDEiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iRml0TW9kZWwiIEFsaWFzPSLop6PmnpDop6MiIEljb249IkZpdE1vZGVsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzEwNCIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJubUZpdE1vZGVsIiBBbGlhcz0i5pWw5YC86KejIiBJY29uPSJGaXRNb2RlbCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDIiIEJvdW5kcz0iMCwzLDIsMSIgTmFtZT0iQXV0b0ZpdCIgQWxpYXM9IuiHquWKqOaLn+WQiCIgSWNvbj0iQXV0b0ZpdCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDMiIEJvdW5kcz0iMCw0LDIsMSIgTmFtZT0iUGxhdGVGaXQiIEFsaWFzPSLmlY/mhJ/mgKfliIbmnpAiIEljb249IlBsYXRlRml0IiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkFJVGVzdCIgQWxpYXM9IuaZuuiDveivleS6lShEZWJ1ZykiPg0KICAgICAgICAgICAgPENtZCBJRD0iMzkwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJNb2RlbENsYXNzaWZ5IiBBbGlhcz0i5qih5Z6L6K+G5YirIiBJY29uPSJNb2RlbENsYXNzaWZ5IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJSZWxhdGl2ZVRvb2wiIEFsaWFzPSLnm7jlhbPlt6XlhbciIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iMzIwMSIgQm91bmRzPSIwLDAiIE5hbWU9IlRpbWUiIEFsaWFzPSLml7bpl7QiIEljb249IlRpbWUiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMjAyIiBCb3VuZHM9IjEsMCIgTmFtZT0iU2hvd01vZGVsQ2hhcnRzIiBBbGlhcz0i5qih5Z6LIiBJY29uPSJTaG93TW9kZWxDaGFydHMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMjAzIiBCb3VuZHM9IjAsMSIgTmFtZT0iU2hvd01vZGVsU2tldGNoIiBBbGlhcz0i55CG6K66IiBJY29uPSJTaG93TW9kZWxTa2V0Y2giIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMjA0IiBCb3VuZHM9IjEsMSIgTmFtZT0iU2F2ZUFzTW9kZWxTa2V0Y2giIEFsaWFzPSLlrZjkuLrnpLrmhI8iIEljb249IlNhdmVBc01vZGVsU2tldGNoIiAvPiAgICAgICAgICAgIA0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlRvb2xTIiBBbGlhcz0i5omp5bGV5Yqf6IO9IiAgVmlzaWJsZT0iMCI+DQogICAgICAgICAgICA8Q21kIElEPSI5ODAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkZsb3dUb1MiIEFsaWFzPSLmtYHph4/lj5jooajnmq4iIEljb249IkZsb3dUb1MiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MjAxIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9Ik1peFZpc2Nvc2l0eSIgQWxpYXM9Iua3t+WQiOm7j+W6piIgSWNvbj0iTWl4VmlzY29zaXR5IiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkpvYnMiIEFsaWFzPSLmiJDmnpznrqHnkIYiIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwOCIgQm91bmRzPSIwLDAiIE5hbWU9IlJzdExvYWQiIEFsaWFzPSLliqDovb3miJDmnpwiIEljb249IkxvYWRKb2JzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwOSIgQm91bmRzPSIxLDAiIE5hbWU9IlJzdFNhdmUiIFR5cGU9IjEiIEV4dE5hbWVzPSJSc3RTYXZlQ3VyO1JzdFNhdmVBbGwiIEV4dEluZm89IuS/neWtmOW9k+WJjeaIkOaenDvkv53lrZjmiYDmnInmiJDmnpwiIEFsaWFzPSLkv53lrZjmiJDmnpwiIEljb249IlNhdmVKb2JzIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJXaW5kb3ciIEFsaWFzPSLnqpflj6PmmL7npLoiIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwMiIgQm91bmRzPSIwLDAiIE5hbWU9IlZpc2libGVNb2RlbHMiIEFsaWFzPSLmqKHlnovnqpflj6MiIEljb249IlZpc2libGVNb2RlbHMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAzIiBCb3VuZHM9IjEsMCIgTmFtZT0iVmlzaWJsZVBhcmFtZXRlcnMiIEFsaWFzPSLlj4LmlbDnqpflj6MiIEljb249IlZpc2libGVQYXJhbWV0ZXJzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMSIgQm91bmRzPSIwLDEiIE5hbWU9IlZpc2libGVBbmFsQmFzaWMiIEFsaWFzPSLln7rnoYDkv6Hmga8iIEljb249IklucHV0QmFzaWMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAyIiBCb3VuZHM9IjEsMSIgTmFtZT0iVmlzaWJsZUFuYWxQVlQiIEFsaWFzPSJQVlTmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAzIiBCb3VuZHM9IjAsMiIgTmFtZT0iVmlzaWJsZUFuYWxEaWZmIiBBbGlhcz0iRElGRuaVsOaNriIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDQiIEJvdW5kcz0iMSwyIiBOYW1lPSJWaXNpYmxlQW5hbFBzZXUiIEFsaWFzPSLmi5/ljovlipvmlbDmja4iIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICA8L1RhYj4NCg0KICAgIDxUYWIgSUQ9IjciIE5hbWU9IlN5c1Rvb2wiIEFsaWFzPSLns7vnu5/phY3nva7lt6XlhbcoVCkiIFZpc2libGU9IjAiID4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iU3lzVG9vbCIgQWxpYXM9IumFjee9ruW3peWFtyI+DQogICAgICAgICAgICA8Q21kIElEPSI3MDAxIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IlN5c1Rvb2xzIiBBbGlhcz0i57O757uf6YWN572u5bel5YW3IiBJY29uPSJTeXNUb29scyIgIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9Ik1vZGVsTWFuYWdlciIgQWxpYXM9IuaooeWei+euoeeQhiI+DQogICAgICAgICAgICA8Q21kIElEPSI3MDAyIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9Ik1vZGVsU2NhbiIgQWxpYXM9IuaooeWei+afpeeciyIgSWNvbj0iTW9kZWxTY2FuIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgPC9UYWI+DQoNCiAgICA8VGFiIElEPSI4IiBOYW1lPSJSZXN1bHQiIEFsaWFzPSLmiJDmnpznrqHnkIYoUikiID4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iSm9icyIgQWxpYXM9IuaIkOaenOeuoeeQhiI+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA4IiBCb3VuZHM9IjAsMCIgTmFtZT0iUnN0TG9hZCIgQWxpYXM9IuWKoOi9veaIkOaenCIgSWNvbj0iTG9hZEpvYnMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA5IiBCb3VuZHM9IjEsMCIgTmFtZT0iUnN0U2F2ZSIgVHlwZT0iMSIgRXh0TmFtZXM9IlJzdFNhdmVDdXI7UnN0U2F2ZUFsbCIgRXh0SW5mbz0i5L+d5a2Y5b2T5YmN5oiQ5p6cO+S/neWtmOaJgOacieaIkOaenCIgQWxpYXM9IuS/neWtmOaIkOaenCIgSWNvbj0iU2F2ZUpvYnMiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlJlc0NvbXBhcmUiIEFsaWFzPSLmiJDmnpzlr7nmr5QiPg0KICAgICAgICAgICAgPENtZCBJRD0iODAwMyIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJSZXNDb21wYXJlIiBBbGlhcz0i5oiQ5p6c5a+55q+UIiBJY29uPSJSZXNDb21wYXJlIiAgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iUHJpbnQiIEFsaWFzPSLmiqXlkYrmiZPljbAiPg0KICAgICAgICAgICAgPENtZCBJRD0iODAwMSIgQm91bmRzPSIwLDAiIE5hbWU9IlJlcG9ydENvbmZpZyIgQWxpYXM9IuaKpeWRiuiuvue9riIgSWNvbj0icmVwb3J0Q29uZmlnIiAgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMDQiIEJvdW5kcz0iMSwwIiBOYW1lPSJQcmludFByZXZpZXciIEFsaWFzPSLmiqXlkYrpooTop4giIEljb249IlByZVByaW50IiAgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMDIiIEJvdW5kcz0iMCwxIiBOYW1lPSJQcmludCIgQWxpYXM9IuaJk+WNsCjlkKtQREYpIiBJY29uPSJQcmludCIgIC8+DQogICAgICAgICAgICA8Q21kIElEPSI4MDA1IiBCb3VuZHM9IjEsMSIgTmFtZT0iRXhwb3J0V29yZCIgQWxpYXM9IuWvvOWHuihXb3JkKSIgSWNvbj0iV29yZDE2IiAgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iV2luZG93IiBBbGlhcz0i56qX5Y+j5pi+56S6IiBWaXNpYmxlPSIwIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDMiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iVmlzaWJsZVBhcmFtZXRlcnMiIEFsaWFzPSLlj4LmlbDnqpflj6MiIEljb249IlZpc2libGVQYXJhbWV0ZXJzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwNCIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJWaXNpYmxlUHR5cyIgQWxpYXM9IuWxnuaAp+eql+WPoyIgSWNvbj0iUHJvcGVydHlXaW5kb3ciIC8+DQoNCiAgICAgICAgPC9Hcm91cD4NCg0KICAgIDwvVGFiPg0KDQogICAgPFRhYiBJRD0iOSIgTmFtZT0iV2luZG93IiBBbGlhcz0i56qX5Y+jKFcpIiA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IldpbmRvdyIgQWxpYXM9IuWfuuacrCI+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IlZpc2libGVQcm9qVHJlZURhIiBBbGlhcz0i6aG555uu5qCRIiBJY29uPSJQcm9qVHJlZSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDgiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iVmlzaWJsZVByb2pUcmVlSmIiIEFsaWFzPSLliIbmnpDmoJEiIEljb249IlByb2pUcmVlIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwOSIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJWaXNpYmxlUHJvalRyZWVScyIgQWxpYXM9IuaIkOaenOagkSIgSWNvbj0iUHJvalRyZWUiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAyIiBCb3VuZHM9IjAsMyIgTmFtZT0iVmlzaWJsZU1vZGVscyIgQWxpYXM9IuaooeWei+eql+WPoyIgSWNvbj0iVmlzaWJsZU1vZGVscyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDMiIEJvdW5kcz0iMSwzIiBOYW1lPSJWaXNpYmxlUGFyYW1ldGVycyIgQWxpYXM9IuWPguaVsOeql+WPoyIgSWNvbj0iVmlzaWJsZVBhcmFtZXRlcnMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDA0IiBCb3VuZHM9IjAsNCIgTmFtZT0iVmlzaWJsZVB0eXMiIEFsaWFzPSLlsZ7mgKfnqpflj6MiIEljb249IlByb3BlcnR5V2luZG93IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwNSIgQm91bmRzPSIxLDQiIE5hbWU9IlZpc2libGVMb2dzIiBBbGlhcz0i5pel5b+X56qX5Y+jIiBJY29uPSJWaXNpYmxlTG9ncyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDYiIEJvdW5kcz0iMCw1IiBOYW1lPSJTdGFja2VkUHJvamVjdCIgQWxpYXM9Iumhueebrueql+S9kyIgSWNvbj0iU3RhY2tlZFByb2plY3QiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDA3IiBCb3VuZHM9IjEsNSIgTmFtZT0iU3RhY2tlZE1kaSIgQWxpYXM9IuWIhuaekOeql+S9kyIgSWNvbj0iU3RhY2tlZE1kaSIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iV2luZG93TGF5b3V0IiBBbGlhcz0i56qX5Y+j5biD5bGAIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMTEiIEJvdW5kcz0iMCwwIiBOYW1lPSJXaW5kb3dMYXlvdXRIIiBJY29uT25seT0iMSIgVGlwcz0i5rC05bmz5biD5bGAIiBJY29uPSJXaW5kb3dMYXlvdXRIIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAxMiIgQm91bmRzPSIxLDAiIE5hbWU9IldpbmRvd0xheW91dFYiIEljb25Pbmx5PSIxIiBUaXBzPSLnq5bnm7TluIPlsYAiIEljb249IldpbmRvd0xheW91dFYiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDEzIiBCb3VuZHM9IjAsMSIgTmFtZT0iV2luZG93TGF5b3V0VCIgSWNvbk9ubHk9IjEiIFRpcHM9IuW5s+mTuuW4g+WxgCIgSWNvbj0iV2luZG93TGF5b3V0VCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMTQiIEJvdW5kcz0iMSwxIiBOYW1lPSJXaW5kb3dMYXlvdXRDIiBJY29uT25seT0iMSIgVGlwcz0i5oqY5Y+g5biD5bGAIiBJY29uPSJXaW5kb3dMYXlvdXRDIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJDbG9zZSIgQWxpYXM9IuWFs+mXrSI+ICAgICAgICANCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMjEiIEJvdW5kcz0iMCwwIiBOYW1lPSJDbG9zZUN1clduZCIgQWxpYXM9IuWFs+mXreW9k+WJjSIgSWNvbj0iQ2xvc2VBbGxXaW5kb3ciIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDIyIiBCb3VuZHM9IjEsMCIgTmFtZT0iQ2xvc2VBbGxXbmRzIiBBbGlhcz0i5YWz6Zet5omA5pyJIiBJY29uPSJDbG9zZUFsbFdpbmRvdyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMjMiIEJvdW5kcz0iMCwxIiBOYW1lPSJQcmV2V25kIiBBbGlhcz0i5LiK5LiA5LiqIiBJY29uT25seT0iMSIgSWNvbj0iVXAiIFRpcHM9IuS4iuS4gOS4queql+S9kyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMjQiIEJvdW5kcz0iMSwxIiBOYW1lPSJOZXh0V25kIiBBbGlhcz0i5LiL5LiA5LiqIiBJY29uT25seT0iMSIgSWNvbj0iRG93biIgVGlwcz0i5LiL5LiA5Liq56qX5L2TIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAyNSIgQm91bmRzPSIwLDIsMiwxIiBUeXBlPSI3IiBOYW1lPSJMaXN0V3hXbmRzIiBBbGlhcz0i56qX5L2TIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgPC9UYWI+DQoNCiAgICA8VGFiIElEPSIxMCIgTmFtZT0iSGVscCIgQWxpYXM9IuW4ruWKqShIKSIgPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJIZWxwIiBBbGlhcz0i5biu5YqpIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkxvZ1ZpZXciIEFsaWFzPSLml6Xlv5fmn6XnnIsoTCkiIEljb249IkxvZ1ZpZXciIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDAwMiIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJIZWxwIiBBbGlhcz0i5biu5YqpKEgpIiBJY29uPSJIZWxwIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDgiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iVXBkYXRlTGlzdHMiIEFsaWFzPSLmm7TmlrDliJfooagoSSkiIEljb249IlVwZGF0ZUxpc3RzIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJMYW5nIiBBbGlhcz0i6K+t6KiAIj4NCiAgICAgICAgICAgPENtZCBJRD0iMTAwMDkiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iTGFuZ1N3YXAiIEFsaWFzPSLliIfmjaLor63oqIAiIEljb249IkxhbmdTd2FwIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJBYm91dCIgQWxpYXM9IuWFs+S6jiI+DQogICAgICAgICAgICA8Q21kIElEPSIxMDAwMyIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJBYm91dCIgQWxpYXM9IuWFs+S6jihBKSIgSWNvbj0iV1RBSUFib3V0IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDQiIEJvdW5kcz0iMSwwIiBOYW1lPSJBYm91dFF0IiBBbGlhcz0i5YWz5LqOUXQoUSkiIEljb249IlF0IiBWaXNpYmxlPSIwIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJMb2dpbiIgQWxpYXM9IueZu+W9lShEZWJ1ZykiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDciIEJvdW5kcz0iMCwwIiBOYW1lPSJSZWdpc3RlciIgQWxpYXM9IihEZWJ1Zynova/ku7bms6jlhowoUikiIEljb249IlJlZ2lzdGVyIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDUiIEJvdW5kcz0iMSwwIiBOYW1lPSJMb2dpbiIgQWxpYXM9IihEZWJ1ZynnlKjmiLfnmbvlvZUoVSkiIEljb249IkxvZ2luIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJEZWJ1ZyIgQWxpYXM9Iuiwg+ivlShEZWJ1ZykiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDYiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iKERlYnVnKSBTdW0gUGFyYW1ldGVycyIgQWxpYXM9IihEZWJ1ZynmsYfmgLvmqKHlnovlj4LmlbAiIEljb249IlN1bVBhcmEiIC8+DQogICAgICAgPC9Hcm91cD4NCiAgICA8L1RhYj4NCg0KPC9SaWJib24+DQo= \ No newline at end of file diff --git a/Bin/Config/Common/MenuDefines_Ribbon_en.dat b/Bin/Config/Common/MenuDefines_Ribbon_en.dat new file mode 100644 index 0000000..5cdd7c5 --- /dev/null +++ b/Bin/Config/Common/MenuDefines_Ribbon_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu5/nmoToj5zljZXlsYLmrKHlhbPns7so6ZKI5a+5UmliYm9u5qih5byPKSAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEF1dGhvcihzKTogd2FuZ3pnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBEYXRlOiAyMDI0MDcxOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQoNCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tDQogICAgVGFiIOe6p+WIqw0KICAgICAgICBJRDogICAgICAgICAg5ZSv5LiA5qCH6K+GDQogICAgICAgIE5hbWXvvJogICAgICAg5ZCN56ew77yM6YCa5bi46Iux5paHDQogICAgICAgIEFsaWFz77yaICAgICAg5Yir5ZCN77yM6YCa5bi45Lit5paHDQogICAgICAgIEZpbGVNb2RlOiAgICDmmK/lkKbmlofku7ZNZW515qih5byP77yMMSBvciAwDQogICAgICAgIFZpc2libGXvvJogICAg5piv5ZCm5Y+v6KeB77yMMSBvciAwDQogICAgICAgIFRpcHPvvJogICAgICAg6L6F5Yqp6K+05piODQoNCiAgICAgICAgR3JvdXAg57qn5YirDQogICAgICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICAgICAgQWxpYXPvvJogICAgICDliKvlkI3vvIzpgJrluLjkuK3mlocNCg0KICAgICAgICAgICAgQ21kIOe6p+WIqw0KICAgICAgICAgICAgICAgIElEOiAgICAgICAgICDllK/kuIDmoIfor4YNCiAgICAgICAgICAgICAgICBUeXBlOiAgICAgICAg5a+55bqU5o6n5Lu257G75Z6LOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw4oCU4oCU6buY6K6kQnV0dG9uDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDHigJTigJTluKbkuIvmi4noj5zljZVCdXR0b24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlENvbWJvQm94DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDPigJTigJRDaGVja0JveA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA04oCU4oCUUmFkaW9CdXR0b24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNeKAlOKAlFRleHQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNuKAlOKAlExhYmVsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDfigJTigJRMaXN0V2lkZ2V0DQogICAgICAgICAgICAgICAgTmFtZe+8miAgICAgICDlkI3np7DvvIzpgJrluLjoi7HmlocNCiAgICAgICAgICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KICAgICAgICAgICAgICAgIEljb27vvJogICAgICAg5Zu+5qCHDQogICAgICAgICAgICAgICAgU2hvcnRLZXnvvJogICDlv6vmjbfplK4NCiAgICAgICAgICAgICAgICBCb3VuZHM6ICAgICAg5L2N572u5L+h5oGv77yM5YWo5piv5pW05pWw77yM5ZyoR3JpZExheW91dOS4rQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCwwLDEsMikgKDAsMCkg5YiG5Yir5Li6eHl3aA0KICAgICAgICAgICAgICAgIEV4dEluZm86ICAgICDmianlsZXkv6Hmga/vvIzlpoLmk43kvZzlr7nosaHnmoTooajlkI0s5LiL5ouJ6YCJ6aG5562JDQogICAgICAgICAgICAgICAgRXh0TmFtZXM6ICAgIOaJqeWxleS/oeaBr+WvueW6lOeahE5hbWXvvIzlpoLkuIvmi4lidXR0b27lr7nlupTnmoROYW1lDQogICAgICAgICAgICAgICAgVGlwc++8miAgICAgICDovoXliqnor7TmmI4NCi0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCg0KPFJpYmJvbj4NCg0KICAgIDxUYWIgSUQ9IjEiIE5hbWU9IlByb2pNYW5hZ2VyIiBBbGlhcz0iUHJvaiBNYW5hZ2VyIiBGaWxlTW9kZT0iMSIgPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJQcm9qZWN0IiBBbGlhcz0iRmlsZSI+DQogICAgICAgICAgICA8Q21kIElEPSIxMDAwIiBOYW1lPSJBcHBIb21lIiBBbGlhcz0iIiBJY29uPSJBcHBIb21lMTI4IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iLTEiIE5hbWU9IlNlcGFyYXRvciIgQWxpYXM9IlNlcGFyYXRvciIgVGlwcz0iIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMSIgTmFtZT0iUHJvak5ldyIgQWxpYXM9Ik5ldyBwcm9qZWN0IiBTaG9ydEtleT0iQ3RybCtOIiBJY29uPSJOZXdQcm9qIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMiIgTmFtZT0iUHJvak9wZW4iIEFsaWFzPSJPcGVuIHByb2plY3QiIFNob3J0S2V5PSJDdHJsK08iIEljb249Ik9wZW5Qcm9qIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMyIgTmFtZT0iUHJvakNsb3NlIiBBbGlhcz0iQ2xvc2UgcHJvamVjdCIgSWNvbj0iQ2xvc2VQcm9qIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iLTEiIE5hbWU9IlNlcGFyYXRvciIgQWxpYXM9IlNlcGFyYXRvciIgVGlwcz0iIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwNSIgTmFtZT0iUHJvalNhdmUiIEFsaWFzPSJTYXZlIHByb2plY3QiIFNob3J0S2V5PSJDdHJsK1MiIEljb249IlNhdmVQcm9qIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwNiIgTmFtZT0iUHJvalNhdmVBcyIgQWxpYXM9IlNhdmUgcHJvamVjdCBhcyIgSWNvbj0iU2F2ZWFzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwNyIgTmFtZT0iUHJvakNvbmZpZyIgQWxpYXM9IlByb2plY3RJbmZvIiBJY29uPSJQcm9qSW5mbyIgLz4NCg0KICAgICAgICAgICAgPENtZCBJRD0iLTEiIE5hbWU9IlNlcGFyYXRvciIgQWxpYXM9IlNlcGFyYXRvciIgVGlwcz0iIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDIiIE5hbWU9IkhlbHAiIEFsaWFzPSJIZWxwIiBJY29uPSJIZWxwIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDMiIE5hbWU9IkFib3V0IiBBbGlhcz0iQWJvdXQiIEljb249IldUQUlBYm91dCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDA4IiBOYW1lPSJVcGRhdGVMaXN0cyIgQWxpYXM9IlVwZGF0ZSBsaXN0cyIgSWNvbj0iVXBkYXRlTGlzdHMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSItMSIgTmFtZT0iU2VwYXJhdG9yIiBBbGlhcz0iU2VwYXJhdG9yIiBUaXBzPSIiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDEwIiBOYW1lPSJBcHBRdWl0IiBBbGlhcz0iUXVpdChYKSIgSWNvbj0iQ2xvc2UiIC8+DQogICAgICAgIDwvR3JvdXA+DQogICAgPC9UYWI+DQoNCiAgICA8VGFiIElEPSIwIiBOYW1lPSJXZWxDb21lIiBBbGlhcz0iU3RhcnQiID4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iRGF0YU1hbmFnZXIiIEFsaWFzPSJEYXRhIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwOTkiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iV2VsbE5ldyIgQWxpYXM9Ik5ldyB3ZWxsIiBJY29uPSJXZWxsTmV3IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMjAwNSIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJEYXRhUmF0ZSIgQWxpYXM9IlJhdGUiIEV4dEluZm89IlBfREFUQV9HQVVHRV9GIiBJY29uPSJSYXRlRGF0YSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjIwMDYiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iRGF0YVByZSIgQWxpYXM9IlByZXNzdXJlIiBFeHRJbmZvPSJQX0RBVEFfR0FVR0VfUCIgSWNvbj0iUHJlc3N1cmVEYXRhIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJBbmFsRWRpdCIgQWxpYXM9IkFuYWwiPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwNiIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJBbmFsTmV3IiBBbGlhcz0iTmV3IGFuYWx5c2lzIiBJY29uPSJKb2JOZXciIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA3IiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IkFuYWxFZGl0IiBBbGlhcz0iTWFuYWdpbmciIEljb249IkpvYkVkaXQiIFZpc2libGU9IjAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAxIiBCb3VuZHM9IjAsMSIgTmFtZT0iVmlzaWJsZUFuYWxCYXNpYyIgQWxpYXM9IkJhc2ljIGluZm8iIEljb249IklucHV0QmFzaWMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAyIiBCb3VuZHM9IjEsMSIgTmFtZT0iVmlzaWJsZUFuYWxQVlQiIEFsaWFzPSJQVlQgaW5mbyIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iQW5hbHl0aWNhbCIgQWxpYXM9IkZsb3cgcGVyaW9kIGFuYWwiPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwMyIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJBbmFsUEYiIEFsaWFzPSJQZXJpb2Qgc2VsZWN0IiBFeHRJbmZvPSJQRiIgSWNvbj0iUEYiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA0IiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IkFuYWxGbG93U2VnIiBBbGlhcz0iUGVyaW9kIGFuYWwiIEljb249IkZsb3dQZXJpb2QiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkFuYWx5dGljYWwiIEFsaWFzPSJJbnRlcnByZXRhdGlvbiBGaXR0aW5nIj4NCg0KICAgICAgICAgICAgPENtZCBJRD0iMzEwNSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJEZWNvbnZvbHYiIEFsaWFzPSJEZWNvbnZvbHV0aW9uIiBJY29uPSJEZWNvbnZvbHYiIFZpc2libGU9IjAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMTAxIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IkZpdE1vZGVsIiBBbGlhcz0iQW5hbHl0aWNhbCIgSWNvbj0iRml0TW9kZWwiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMTA0IiBCb3VuZHM9IjAsMiwyLDEiIE5hbWU9Im5tRml0TW9kZWwiIEFsaWFzPSJOdW1lcmljYWwiIEljb249IkZpdE1vZGVsIiAvPg0KDQogICAgICAgICAgICA8Q21kIElEPSIzMTAyIiBCb3VuZHM9IjAsMywyLDEiIE5hbWU9IkF1dG9GaXQiIEFsaWFzPSJGaXR0aW5nIiBJY29uPSJBdXRvRml0IiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9Ik51bWVyaWNhbCIgQWxpYXM9Ikdlb2xvZ2ljYWwgTW9kZWxpbmcoRGVidWcpIiBWaXNpYmxlPSIwIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUwMDIiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iUHJvcGVydHlMb2FkIiBBbGlhcz0iUHJvcGVydHkgSW1wb3J0IiBJY29uPSJQcmVwYXJlR3JpZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMDIiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iUnVuR3JpZCIgQWxpYXM9IkdyaWQgR2VuZXJhdGlvbiIgSWNvbj0iUGxhdGVGaXQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MjAxIiBCb3VuZHM9IjAsMiwyLDEiIE5hbWU9IkFuYWxNYXAiIEFsaWFzPSJDYWxjdWxhdGlvbiIgSWNvbj0iUnVuRXgiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MjAyIiBCb3VuZHM9IjAsMywyLDEiIE5hbWU9IkFuYWxQRiIgQWxpYXM9IkF1eGlsaWFyeSBGaXR0aW5nIiBFeHRJbmZvPSJQRiIgSWNvbj0iUnVuT3RoZXIiIFZpc2libGU9IjAiLz4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJXZWxsTWFwIiBBbGlhcz0iV2VsbCBNYXAiPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwOCIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJBbmFsTWFwIiBBbGlhcz0iTWFwIiBJY29uPSJNYXAyRCIgVmlzaWJsZT0iMSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMTgiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iQW5hbEludGVyZmVyZSIgQWxpYXM9IkludGVyZmVyZW5jZSBTZXR0aW5nIiBJY29uPSJNYXAyRCIgVmlzaWJsZT0iMCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iV2luZG93IiBBbGlhcz0iV2luZG93IERpc3BsYXkoRGVidWcpIiBWaXNpYmxlPSIwIiA+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAyIiBCb3VuZHM9IjAsMCIgTmFtZT0iVmlzaWJsZU1vZGVscyIgQWxpYXM9Ik1vZGVsIFdpbmRvdyIgSWNvbj0iVmlzaWJsZU1vZGVscyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDMiIEJvdW5kcz0iMSwwIiBOYW1lPSJWaXNpYmxlUGFyYW1ldGVycyIgQWxpYXM9IlBhcmFtZXRlciBXaW5kb3ciIEljb249IlZpc2libGVQYXJhbWV0ZXJzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMSIgQm91bmRzPSIwLDEiIE5hbWU9IlZpc2libGVBbmFsQmFzaWMiIEFsaWFzPSJCYXNpYyBJbmZvIiBJY29uPSJJbnB1dEJhc2ljIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMiIgQm91bmRzPSIxLDEiIE5hbWU9IlZpc2libGVBbmFsUFZUIiBBbGlhcz0iUFZUIERhdGEiIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAzIiBCb3VuZHM9IjAsMiIgTmFtZT0iVmlzaWJsZUFuYWxEaWZmIiBBbGlhcz0iRElGRiBEYXRhIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwNCIgQm91bmRzPSIxLDIiIE5hbWU9IlZpc2libGVBbmFsUHNldSIgQWxpYXM9IlBzZXVkbyBQcmVzc3VyZSBEYXRhIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJIZWxwIiBBbGlhcz0iSGVscCI+DQogICAgICAgICAgICA8Q21kIElEPSIxMDAwMiIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJIZWxwIiBBbGlhcz0iSGVscCIgSWNvbj0iSGVscCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgIDwvVGFiPg0KDQoNCiAgICA8VGFiIElEPSIyIiBOYW1lPSJEYXRhTWFuYWdlciIgQWxpYXM9IkRhdGEgTWFuYWdlciIgPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJEYXRhTWFuYWdlciIgQWxpYXM9IldlbGwiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTA5OSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJXZWxsTmV3IiBBbGlhcz0iTmV3IFdlbGwoVykiIEljb249IldlbGxOZXciIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkRhdGFNYW5hZ2VyIiBBbGlhcz0iQmFzaWMgRGF0YSI+DQogICAgICAgICAgICA8Q21kIElEPSIyMDAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkRhdGFXZWxsQmFzaWMiIEFsaWFzPSJXZWxsIEJhc2ljIERhdGEoQikiIEV4dEluZm89IkJfV0VMTCIgSWNvbj0iQmFzaWNEYXRhIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMjAwMiIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJEYXRhTGF5ZXIiIEFsaWFzPSJHZW9sb2dpY2FsIExheWVyIERhdGEoTCkiIEV4dEluZm89IkJfTEFZRVIiIEljb249IkxheWVyRGF0YSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjIwMDMiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iRGF0YVJlcyIgQWxpYXM9IlJlc2Vydm9pciBEYXRhKFIpIiBFeHRJbmZvPSJQX0RBVEFfUkVTIiBJY29uPSJSZXNEYXRhIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMjAwNCIgQm91bmRzPSIwLDMsMiwxIiBOYW1lPSJEYXRhRmx1IiBBbGlhcz0iRmx1aWQgUHJvcGVydHkgRGF0YShGKSIgRXh0SW5mbz0iUF9EQVRBX0ZMVUlEIiBJY29uPSJGbHVpZFByb3BlcnR5IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJEYXRhTWFuYWdlciIgQWxpYXM9IlByZXNzdXJlIFJhdGUiPg0KICAgICAgICAgICAgPENtZCBJRD0iMjAwNSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJEYXRhUmF0ZSIgQWxpYXM9IlJhdGUgRGF0YShRKSIgRXh0SW5mbz0iUF9EQVRBX0dBVUdFX0YiIEljb249IlJhdGVEYXRhIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMjAwNiIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJEYXRhUHJlIiBBbGlhcz0iUHJlc3N1cmUgRGF0YShQKSIgRXh0SW5mbz0iUF9EQVRBX0dBVUdFX1AiIEljb249IlByZXNzdXJlRGF0YSIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iR1g2IiBBbGlhcz0iUGxhdGZvcm0gSW50ZXJvcGVyYWJpbGl0eSI+DQogICAgICAgICAgICA8Q21kIElEPSIyMDA3IiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9Ikd4NkNvbm5lY3RTZXJ2ZXIiIEFsaWFzPSJHWDYgSW50ZXJvcGVyYWJpbGl0eShDKSIgSWNvbj0iR3g2Q29ubmVjdFNlcnZlciIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjIwMDgiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iR3g2R2V0VGFza3MiIEFsaWFzPSJHZXQgVGFza3MoRCkiIEljb249Ikd4NkdldFRhc2tzIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPENtZCBJRD0iMjAwOSIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJHeDZVcGRhdGVUYXNrcyIgQWxpYXM9IlVwZGF0ZSBTdGF0dXMoVSkiIEljb249Ikd4NlVwZGF0ZVRhc2tzIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgPC9UYWI+DQoNCiAgICA8VGFiIElEPSIyMDEiIE5hbWU9IkRhdGFFZGl0IiBBbGlhcz0iRGF0YSBFZGl0IiA+DQogICAgICAgIDxHcm91cCBOYW1lPSJEYXRhRWRpdCIgQWxpYXM9IkRhdGEgRWRpdGluZyI+DQogICAgICAgICAgICA8Q21kIElEPSIzMDAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkFuYWxGbHUiIEFsaWFzPSJSYXRlIEVkaXRpbmciIEV4dEluZm89IkYiIE1kaVR5cGU9IkRhdGFFZGl0IiBJY29uPSJSYXRlRGF0YSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDIiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iQW5hbFByZXNzIiBBbGlhcz0iUHJlc3N1cmUgRWRpdGluZyIgRXh0SW5mbz0iUCIgTWRpVHlwZT0iRGF0YUVkaXQiIEljb249IlByZXNzdXJlRGF0YSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMzMDMiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iQW5hbFByZUNvbiIgQWxpYXM9IlByZXNzdXJlIENvbnZlcnNpb24iIEV4dEluZm89IlAiIE1kaVR5cGU9IkRhdGFFZGl0IiBJY29uPSJBbmFsUHJlQ29uIiAvPg0KICAgICAgICA8L0dyb3VwPg0KICAgIDwvVGFiPg0KDQogICAgPFRhYiBJRD0iMyIgTmFtZT0iQW5hbHl0aWNhbFRlc3QiIEFsaWFzPSJJbnRlcnByZXRhdGlvbiIgPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJBbmFsRWRpdCIgQWxpYXM9IkFuYWx5c2lzIE1hbmFnZW1lbnQiPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwNiIgQm91bmRzPSIwLDAiIE5hbWU9IkFuYWxOZXciIEFsaWFzPSJOZXcgQW5hbHlzaXMiIEljb249IkpvYk5ldyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDciIEJvdW5kcz0iMSwwIiBOYW1lPSJBbmFsRWRpdCIgQWxpYXM9IkFuYWx5c2lzIE1hbmFnZW1lbnQiIEljb249IkpvYkVkaXQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlNlZ0FuYWwiIEFsaWFzPSJGbG93IFBlcmlvZCBBbmFseXNpcyI+DQogICAgICAgICAgICA8Q21kIElEPSIzMDAzIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkFuYWxQRiIgQWxpYXM9IkZsb3cgUGVyaW9kIFNlbGVjdGlvbiIgRXh0SW5mbz0iUEYiIEljb249IlBGIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwNCIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJBbmFsRmxvd1NlZyIgQWxpYXM9IkZsb3cgUGVyaW9kIEFuYWx5c2lzIiBJY29uPSJGbG93UGVyaW9kIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwNSIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJBbmFsT3RoZXJzIiBBbGlhcz0iQ2hhcmFjdGVyaXN0aWMgTGluZSBBbmFseXNpcyIgVHlwZT0iMSIgIFZpc2libGU9IjAiIEV4dE5hbWVzPSJDaGFydFQ7Q2hhcnRTcXJ0VDtDaGFydDI1VDtDaGFydDVUIiBFeHRJbmZvPSJDaGFydCBUO0NoYXJ0IFNxcnQoVCk7Q2hhcnQgMC4yNVQ7Q2hhcnQgLTAuNVQiIEljb249IkFzc2lzQW5hbCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMTAiIEJvdW5kcz0iMCwzLDIsMSIgTmFtZT0iQW5hbFduZE0iIEFsaWFzPSJGbG93IFBlcmlvZCBXaW5kb3ciIFR5cGU9IjEiIEljb249IkFuYWxXbmRNIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwOSIgQm91bmRzPSIwLDQsMiwxIiBOYW1lPSJBbmFsRGlzdHJpIiBBbGlhcz0iRGlzdHJpYnV0aW9uIENoYXJ0IiBUeXBlPSIxIiBFeHROYW1lcz0iQ2hhcnREZW47Q2hhcnRWaXMiIEV4dEluZm89IkNvbmNlbnRyYXRpb24gRGlzdHJpYnV0aW9uO1Zpc2Nvc2l0eSBEaXN0cmlidXRpb24iIEljb249IkFuYWxEaXN0cmkiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkRhdGFGaXQiIEFsaWFzPSJJbnRlcnByZXRhdGlvbiBGaXR0aW5nIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDUiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iRGVjb252b2x2IiBBbGlhcz0iRGVjb252b2x1dGlvbihEZWJ1ZykiIEljb249IkRlY29udm9sdiIgLz4NCg0KICAgICAgICAgICAgPENtZCBJRD0iMzEwMSIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJGaXRNb2RlbCIgQWxpYXM9IkFuYWx5dGljYWwgU29sdXRpb24iIEljb249IkZpdE1vZGVsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzEwNCIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJubUZpdE1vZGVsIiBBbGlhcz0iTnVtZXJpY2FsIFNvbHV0aW9uIiBJY29uPSJGaXRNb2RlbCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDIiIEJvdW5kcz0iMCwzLDIsMSIgTmFtZT0iQXV0b0ZpdCIgQWxpYXM9IkF1dG8gRml0dGluZyIgSWNvbj0iQXV0b0ZpdCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDMiIEJvdW5kcz0iMCw0LDIsMSIgTmFtZT0iUGxhdGVGaXQiIEFsaWFzPSJTZW5zaXRpdml0eSBBbmFseXNpcyIgSWNvbj0iUGxhdGVGaXQiIC8+DQogICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iQUlUZXN0IiBBbGlhcz0iSW50ZWxsaWdlbnQgV2VsbCBUZXN0aW5nIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjM5MDEiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iTW9kZWxDbGFzc2lmeSIgQWxpYXM9Ik1vZGVsIFJlY29nbml0aW9uIiBJY29uPSJNb2RlbENsYXNzaWZ5IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJSZWxhdGl2ZVRvb2wiIEFsaWFzPSJSZWxhdGVkIFRvb2xzIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMyMDEiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iVGltZSIgQWxpYXM9IlRpbWUiIEljb249IlRpbWUiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMjAyIiBCb3VuZHM9IjAsMSIgTmFtZT0iU2hvd01vZGVsQ2hhcnRzIiBBbGlhcz0iTW9kZWwgU2NoZW1hdGljIiBJY29uPSJTaG93TW9kZWxDaGFydHMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMjA0IiBCb3VuZHM9IjEsMSIgTmFtZT0iU2F2ZUFzTW9kZWxTa2V0Y2giIEFsaWFzPSJTYXZlIEFzIFNjaGVtYXRpYyIgSWNvbj0iU2F2ZUFzTW9kZWxTa2V0Y2giIC8+DQoNCiAgICAgICA8L0dyb3VwPg0KDQo8IS0tICAgICAgICAgICAgICAgICAgICA8Q21kIElEPSIzMjAzIiBCb3VuZHM9IjAsMSIgTmFtZT0iU2hvd01vZGVsU2tldGNoIiBBbGlhcz0iVGhlb3J5IiBJY29uPSJTaG93TW9kZWxTa2V0Y2giIC8+PEdyb3VwIE5hbWU9IlRvb2xTIiBBbGlhcz0iRXh0ZW5kZWQgRnVuY3Rpb25zIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9Ijk4MDEiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iRmxvd1RvUyIgQWxpYXM9IlJhdGUgdG8gU2tpbiBGYWN0b3IiIEljb249IkZsb3dUb1MiIFZpc2libGU9IjAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MjAxIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9Ik1peFZpc2Nvc2l0eSIgQWxpYXM9Ik1peGVkIFZpc2Nvc2l0eSIgSWNvbj0iTWl4VmlzY29zaXR5IiBWaXNpYmxlPSIwIiAvPg0KICAgICAgIDwvR3JvdXA+LS0+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkpvYnMiIEFsaWFzPSJSZXN1bHQgTWFuYWdlbWVudCI+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA4IiBCb3VuZHM9IjAsMCIgTmFtZT0iUnN0TG9hZCIgQWxpYXM9IkxvYWQgUmVzdWx0cyIgSWNvbj0iTG9hZEpvYnMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIxMDA5IiBCb3VuZHM9IjEsMCIgTmFtZT0iUnN0U2F2ZSIgVHlwZT0iMSIgRXh0TmFtZXM9IlJzdFNhdmVDdXI7UnN0U2F2ZUFsbCIgRXh0SW5mbz0iU2F2ZSBDdXJyZW50IFJlc3VsdDtTYXZlIEFsbCBSZXN1bHRzIiBBbGlhcz0iU2F2ZSBSZXN1bHRzIiBJY29uPSJTYXZlSm9icyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMTEiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iVG9OdW1lcmljYWwiIEFsaWFzPSJUby1OdW1lcmljYWwiIEljb249IkxvYWRKb2JzIiBWaXNpYmxlPSIwIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJXaW5kb3ciIEFsaWFzPSJXaW5kb3cgRGlzcGxheSI+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAyIiBCb3VuZHM9IjAsMCIgTmFtZT0iVmlzaWJsZU1vZGVscyIgQWxpYXM9Ik1vZGVsIFdpbmRvdyIgSWNvbj0iVmlzaWJsZU1vZGVscyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDMiIEJvdW5kcz0iMSwwIiBOYW1lPSJWaXNpYmxlUGFyYW1ldGVycyIgQWxpYXM9IlBhcmFtZXRlciBXaW5kb3ciIEljb249IlZpc2libGVQYXJhbWV0ZXJzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMSIgQm91bmRzPSIwLDEiIE5hbWU9IlZpc2libGVBbmFsQmFzaWMiIEFsaWFzPSJCYXNpYyBJbmZvIiBJY29uPSJJbnB1dEJhc2ljIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMiIgQm91bmRzPSIxLDEiIE5hbWU9IlZpc2libGVBbmFsUFZUIiBBbGlhcz0iUFZUIERhdGEiIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAzIiBCb3VuZHM9IjAsMiIgTmFtZT0iVmlzaWJsZUFuYWxEaWZmIiBBbGlhcz0iRElGRiBEYXRhIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwNCIgQm91bmRzPSIxLDIiIE5hbWU9IlZpc2libGVBbmFsUHNldSIgQWxpYXM9IlBzZXVkbyBQcmVzc3VyZSBEYXRhIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICA8L0dyb3VwPg0KICAgIDwvVGFiPg0KDQogICAgPFRhYiBJRD0iNSIgTmFtZT0iTnVtZXJpY2FsVGVzdCIgQWxpYXM9Ik1vZGVsaW5nIiA+DQogICAgICAgIDxHcm91cCBOYW1lPSJObU1hbmFnZXIiIEFsaWFzPSJBbmFseXNpcyBNYW5hZ2VtZW50IiBWaXNpYmxlPSIwIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUwMDEiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iQW5hbE5ldyIgQWxpYXM9IlRlbXBvcmFyeSBUZXN0IDEiIEljb249IlByZXBhcmVHcmlkIiBWaXNpYmxlPSIwIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTAwMiIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJQcm9wZXJ0eUxvYWQiIEFsaWFzPSJUZW1wb3JhcnkgVGVzdCAyIiBJY29uPSJQcmVwYXJlR3JpZCIgIFZpc2libGU9IjAiLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iTm1BbmFsQ2hhbmdlIiBBbGlhcz0iQW5hbHlzaXMgU3dpdGNoIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMzAiIEJvdW5kcz0iMCwwIiBOYW1lPSJObUFuYWxDaGFuZ2UiIEFsaWFzPSJBbmFseXNpcyBTd2l0Y2giIEljb249IkpvYkVkaXQiIC8+DQogICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iTnRJbml0IiBBbGlhcz0iTW9kZWwgR2VvbWV0cmljIE9iamVjdHMiPg0KICAgICAgICAgICAgPENtZCBJRD0iNTExOCIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJObU1hcCIgQWxpYXM9Ik1hcCIgSWNvbj0iTm1JbWFnZSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMTkiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iTm1VbmxvY2tlZCIgQWxpYXM9IkxvY2siIEljb249Ik5tVW5sb2NrZWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTAyIiBCb3VuZHM9IjAsMiwyLDEiIE5hbWU9Ik5tSW1hZ2UiIEFsaWFzPSJSZXNlcnZvaXIgTWFwIiBJY29uPSJObUltYWdlIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEyMCIgQm91bmRzPSIwLDMsMiwxIiBOYW1lPSJObU1lYXN1cmUiIEFsaWFzPSJTY2FsZSBCYXIiIEljb249Ik5tTWVhc3VyZSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMDMiIEJvdW5kcz0iMCw0LDIsMSIgTmFtZT0iTm1Qb2x5Z29uIiBBbGlhcz0iUG9seWdvbiBCb3VuZGFyeSIgSWNvbj0iTm1Qb2x5Z29uIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEwNCIgQm91bmRzPSIwLDUiIE5hbWU9Ik5tUG9seWdvbiIgQWxpYXM9IlJlY3RhbmdsZSBCb3VuZGFyeSIgSWNvbj0iTm1SZWN0YW5nbGUiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTA1IiBCb3VuZHM9IjEsNSIgTmFtZT0iTm1Qb2x5Z29uIiBBbGlhcz0iQ2lyY2xlIEJvdW5kYXJ5IiBJY29uPSJObVJvdW5kIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEwNiIgQm91bmRzPSIwLDYsMiwxIiBOYW1lPSJObUZhdWx0IiBBbGlhcz0iRmF1bHQiIEljb249Ik5tRmF1bHQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTA3IiBCb3VuZHM9IjAsNyIgTmFtZT0iTm1XZWxsIiBBbGlhcz0iU2VsZWN0IFdlbGwiIEljb249Ik5tV2VsbCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMDgiIEJvdW5kcz0iMSw3IiBOYW1lPSJObVdlbGwiIEFsaWFzPSJOZXcgV2VsbCIgSWNvbj0iTm1XZWxsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEwOSIgQm91bmRzPSIwLDgsMiwxIiBOYW1lPSJObUZhdWx0IiBBbGlhcz0iRnJhY3R1cmUiIEljb249Ik5tRmF1bHQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTEwIiBCb3VuZHM9IjAsOSIgTmFtZT0iTm1MaW1pdCIgQWxpYXM9IlJlZ2lvbiIgSWNvbj0iTm1MaW1pdCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMTEiIEJvdW5kcz0iMSw5IiBOYW1lPSJObVJlZ2lvbiIgQWxpYXM9Ik1hcmsgUmVnaW9uIiBJY29uPSJObVJlZ2lvbiIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMjEiIEJvdW5kcz0iMCwxMCwyLDEiIE5hbWU9Ik5tRGVsZXRlIiBBbGlhcz0iRGVsZXRlIiBJY29uPSJObURlbGV0ZSIgLz4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgPEdyb3VwIE5hbWU9Ik50UmVzZXJ2b2lyIiBBbGlhcz0iUmVzZXJ2b2lyIENoYXJhY3RlcmlzdGljcyI+DQogICAgICAgICAgICA8Q21kIElEPSI1MTEyIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9Ik5tR2VvbWV0cnkiIEFsaWFzPSJMYXllciBEaXZpc2lvbiIgSWNvbj0iTm1HZW9tZXRyeSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMTMiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iTm1Qcm9wZXJ0aWVzIiBBbGlhcz0iUmVzZXJ2b2lyIFByb3BlcnRpZXMiIEljb249Ik5tUHJvcGVydGllcyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjUxMjIiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iTm1ERk4iIEFsaWFzPSJERk4iIEljb249Ik5tREZOIiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICA8R3JvdXAgTmFtZT0iTnRNb2RlbCIgQWxpYXM9Ik1vZGVsIEdlbmVyYXRpb24iPg0KICAgICAgICAgICAgIDxDbWQgSUQ9IjUxMTQiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iTm1HcmlkIiBBbGlhcz0iR3JpZCBHZW5lcmF0aW9uIiBJY29uPSJObUdyaWQiIC8+DQogICAgICAgICAgICAgPENtZCBJRD0iNTExNSIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJObUNhY3VsYXRpb24iIEFsaWFzPSJDYWxjdWxhdGlvbiBTb2x1dGlvbiIgSWNvbj0iVGltZSIgLz4NCiAgICAgICAgICAgICA8IS0tDQogICAgICAgICAgICAgPENtZCBJRD0iNTExNiIgQm91bmRzPSIwLDIsMiwxIiBOYW1lPSJObUJhY2siIEFsaWFzPSJQb3N0IFByb2Nlc3NpbmciIEljb249IlRpbWUiIC8+DQogICAgICAgICAgICAgPENtZCBJRD0iNTExNyIgQm91bmRzPSIwLDMsMiwxIiBOYW1lPSJObVJlc3VsdCIgQWxpYXM9IlJlc3VsdCIgSWNvbj0iRmxvd1BlcmlvZCIgLz4NCiAgICAgICAgICAgICAtLT4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJOdFRvb2xzIiBBbGlhcz0iVG9vbHMiPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEyNyIgQm91bmRzPSIwLDAiIE5hbWU9Ik5tR2VvUmVmZXJlbmNlIiBBbGlhcz0iTW9kZWwgUmVmZXJlbmNlIFBvaW50IFNldHRpbmciIEljb249Ik5tR2VvUmVmZXJlbmNlIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEyOCIgQm91bmRzPSIxLDAiIE5hbWU9Ik5tUG9pbnRlclBvc2l0aW9uIiBBbGlhcz0iTW9kZWwgUG9zaXRpb24gRGlzcGxheSIgSWNvbj0iTm1Qb2ludGVyUG9zaXRpb24iIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTI5IiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9Ik5tTWVhc3VyZSIgQWxpYXM9Ik1vZGVsIERpbWVuc2lvbiBNZWFzdXJlbWVudCIgSWNvbj0iTm1NZWFzdXJlIiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9Ik50RGlzcGxheSIgQWxpYXM9IkRpc3BsYXkiPg0KICAgICAgICAgICAgPENtZCBJRD0iNTEyMyIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJObVNob3ciIEFsaWFzPSJEaXNwbGF5IiBJY29uPSJObVNob3ciIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTI0IiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9Ik5tUHJpbnRQcmV2aWV3IiBBbGlhcz0iUHJpbnQgUHJldmlldyIgSWNvbj0iTm1QcmludFByZXZpZXciIC8+DQogICAgICAgICAgICA8Q21kIElEPSI1MTI1IiBCb3VuZHM9IjAsMiwyLDEiIE5hbWU9Ik5tUHJpbnQiIEFsaWFzPSJQcmludCIgSWNvbj0iTm1QcmludCIgLz4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJXaW5kb3ciIEFsaWFzPSJXaW5kb3cgRGlzcGxheSIgIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwMiIgQm91bmRzPSIwLDAiIE5hbWU9IlZpc2libGVNb2RlbHMiIEFsaWFzPSJNb2RlbCBXaW5kb3ciIEljb249IlZpc2libGVNb2RlbHMiICBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAzIiBCb3VuZHM9IjEsMCIgTmFtZT0iVmlzaWJsZVBhcmFtZXRlcnMiIEFsaWFzPSJQYXJhbWV0ZXIgV2luZG93IiBJY29uPSJWaXNpYmxlUGFyYW1ldGVycyIgIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDEiIEJvdW5kcz0iMCwxIiBOYW1lPSJWaXNpYmxlQW5hbEJhc2ljIiBBbGlhcz0iQmFzaWMgSW5mbyIgSWNvbj0iSW5wdXRCYXNpYyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDIiIEJvdW5kcz0iMSwxIiBOYW1lPSJWaXNpYmxlQW5hbFBWVCIgQWxpYXM9IlBWVCBEYXRhIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMyIgQm91bmRzPSIwLDIiIE5hbWU9IlZpc2libGVBbmFsRGlmZiIgQWxpYXM9IkRJRkYgRGF0YSIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDQiIEJvdW5kcz0iMSwyIiBOYW1lPSJWaXNpYmxlQW5hbFBzZXUiIEFsaWFzPSJQc2V1ZG8gUHJlc3N1cmUgRGF0YSIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iTm1EZWJ1ZyIgQWxpYXM9IkZyYW1ld29yayBUZXN0KERlYnVnKSI+DQogICAgICAgICAgICA8Q21kIElEPSI1OTk5IiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9Ik5tRGVidWciIEFsaWFzPSJGcmFtZXdvcmsgQ29kZSBEZWJ1Z2dpbmciIEljb249IlByZXBhcmVHcmlkIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQoNCiAgICA8L1RhYj4NCg0KICAgIDxUYWIgSUQ9IjQiIE5hbWU9Ik1pbmlGcmFjIiBBbGlhcz0iTWluaSBGcmFjdHVyaW5nKERlYnVnKSIgPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJBbmFsRWRpdCIgQWxpYXM9IkFuYWx5c2lzIE1hbmFnZW1lbnQiPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwNiIgQm91bmRzPSIwLDAiIE5hbWU9IkFuYWxOZXciIEFsaWFzPSJOZXcgQW5hbHlzaXMiIEljb249IkpvYk5ldyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDciIEJvdW5kcz0iMSwwIiBOYW1lPSJBbmFsRWRpdCIgQWxpYXM9IkFuYWx5c2lzIE1hbmFnZW1lbnQiIEljb249IkpvYkVkaXQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlBBIiBBbGlhcz0iUHJlc3N1cmUgRHJvcCBBbmFseXNpcyI+DQogICAgICAgICAgICA8Q21kIElEPSI0MDAyIiBCb3VuZHM9IjAsMCwzLDEiIE5hbWU9Ik1pbmlGckFuYWxQQSIgQWxpYXM9IlByZXNzdXJlIERyb3AgUHJlcGFyYXRpb24iIEV4dEluZm89IlBGIiBJY29uPSJQRiIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjQwMDMiIEJvdW5kcz0iMCwxLDMsMSIgTmFtZT0iTWluaUZyUEEiIEFsaWFzPSJQcmVzc3VyZSBEcm9wIEFuYWx5c2lzIiBJY29uPSJGbG93UGVyaW9kIiAvPg0KDQogICAgICAgICAgICA8Q21kIElEPSI0MDA0IiBCb3VuZHM9IjAsMiwzLDEiIE5hbWU9IkNhbFN1ZGRlblN0b3BQIiBBbGlhcz0iSW5zdGFudGFuZW91cyBTaHV0LWluIFByZXNzdXJlIiBJY29uPSJSdW5FeCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjQwMDUiIEJvdW5kcz0iMCwzIiBOYW1lPSJDYWxHRnVuY3Rpb24iIEFsaWFzPSJHIEZ1bmN0aW9uIiBJY29uPSJSdW5PdGhlciIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjQwMDYiIEJvdW5kcz0iMSwzIiBOYW1lPSJDYWxTcXJ0VCIgQWxpYXM9IlNxdWFyZSBSb290IG9mIFRpbWUiIEljb249IlJ1bk90aGVyIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNDAwNyIgQm91bmRzPSIyLDMiIE5hbWU9IkNhbExvZ0xvZyIgQWxpYXM9IkxvZy1Mb2cgUGxvdCIgSWNvbj0iUnVuT3RoZXIiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCg0KICAgICAgICA8R3JvdXAgTmFtZT0iRkEiIEFsaWFzPSJGbG93IFJhdGUgQW5hbHlzaXMiPg0KICAgICAgICAgICAgPENtZCBJRD0iNDEwMiIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJNaW5pRnJBbmFsRkEiIEFsaWFzPSJGbG93IFJhdGUgUHJlcGFyYXRpb24iIEV4dEluZm89IklQUiIgSWNvbj0iTWluaUZyQW5hbEZBIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNDEwMyIgQm91bmRzPSIwLDEiIE5hbWU9Ik1pbmlGckZBVXAiIEFsaWFzPSJTdGVwIFVwIiBJY29uPSJTdGVwVXAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI0MTA0IiBCb3VuZHM9IjEsMSIgTmFtZT0iTWluaUZyRkFEb3duIiBBbGlhcz0iU3RlcCBEb3duIiBJY29uPSJTdGVwRG93biIgLz4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJKb2JzIiBBbGlhcz0iUmVzdWx0IE1hbmFnZW1lbnQiICBWaXNpYmxlPSIwIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDgiIEJvdW5kcz0iMCwwIiBOYW1lPSJSc3RMb2FkIiBBbGlhcz0iTG9hZCBSZXN1bHRzIiBJY29uPSJMb2FkSm9icyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDkiIEJvdW5kcz0iMSwwIiBOYW1lPSJSc3RTYXZlIiBUeXBlPSIxIiBFeHROYW1lcz0iUnN0U2F2ZUN1cjtSc3RTYXZlQWxsIiBFeHRJbmZvPSJTYXZlIEN1cnJlbnQgUmVzdWx0O1NhdmUgQWxsIFJlc3VsdHMiIEFsaWFzPSJTYXZlIFJlc3VsdHMiIEljb249IlNhdmVKb2JzIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJXaW5kb3ciIEFsaWFzPSJXaW5kb3cgRGlzcGxheSIgIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwMiIgQm91bmRzPSIwLDAiIE5hbWU9IlZpc2libGVNb2RlbHMiIEFsaWFzPSJNb2RlbCBXaW5kb3ciIEljb249IlZpc2libGVNb2RlbHMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAzIiBCb3VuZHM9IjEsMCIgTmFtZT0iVmlzaWJsZVBhcmFtZXRlcnMiIEFsaWFzPSJQYXJhbWV0ZXIgV2luZG93IiBJY29uPSJWaXNpYmxlUGFyYW1ldGVycyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDEiIEJvdW5kcz0iMCwxIiBOYW1lPSJWaXNpYmxlQW5hbEJhc2ljIiBBbGlhcz0iQmFzaWMgSW5mbyIgSWNvbj0iSW5wdXRCYXNpYyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDIiIEJvdW5kcz0iMSwxIiBOYW1lPSJWaXNpYmxlQW5hbFBWVCIgQWxpYXM9IlBWVCBEYXRhIiBJY29uPSJJbnB1dEZsdWlkIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMyIgQm91bmRzPSIwLDIiIE5hbWU9IlZpc2libGVBbmFsRGlmZiIgQWxpYXM9IkRJRkYgRGF0YSIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDQiIEJvdW5kcz0iMSwyIiBOYW1lPSJWaXNpYmxlQW5hbFBzZXUiIEFsaWFzPSJQc2V1ZG8gUHJlc3N1cmUgRGF0YSIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgIDwvVGFiPg0KDQogICAgPFRhYiBJRD0iNDAxIiBOYW1lPSJJUFIiIEFsaWFzPSJXZWxsIFByb2QgVGVzdCIgPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJBbmFsRWRpdCIgQWxpYXM9IkFuYWx5c2lzIE1hbmFnZW1lbnQiPg0KICAgICAgICAgICAgPENtZCBJRD0iMzAwNiIgQm91bmRzPSIwLDAiIE5hbWU9IkFuYWxOZXciIEFsaWFzPSJOZXcgQW5hbHlzaXMiIEljb249IkpvYk5ldyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMwMDciIEJvdW5kcz0iMSwwIiBOYW1lPSJBbmFsRWRpdCIgQWxpYXM9IkFuYWx5c2lzIE1hbmFnZW1lbnQiIEljb249IkpvYkVkaXQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IklQUiIgQWxpYXM9IklQUiBQcmV2aW91cyBSZWZlcmVuY2UoRGVidWcpIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjYwMDIiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iSVBSQW5hbCIgQWxpYXM9IklQUiBQcmVwYXJhdGlvbiIgRXh0SW5mbz0iSVBSIiBJY29uPSJJUFJBbmFsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iNjAwMyIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJJUFJDYWwiIEFsaWFzPSJJUFIgQ2FsY3VsYXRpb24iIEljb249IklQUkNhbCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iV2R0RGF0YVByZXByb2Nlc3MiIEFsaWFzPSJEYXRhIFByZXByb2Nlc3NpbmciIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iNjEwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJXZHREYXRhQXNzbiIgQWxpYXM9IkRhdGEgTm9ybWFsaXphdGlvbiIgRXh0SW5mbz0iSVBSIiBJY29uPSJJUFJBbmFsIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPENtZCBJRD0iNjEwMiIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJXZHRPdGhlciIgQWxpYXM9Ik90aGVycyIgSWNvbj0iV2R0T3RoZXIiIFZpc2libGU9IjAiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI2MTAzIiBCb3VuZHM9IjAsMywyLDEiIE5hbWU9IldkdFdNRiIgQWxpYXM9IldlbGxib3JlIE11bHRpcGhhc2UgRmxvdyIgSWNvbj0iV2R0V01GIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPENtZCBJRD0iNjEwNCIgQm91bmRzPSIwLDQsMiwxIiBOYW1lPSJXZHRDaG9rZSIgQWxpYXM9IkNob2tlIEZsb3ciIEljb249IldkdENob2tlIiAgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJJUFIiIEFsaWFzPSJQcm9kdWN0aXZpdHkgQW5hbHlzaXMiPg0KICAgICAgICAgICAgPENtZCBJRD0iNjIwMSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJXZHRJUFJDYWwiIEFsaWFzPSJSZXNlcnZvaXIgUHJvZHVjdGl2aXR5IENhbGN1bGF0aW9uIiBJY29uPSJJUFJDYWwiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI2MjAyIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IldlbGxQZHR5IiBBbGlhcz0iSW50ZWdyYXRlZCBQcm9kdWN0aXZpdHkiIEljb249IldlbGxQZHR5IiAgVmlzaWJsZT0iMCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjYyMDMiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iV2R0SVBSRXh0IiBBbGlhcz0iUHJvZHVjdGl2aXR5IFdlbGwgVGVzdFtFeHRlbmRlZF0iIEljb249IklQUkV4dCIvPg0KICAgICAgICAgICAgPENtZCBJRD0iNjIwNCIgQm91bmRzPSIwLDMsMiwxIiBOYW1lPSJXZHRJUFJBbmFsIiBBbGlhcz0iUmVzZXJ2b2lyIFByb2R1Y3Rpdml0eSBBbmFseXNpcyIgSWNvbj0iSVBSQW5hbCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjYyMDUiIEJvdW5kcz0iMCw0LDIsMSIgTmFtZT0iV2VsbEludGVnQW5hbCIgQWxpYXM9IkNvbXByZWhlbnNpdmUgQW5hbHlzaXMiIEljb249IldlbGxJbnRlZ0FuYWwiIFZpc2libGU9IjAiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IklQUiIgQWxpYXM9IlByb2R1Y3Rpdml0eSBDYWxjdWxhdGlvbiI+DQogICAgICAgICAgICA8Q21kIElEPSI2MzAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IldkdENhbCIgQWxpYXM9IkNhbGN1bGF0aW9uIiBJY29uPSJSdW5FeCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJKb2JzIiBBbGlhcz0iUmVzdWx0IE1hbmFnZW1lbnQiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwOCIgQm91bmRzPSIwLDAiIE5hbWU9IlJzdExvYWQiIEFsaWFzPSJMb2FkIFJlc3VsdHMiIEljb249IkxvYWRKb2JzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwOSIgQm91bmRzPSIxLDAiIE5hbWU9IlJzdFNhdmUiIFR5cGU9IjEiIEV4dE5hbWVzPSJSc3RTYXZlQ3VyO1JzdFNhdmVBbGwiIEV4dEluZm89IlNhdmUgQ3VycmVudCBSZXN1bHQ7U2F2ZSBBbGwgUmVzdWx0cyIgQWxpYXM9IlNhdmUgUmVzdWx0cyIgSWNvbj0iU2F2ZUpvYnMiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IldpbmRvdyIgQWxpYXM9IldpbmRvdyBEaXNwbGF5Ij4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDIiIEJvdW5kcz0iMCwwIiBOYW1lPSJWaXNpYmxlTW9kZWxzIiBBbGlhcz0iTW9kZWwgV2luZG93IiBJY29uPSJWaXNpYmxlTW9kZWxzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwMyIgQm91bmRzPSIxLDAiIE5hbWU9IlZpc2libGVQYXJhbWV0ZXJzIiBBbGlhcz0iUGFyYW1ldGVyIFdpbmRvdyIgSWNvbj0iVmlzaWJsZVBhcmFtZXRlcnMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAxIiBCb3VuZHM9IjAsMSIgTmFtZT0iVmlzaWJsZUFuYWxCYXNpYyIgQWxpYXM9IkJhc2ljIEluZm8iIEljb249IklucHV0QmFzaWMiICAgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTEwMiIgQm91bmRzPSIwLDEiIE5hbWU9IlZpc2libGVBbmFsUFZUIiBBbGlhcz0iUFZUIERhdGEiIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAzIiBCb3VuZHM9IjAsMiIgTmFtZT0iVmlzaWJsZUFuYWxEaWZmIiBBbGlhcz0iRElGRiBEYXRhIiBJY29uPSJJbnB1dEZsdWlkIiAgIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDQiIEJvdW5kcz0iMSwxIiBOYW1lPSJWaXNpYmxlQW5hbFBzZXUiIEFsaWFzPSJQc2V1ZG8gUHJlc3N1cmUgRGF0YSIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KDQogICAgPC9UYWI+DQoNCiAgICA8VGFiIElEPSI2IiBOYW1lPSJBZHZhbmNlZEZ1bmN0aW9uIiBBbGlhcz0iQWR2YW5jZWQiID4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iRGVzaWduIiBBbGlhcz0iV2VsbCBUZXN0IERlc2lnbiI+DQogICAgICAgICAgICA8Q21kIElEPSI2MDAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IlRlc3REZXNpZ24iIEFsaWFzPSJXZWxsIFRlc3QgRGVzaWduIiBJY29uPSJUZXN0RGVzaWduIiBFeHRJbmZvPSJQRiIgIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA0IiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IkFuYWxGbG93U2VnIiBBbGlhcz0iRmxvdyBQZXJpb2QgQW5hbHlzaXMiIEljb249IkZsb3dQZXJpb2QiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA1IiBCb3VuZHM9IjAsMiwyLDEiIE5hbWU9IkFuYWxPdGhlcnMiIEFsaWFzPSJDaGFyYWN0ZXJpc3RpYyBTZWdtZW50IEFuYWx5c2lzIiBUeXBlPSIxIiBFeHROYW1lcz0iQ2hhcnRUO0NoYXJ0U3FydFQ7Q2hhcnQyNVQ7Q2hhcnQ1VCIgRXh0SW5mbz0iQ2hhcnQgVDtDaGFydCBTcXJ0KFQpO0NoYXJ0IDAuMjVUO0NoYXJ0IC0wLjVUIiBJY29uPSJBc3Npc0FuYWwiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMDA5IiBCb3VuZHM9IjAsMywyLDEiIE5hbWU9IkFuYWxEaXN0cmkiIEFsaWFzPSJEaXN0cmlidXRpb24gQ2hhcnQiIFR5cGU9IjEiIEV4dE5hbWVzPSJDaGFydERlbjtDaGFydFZpcyIgRXh0SW5mbz0iQ29uY2VudHJhdGlvbiBEaXN0cmlidXRpb247VmlzY29zaXR5IERpc3RyaWJ1dGlvbiIgSWNvbj0iQW5hbERpc3RyaSIgLz4NCg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJEYXRhRml0IiBBbGlhcz0iSW50ZXJwcmV0YXRpb24gRml0dGluZyI+DQoNCiAgICAgICAgICAgIDxDbWQgSUQ9IjMxMDUiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iRGVjb252b2x2IiBBbGlhcz0iRGVjb252b2x1dGlvbiIgSWNvbj0iRGVjb252b2x2IiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8Q21kIElEPSIzMTAxIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IkZpdE1vZGVsIiBBbGlhcz0iQW5hbHl0aWNhbCBTb2x1dGlvbiIgSWNvbj0iRml0TW9kZWwiIC8+DQogICAgICAgICAgICA8Q21kIElEPSIzMTA0IiBCb3VuZHM9IjAsMiwyLDEiIE5hbWU9Im5tRml0TW9kZWwiIEFsaWFzPSJOdW1lcmljYWwgU29sdXRpb24iIEljb249IkZpdE1vZGVsIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzEwMiIgQm91bmRzPSIwLDMsMiwxIiBOYW1lPSJBdXRvRml0IiBBbGlhcz0iQXV0byBGaXR0aW5nIiBJY29uPSJBdXRvRml0IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzEwMyIgQm91bmRzPSIwLDQsMiwxIiBOYW1lPSJQbGF0ZUZpdCIgQWxpYXM9IlNlbnNpdGl2aXR5IEFuYWx5c2lzIiBJY29uPSJQbGF0ZUZpdCIgLz4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJBSVRlc3QiIEFsaWFzPSJJbnRlbGxpZ2VudCBXZWxsIFRlc3QoRGVidWcpIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjM5MDEiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iTW9kZWxDbGFzc2lmeSIgQWxpYXM9Ik1vZGVsIFJlY29nbml0aW9uIiBJY29uPSJNb2RlbENsYXNzaWZ5IiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJSZWxhdGl2ZVRvb2wiIEFsaWFzPSJSZWxhdGVkIFRvb2xzIiBWaXNpYmxlPSIwIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMyMDEiIEJvdW5kcz0iMCwwIiBOYW1lPSJUaW1lIiBBbGlhcz0iVGltZSIgSWNvbj0iVGltZSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjMyMDIiIEJvdW5kcz0iMSwwIiBOYW1lPSJTaG93TW9kZWxDaGFydHMiIEFsaWFzPSJNb2RlbCIgSWNvbj0iU2hvd01vZGVsQ2hhcnRzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzIwMyIgQm91bmRzPSIwLDEiIE5hbWU9IlNob3dNb2RlbFNrZXRjaCIgQWxpYXM9IlRoZW9yeSIgSWNvbj0iU2hvd01vZGVsU2tldGNoIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMzIwNCIgQm91bmRzPSIxLDEiIE5hbWU9IlNhdmVBc01vZGVsU2tldGNoIiBBbGlhcz0iU2F2ZSBBcyBTY2hlbWF0aWMiIEljb249IlNhdmVBc01vZGVsU2tldGNoIiAvPg0KICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlRvb2xTIiBBbGlhcz0iRXh0ZW5kZWQgRnVuY3Rpb25zIiAgVmlzaWJsZT0iMCI+DQogICAgICAgICAgICA8Q21kIElEPSI5ODAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkZsb3dUb1MiIEFsaWFzPSJSYXRlIHRvIFNraW4gRmFjdG9yIiBJY29uPSJGbG93VG9TIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTIwMSIgQm91bmRzPSIwLDEsMiwxIiBOYW1lPSJNaXhWaXNjb3NpdHkiIEFsaWFzPSJNaXhlZCBWaXNjb3NpdHkiIEljb249Ik1peFZpc2Nvc2l0eSIgLz4NCiAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJKb2JzIiBBbGlhcz0iUmVzdWx0IE1hbmFnZW1lbnQiIFZpc2libGU9IjAiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwOCIgQm91bmRzPSIwLDAiIE5hbWU9IlJzdExvYWQiIEFsaWFzPSJMb2FkIFJlc3VsdHMiIEljb249IkxvYWRKb2JzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwOSIgQm91bmRzPSIxLDAiIE5hbWU9IlJzdFNhdmUiIFR5cGU9IjEiIEV4dE5hbWVzPSJSc3RTYXZlQ3VyO1JzdFNhdmVBbGwiIEV4dEluZm89IlNhdmUgQ3VycmVudCBSZXN1bHQ7U2F2ZSBBbGwgUmVzdWx0cyIgQWxpYXM9IlNhdmUgUmVzdWx0cyIgSWNvbj0iU2F2ZUpvYnMiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IldpbmRvdyIgQWxpYXM9IldpbmRvdyBEaXNwbGF5IiBWaXNpYmxlPSIwIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDIiIEJvdW5kcz0iMCwwIiBOYW1lPSJWaXNpYmxlTW9kZWxzIiBBbGlhcz0iTW9kZWwgV2luZG93IiBJY29uPSJWaXNpYmxlTW9kZWxzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwMyIgQm91bmRzPSIxLDAiIE5hbWU9IlZpc2libGVQYXJhbWV0ZXJzIiBBbGlhcz0iUGFyYW1ldGVyIFdpbmRvdyIgSWNvbj0iVmlzaWJsZVBhcmFtZXRlcnMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAxIiBCb3VuZHM9IjAsMSIgTmFtZT0iVmlzaWJsZUFuYWxCYXNpYyIgQWxpYXM9IkJhc2ljIEluZm8iIEljb249IklucHV0QmFzaWMiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTAyIiBCb3VuZHM9IjEsMSIgTmFtZT0iVmlzaWJsZUFuYWxQVlQiIEFsaWFzPSJQVlQgRGF0YSIgSWNvbj0iSW5wdXRGbHVpZCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkxMDMiIEJvdW5kcz0iMCwyIiBOYW1lPSJWaXNpYmxlQW5hbERpZmYiIEFsaWFzPSJESUZGIERhdGEiIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MTA0IiBCb3VuZHM9IjEsMiIgTmFtZT0iVmlzaWJsZUFuYWxQc2V1IiBBbGlhcz0iUHNldWRvIFByZXNzdXJlIERhdGEiIEljb249IklucHV0Rmx1aWQiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICA8L1RhYj4NCg0KICAgIDxUYWIgSUQ9IjciIE5hbWU9IlN5c1Rvb2wiIEFsaWFzPSJTeXN0ZW0gQ29uZmlndXJhdGlvbiBUb29scyhUKSIgVmlzaWJsZT0iMCIgPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJTeXNUb29sIiBBbGlhcz0iQ29uZmlndXJhdGlvbiBUb29scyI+DQogICAgICAgICAgICA8Q21kIElEPSI3MDAxIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IlN5c1Rvb2xzIiBBbGlhcz0iU3lzdGVtIENvbmZpZ3VyYXRpb24gVG9vbHMiIEljb249IlN5c1Rvb2xzIiAgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iTW9kZWxNYW5hZ2VyIiBBbGlhcz0iTW9kZWwgTWFuYWdlbWVudCI+DQogICAgICAgICAgICA8Q21kIElEPSI3MDAyIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9Ik1vZGVsU2NhbiIgQWxpYXM9Ik1vZGVsIFZpZXciIEljb249Ik1vZGVsU2NhbiIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgIDwvVGFiPg0KDQogICAgPFRhYiBJRD0iOCIgTmFtZT0iUmVzdWx0IiBBbGlhcz0iUmVzdWx0cyIgPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJKb2JzIiBBbGlhcz0iUmVzdWx0IE1hbmFnZW1lbnQiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwOCIgQm91bmRzPSIwLDAiIE5hbWU9IlJzdExvYWQiIEFsaWFzPSJMb2FkIFJlc3VsdHMiIEljb249IkxvYWRKb2JzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwOSIgQm91bmRzPSIxLDAiIE5hbWU9IlJzdFNhdmUiIFR5cGU9IjEiIEV4dE5hbWVzPSJSc3RTYXZlQ3VyO1JzdFNhdmVBbGwiIEV4dEluZm89IlNhdmUgQ3VycmVudCBSZXN1bHQ7U2F2ZSBBbGwgUmVzdWx0cyIgQWxpYXM9IlNhdmUgUmVzdWx0cyIgSWNvbj0iU2F2ZUpvYnMiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlJlc0NvbXBhcmUiIEFsaWFzPSJSZXN1bHQgQ29tcGFyaXNvbiI+DQogICAgICAgICAgICA8Q21kIElEPSI4MDAzIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IlJlc0NvbXBhcmUiIEFsaWFzPSJSZXN1bHQgQ29tcGFyaXNvbiIgSWNvbj0iUmVzQ29tcGFyZSIgIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IlByaW50IiBBbGlhcz0iUmVwb3J0IFByaW50aW5nIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMDEiIEJvdW5kcz0iMCwwIiBOYW1lPSJSZXBvcnRDb25maWciIEFsaWFzPSJSZXBvcnQgU2V0dGluZ3MiIEljb249InJlcG9ydENvbmZpZyIgIC8+DQogICAgICAgICAgICA8Q21kIElEPSI4MDA0IiBCb3VuZHM9IjEsMCIgTmFtZT0iUHJpbnRQcmV2aWV3IiBBbGlhcz0iUmVwb3J0IFByZXZpZXciIEljb249IlByZVByaW50IiAgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjgwMDIiIEJvdW5kcz0iMCwxIiBOYW1lPSJQcmludCIgQWxpYXM9IlByaW50KEluY2x1ZGUgUERGKSIgSWNvbj0iUHJpbnQiICAvPg0KICAgICAgICAgICAgPENtZCBJRD0iODAwNSIgQm91bmRzPSIxLDEiIE5hbWU9IkV4cG9ydFdvcmQiIEFsaWFzPSJFeHBvcnQoV29yZCkiIEljb249IldvcmQxNiIgIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IldpbmRvdyIgQWxpYXM9IldpbmRvdyBEaXNwbGF5IiBWaXNpYmxlPSIwIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDMiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iVmlzaWJsZVBhcmFtZXRlcnMiIEFsaWFzPSJQYXJhbWV0ZXIgV2luZG93IiBJY29uPSJWaXNpYmxlUGFyYW1ldGVycyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDQiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iVmlzaWJsZVB0eXMiIEFsaWFzPSJQcm9wZXJ0eSBXaW5kb3ciIEljb249IlByb3BlcnR5V2luZG93IiAvPg0KDQogICAgICAgIDwvR3JvdXA+DQoNCiAgICA8L1RhYj4NCg0KICAgIDxUYWIgSUQ9IjkiIE5hbWU9IldpbmRvdyIgQWxpYXM9IldpbmRvdyIgPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJXaW5kb3ciIEFsaWFzPSJCYXNpYyI+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IlZpc2libGVQcm9qVHJlZURhIiBBbGlhcz0iUHJvamVjdCBUcmVlIiBJY29uPSJQcm9qVHJlZSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDgiIEJvdW5kcz0iMCwxLDIsMSIgTmFtZT0iVmlzaWJsZVByb2pUcmVlSmIiIEFsaWFzPSJBbmFseXNpcyBUcmVlIiBJY29uPSJQcm9qVHJlZSIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDkiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iVmlzaWJsZVByb2pUcmVlUnMiIEFsaWFzPSJSZXN1bHQgVHJlZSIgSWNvbj0iUHJvalRyZWUiIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDAyIiBCb3VuZHM9IjAsMyIgTmFtZT0iVmlzaWJsZU1vZGVscyIgQWxpYXM9Ik1vZGVsIFdpbmRvdyIgSWNvbj0iVmlzaWJsZU1vZGVscyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDMiIEJvdW5kcz0iMSwzIiBOYW1lPSJWaXNpYmxlUGFyYW1ldGVycyIgQWxpYXM9IlBhcmFtZXRlciBXaW5kb3ciIEljb249IlZpc2libGVQYXJhbWV0ZXJzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwNCIgQm91bmRzPSIwLDQiIE5hbWU9IlZpc2libGVQdHlzIiBBbGlhcz0iUHJvcGVydHkgV2luZG93IiBJY29uPSJQcm9wZXJ0eVdpbmRvdyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMDUiIEJvdW5kcz0iMSw0IiBOYW1lPSJWaXNpYmxlTG9ncyIgQWxpYXM9IkxvZyBXaW5kb3ciIEljb249IlZpc2libGVMb2dzIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwNiIgQm91bmRzPSIwLDUiIE5hbWU9IlN0YWNrZWRQcm9qZWN0IiBBbGlhcz0iUHJvamVjdCBXaW5kb3ciIEljb249IlN0YWNrZWRQcm9qZWN0IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAwNyIgQm91bmRzPSIxLDUiIE5hbWU9IlN0YWNrZWRNZGkiIEFsaWFzPSJBbmFseXNpcyBXaW5kb3ciIEljb249IlN0YWNrZWRNZGkiIC8+DQogICAgICAgIDwvR3JvdXA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IldpbmRvd0xheW91dCIgQWxpYXM9IldpbmRvdyBMYXlvdXQiPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAxMSIgQm91bmRzPSIwLDAiIE5hbWU9IldpbmRvd0xheW91dEgiIEljb25Pbmx5PSIxIiBUaXBzPSJIb3Jpem9udGFsIExheW91dCIgSWNvbj0iV2luZG93TGF5b3V0SCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMTIiIEJvdW5kcz0iMSwwIiBOYW1lPSJXaW5kb3dMYXlvdXRWIiBJY29uT25seT0iMSIgVGlwcz0iVmVydGljYWwgTGF5b3V0IiBJY29uPSJXaW5kb3dMYXlvdXRWIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAxMyIgQm91bmRzPSIwLDEiIE5hbWU9IldpbmRvd0xheW91dFQiIEljb25Pbmx5PSIxIiBUaXBzPSJUaWxlIExheW91dCIgSWNvbj0iV2luZG93TGF5b3V0VCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMTQiIEJvdW5kcz0iMSwxIiBOYW1lPSJXaW5kb3dMYXlvdXRDIiBJY29uT25seT0iMSIgVGlwcz0iQ29sbGFwc2UgTGF5b3V0IiBJY29uPSJXaW5kb3dMYXlvdXRDIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJDbG9zZSIgQWxpYXM9IkNsb3NlIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMjEiIEJvdW5kcz0iMCwwIiBOYW1lPSJDbG9zZUN1clduZCIgQWxpYXM9IkNsb3NlIEN1cnJlbnQiIEljb249IkNsb3NlQWxsV2luZG93IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAyMiIgQm91bmRzPSIxLDAiIE5hbWU9IkNsb3NlQWxsV25kcyIgQWxpYXM9IkNsb3NlIEFsbCIgSWNvbj0iQ2xvc2VBbGxXaW5kb3ciIC8+DQogICAgICAgICAgICA8Q21kIElEPSI5MDIzIiBCb3VuZHM9IjAsMSIgTmFtZT0iUHJldlduZCIgQWxpYXM9IlByZXZpb3VzIiBJY29uT25seT0iMSIgSWNvbj0iVXAiIFRpcHM9IlByZXZpb3VzIFdpbmRvdyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjkwMjQiIEJvdW5kcz0iMSwxIiBOYW1lPSJOZXh0V25kIiBBbGlhcz0iTmV4dCIgSWNvbk9ubHk9IjEiIEljb249IkRvd24iIFRpcHM9Ik5leHQgV2luZG93IiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iOTAyNSIgQm91bmRzPSIwLDIsMiwxIiBUeXBlPSI3IiBOYW1lPSJMaXN0V3hXbmRzIiBBbGlhcz0iV2luZG93cyIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgIDwvVGFiPg0KDQogICAgPFRhYiBJRD0iMTAiIE5hbWU9IkhlbHAiIEFsaWFzPSJIZWxwIiA+DQoNCiAgICAgICAgPEdyb3VwIE5hbWU9IkhlbHAiIEFsaWFzPSJIZWxwIj4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDAxIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkxvZ1ZpZXciIEFsaWFzPSJMb2cgVmlldyhMKSIgSWNvbj0iTG9nVmlldyIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDAyIiBCb3VuZHM9IjAsMSwyLDEiIE5hbWU9IkhlbHAiIEFsaWFzPSJIZWxwKEgpIiBJY29uPSJIZWxwIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDgiIEJvdW5kcz0iMCwyLDIsMSIgTmFtZT0iVXBkYXRlTGlzdHMiIEFsaWFzPSJVcGRhdGUgTGlzdHMoSSkiIEljb249IlVwZGF0ZUxpc3RzIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJMYW5nIiBBbGlhcz0iTGFuZ3VhZ2UiPg0KICAgICAgICAgICA8Q21kIElEPSIxMDAwOSIgQm91bmRzPSIwLDAsMiwxIiBOYW1lPSJMYW5nU3dhcCIgQWxpYXM9IlN3YXAgbGFuZ3VhZ2UiIEljb249IkxhbmdTd2FwIiAvPg0KICAgICAgICA8L0dyb3VwPg0KDQogICAgICAgIDxHcm91cCBOYW1lPSJBYm91dCIgQWxpYXM9IkFib3V0Ij4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDAzIiBCb3VuZHM9IjAsMCwyLDEiIE5hbWU9IkFib3V0IiBBbGlhcz0iQWJvdXQoQSkiIEljb249IldUQUlBYm91dCIgLz4NCiAgICAgICAgICAgIDxDbWQgSUQ9IjEwMDA0IiBCb3VuZHM9IjEsMCIgTmFtZT0iQWJvdXRRdCIgQWxpYXM9IkFib3V0IFF0KFEpIiBJY29uPSJRdCIgVmlzaWJsZT0iMCIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iTG9naW4iIEFsaWFzPSJMb2dpbihEZWJ1ZykiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDciIEJvdW5kcz0iMCwwIiBOYW1lPSJSZWdpc3RlciIgQWxpYXM9IihEZWJ1ZylTb2Z0d2FyZSBSZWdpc3RyYXRpb24oUikiIEljb249IlJlZ2lzdGVyIiAvPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDUiIEJvdW5kcz0iMSwwIiBOYW1lPSJMb2dpbiIgQWxpYXM9IihEZWJ1ZylVc2VyIExvZ2luKFUpIiBJY29uPSJMb2dpbiIgLz4NCiAgICAgICAgPC9Hcm91cD4NCg0KICAgICAgICA8R3JvdXAgTmFtZT0iRGVidWciIEFsaWFzPSJEZWJ1ZyhEZWJ1ZykiPg0KICAgICAgICAgICAgPENtZCBJRD0iMTAwMDYiIEJvdW5kcz0iMCwwLDIsMSIgTmFtZT0iKERlYnVnKSBTdW0gUGFyYW1ldGVycyIgQWxpYXM9IihEZWJ1ZylTdW1tYXJpemUgTW9kZWwgUGFyYW1ldGVycyIgSWNvbj0iU3VtUGFyYSIgLz4NCiAgICAgICA8L0dyb3VwPg0KICAgIDwvVGFiPg0KDQo8L1JpYmJvbj4NCg== \ No newline at end of file diff --git a/Bin/Config/Common/ModelDescsLP-产能.dat b/Bin/Config/Common/ModelDescsLP-产能.dat deleted file mode 100644 index 8dc2a63..0000000 --- a/Bin/Config/Common/ModelDescsLP-产能.dat +++ /dev/null @@ -1 +0,0 @@ -77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+ebruaYr+W7uueri1dUQUnova/ku7bns7vnu5/mqKHlnovln7rmnKzlj4LmlbAo6L6T5YWlK+i+k+WHuikgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgQXV0aG9yKHMpOiB3YW5nemcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIERhdGU6IDIwMjQwMzAxLS0+DQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLSDpg6jliIbmlbDmja7pobnor7TmmI4NCiAgICAgICAgSUQ6ICAgICAgICAgIOWUr+S4gOagh+ivhu+8iOWmguaenElE5Li6Ii0xIuWImeiupOS4uuaYr+WIhue7hOS/oeaBr++8jOWmguS6leWei+S5i+S4rQ0KICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KICAgICAgICBGdWxsQWxpYXPvvJogIOWIq+WQjeeugOensO+8jOiAg+iZkeWIhue7hO+8jOavlOWmguaZuuiDveivhuWIq+S4re+8jOacieeCueexu+S8vGZ1bGxuYW1l55qE5qaC5b+1DQogICAgICAgIEljb27vvJogICAgICAg5Zu+5qCHDQogICAgICAgIEZsYWdzOiAgICAgICBGbGFnc+agh+ivhu+8jOWFt+S9k+WPguingSBtaWJGbGFncyDlrprkuYkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDml6DmoIflv5cNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnTm9uZSA9IDAsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDor6XmqKHlnovpgInpobnmmK/lkKbvvJrmlK/mjIHlpJrlsYLvvIjpu5jorqTkuI3mlK/mjIHvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDlr7nlupTnmoTmmK8g5aSa5bGC5qih5Z6L77yI5pWw5a2XRmxhZysx77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ011bHRpTGF5ZXIgPSAgICAweDAwMDAwMDAxLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm77ya5pSv5oyB5bmy5omw77yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOW5suaJsOaooeWei++8iOaVsOWtl0ZsYWcrMu+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdJbnRlcmZlcmUgPSAgICAgMHgwMDAwMDAwMiwNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOivpeaooeWei+mAiemhueaYr+WQpu+8muW4pui+ueeVjOS4reeahOmhtuW6leWxnuaAp++8iOm7mOiupOS4jeaUr+aMge+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOWvueW6lOeahOaYryDoh6rliqjlnKjop6Pph4rlj4LmlbDkuK3vvIzlop7liqAg6aG26L6555WM44CB5bqV6L6555WM77yI5pWw5a2XRmxhZys077yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0JkeU5lZWRlZCA9ICAgICAweDAwMDAwMDA0LA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5ZCv5Yqo5Y6L5Yqb5qKv5bqm77yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOaooeWei+mAiemhueWvueivneahhuW3puS4i+inkuaYr+WQpuWPr+S7peWLvumAie+8iOaVsOWtl0ZsYWcrOO+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdQcmVzc0dyYWQgPSAgICAgMHgwMDAwMDAwOCwNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOivpeaooeWei+mAiemhueaYr+WQpuaUr+aMge+8muWKqOaAgea4l+mAj+eOh++8iOm7mOiupOS4jeaUr+aMge+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOWvueW6lOeahOaYryDmqKHlnovpgInpobnlr7nor53moYblt6bkuIvop5LmmK/lkKblj6/ku6Xli77pgInvvIjmlbDlrZdGbGFnKzE277yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0R5bmFtaWNLID0gICAgICAweDAwMDAwMDEwLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5bCP5L+h5Y+377yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOaooeWei+mAiemhueWvueivneahhuW3puS4i+inkuaYr+WQpuWPr+S7peWLvumAie+8iOaVsOWtl0ZsYWcrMzLvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnU21hbGxTaWduYWwgPSAgIDB4MDAwMDAwMjAsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDor6XmqKHlnovpgInpobnmmK/lkKbmlK/mjIHvvJrlupTlipvmlY/mhJ/vvIjpu5jorqTkuI3mlK/mjIHvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDlr7nlupTnmoTmmK8g5qih5Z6L6YCJ6aG55a+56K+d5qGG5bem5LiL6KeS5piv5ZCm5Y+v5Lul5Yu+6YCJ77yI5pWw5a2XRmxhZys2NO+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdTdHJlc3NTZW5zaXRpdmUgPSAweDAwMDAwMDQwLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5ZC46ZmE77yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOaooeWei+mAiemhueWvueivneahhuW3puS4i+inkuaYr+WQpuWPr+S7peWLvumAie+8iOaVsOWtl0ZsYWcrMTI477yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0Fkc29ycHRpb24gPSAgICAweDAwMDAwMDgwLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5omp5bGVMX4277yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0V4dDEgPSAgICAgICAgICAweDAwMDAwMTAwLCAvL++8iOaVsOWtl0ZsYWcrMjU277yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0V4dDIgPSAgICAgICAgICAweDAwMDAwMjAwLCAvL++8iOaVsOWtl0ZsYWcrNTEy77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0V4dDMgPSAgICAgICAgICAweDAwMDAwNDAwLCAvL++8iOaVsOWtl0ZsYWcrMTAyNO+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdFeHQ0ID0gICAgICAgICAgMHgwMDAwMDgwMCwgLy/vvIjmlbDlrZdGbGFnKzIwNDjvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnRXh0NSA9ICAgICAgICAgIDB4MDAwMDEwMDAsIC8v77yI5pWw5a2XRmxhZys0MDk277yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0V4dDYgPSAgICAgICAgICAweDAwMDAyMDAwLCAvL++8iOaVsOWtl0ZsYWcrODE5Mu+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgRmxhZ0Rlc2NzOiAgIEZsYWdz5qCH6K+G6K+05piO77yM5Y+q5piv5Li65LqG6YWN572u5pe25pa55L6/DQogICAgICAgIFRpcHPvvJogICAgICAg6L6F5Yqp6K+05piODQoNCumineWkluivtOaYju+8muS6leWei+WCqOWxguexu+Wei+S/ruaUueWQju+8jOeQhuiuuuS4ikNodUFpTW9kZWxEZWZpbmVzLmluaeS5n+imgeebuOW6lOS/ruaUuQ0KLS0+DQoNCjxSb290Pg0KDQogICAgPCEtLSDkupXlgqjmqKHlnovvvIjov5nmmK/kupXlgqjnmoTln7rmnKzorr7lrprvvIkgLS0+DQogICAgPFdCU01vZGVsIE5hbWU9IjEiPg0KICAgICAgICA8T3B0aW9uIElEPSIwMSIgTmFtZT0iV2JzTm9uZSIgQWxpYXM9IuaXoOS6leWCqCIgVGlwcz0iIiBFeHRJRCA9IldiczAwMDAxIiBGbGFncz0iMiIgRmxhZ0Rlc2NzPSIy5bmy5omwIiAvPg0KDQogICAgPC9XQlNNb2RlbD4NCg0KICAgIDwhLS0g6L6555WM5qih5Z6L77yI6L+Z5piv6L6555WM55qE5Z+65pys6K6+5a6a77yJLS0+DQogICAgPEJEWU1vZGVsIE5hbWU9IiIgQWxpYXM9IiIgVGlwcz0iIiA+DQogICAgICAgIDxPcHRpb24gSUQ9IjAwIiBOYW1lPSJCZHlJbmZpbml0ZSIgQWxpYXM9IuaXoOmZkOWkpyIgVGlwcz0iIiBFeHRJRCA9IkJkeTAwMDAxIiBGbGFncz0iMzUiIC8+DQogICAgPC9CRFlNb2RlbD4NCg0KICAgIDwhLS0g5LqV5qih5Z6L77yI6L+Z5piv5LqV57G75Z6L55qE5Z+65pys6K6+5a6a77yJLS0+DQogICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IiIgVGlwcz0iIiA+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iMTAwIiBOYW1lPSJXZWxsViIgQWxpYXM9IuebtOS6lSIgVGlwcz0iIiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDEiIE5hbWU9IldlbGxQQ0wiIEFsaWFzPSLmsLTlubPkupUiIFRpcHM9IiIgLz4NCg0KICAgIDwvV0VMTW9kZWw+DQoNCiAgICA8IS0tIOWCqOWxguaooeWei++8iOi/meaYr+WCqOWxguexu+Wei+eahOWfuuacrOiuvuWumu+8iS0tPg0KICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSIiIFRpcHM9IiIgPg0KDQogICAgICAgIDxPcHRpb24gSUQ9IjEwMCIgTmFtZT0iIiBBbGlhcz0i5rK55LqVIiBUaXBzPSIiIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjEwMiIgTmFtZT0iIiBBbGlhcz0i5rCU5LqVIiBUaXBzPSIiLz4NCg0KICAgIDwvUkVTTW9kZWw+DQoNCiAgICA8IS0tIOS7juacrOihjOW+gOS4i++8jOaYr+WunumZhemFjee9rueahOivleS6leaooeWei++8jOS5n+WwseaYr+eul+azleaUr+aMgeeahOaooeWei+mAiemhuS0tPg0KDQogICAgPCEtLSDlhbHmgKflj4LmlbDvvIzmnaXmupDkuo4gU2hlZXTvvJrlhbHmgKflj4LmlbAgLS0+DQogICAgPCEtLSDlhbbkuK3vvIxPdXRwdXRz5YWx5oCn5Y+C5pWw6L+Y6KaB6ICD6JmRIOi+ueeVjOaooeWeiyDkuK0gUGFyYXMg5pWw5o2u6aG5IC0tPg0KICAgIDxDb21tb25QYXJhcz4NCg0KICAgICAgICA8TFAgSW5wdXRzPSLkupXlvoQ75YKo5bGC5Y6a5bqmO+WtlOmameW6pjvkvZPnp6/ns7vmlbA75rK555u46buP5bqmO+awtOebuOm7j+W6pjvnu7zlkIjljovnvKnns7vmlbA75Yid5aeL5Y6L5YqbIiAvPg0KICAgICAgICA8TFAgT3V0cHV0cz0i5Zyw5bGC5Y6L5YqbO+a1i+ivleaXtumXtDvmjqLmtYvljYrlvoQ75Zyw5bGC57O75pWwO+a1geW6pjvmt7flkIjpu4/luqYiIC8+DQoNCiAgICA8L0NvbW1vblBhcmFzPg0KDQogICAgPCEtLSDlrp7pmYXphY3nva7nmoTor5XkupXmqKHlnovvvIzkuZ/lsLHmmK/nrpfms5XmlK/mjIHnmoTmqKHlnovpgInpobkgLS0+DQogICAgPCEtLSDlpoLmnpzlkIzkuIDkuKrmqKHlnovphY3nva7kuKTpgY3vvIzliJnpgJrluLjmmK/vvIzlkLjpmYTkuLropb/lronmqKHlnosv6Z2e5ZC46ZmE5Li65YyX5Lqs5qih5Z6LIC0tPg0KICAgIDxNb2RlbElvRGVzY3MgTmFtZT0iIiBBbGlhcz0i5aSE55CG6Kej6YeK5qih5Z6LIiBUaXBzPSIiID4NCg0KICAgICAgICA8IS0t55u05LqVLS0+DQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLnm7TkupUiIElEPSIxMDAiIFNlcmllcz0iTFAiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5rK55LqVIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5rCU5LqVIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+eqnOa1geezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5a2U6ZqZ5bqmO+Wfuui0qOe7vOWQiOWOi+e8qeezu+aVsCIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLeawtOW5s+S6lS0tPg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5rC05bmz5LqVIiBJRD0iMTAxIiBTZXJpZXM9IkxQIj4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuayueS6lSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuawlOS6lSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvln7rotKjnu7zlkIjljovnvKnns7vmlbAiLz4NCg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQoNCiAgICA8L01vZGVsSW9EZXNjcz4NCjwvUm9vdD4NCg== \ No newline at end of file diff --git a/Bin/Config/Common/ModelDescsLP.dat b/Bin/Config/Common/ModelDescsLP.dat deleted file mode 100644 index 6f33176..0000000 --- a/Bin/Config/Common/ModelDescsLP.dat +++ /dev/null @@ -1 +0,0 @@ -77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+ebruaYr+W7uueri1dUQUnova/ku7bns7vnu5/mqKHlnovln7rmnKzlj4LmlbAo6L6T5YWlK+i+k+WHuikgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgQXV0aG9yKHMpOiB3YW5nemcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIERhdGU6IDIwMjQwMzAxLS0+DQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLSDpg6jliIbmlbDmja7pobnor7TmmI4NCiAgICAgICAgSUQ6ICAgICAgICAgIOWUr+S4gOagh+ivhu+8iOWmguaenElE5Li6Ii0xIuWImeiupOS4uuaYr+WIhue7hOS/oeaBr++8jOWmguS6leWei+S5i+S4rQ0KICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KICAgICAgICBGdWxsQWxpYXPvvJogIOWIq+WQjeeugOensO+8jOiAg+iZkeWIhue7hO+8jOavlOWmguaZuuiDveivhuWIq+S4re+8jOacieeCueexu+S8vGZ1bGxuYW1l55qE5qaC5b+1DQogICAgICAgIEljb27vvJogICAgICAg5Zu+5qCHDQogICAgICAgIEZsYWdzOiAgICAgICBGbGFnc+agh+ivhu+8jOWFt+S9k+WPguingSBtaWJGbGFncyDlrprkuYkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDml6DmoIflv5cNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnTm9uZSA9IDAsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDor6XmqKHlnovpgInpobnmmK/lkKbvvJrmlK/mjIHlpJrlsYLvvIjpu5jorqTkuI3mlK/mjIHvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDlr7nlupTnmoTmmK8g5aSa5bGC5qih5Z6L77yI5pWw5a2XRmxhZysx77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ011bHRpTGF5ZXIgPSAgICAweDAwMDAwMDAxLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm77ya5pSv5oyB5bmy5omw77yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOW5suaJsOaooeWei++8iOaVsOWtl0ZsYWcrMu+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdJbnRlcmZlcmUgPSAgICAgMHgwMDAwMDAwMiwNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOivpeaooeWei+mAiemhueaYr+WQpu+8muW4pui+ueeVjOS4reeahOmhtuW6leWxnuaAp++8iOm7mOiupOS4jeaUr+aMge+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOWvueW6lOeahOaYryDoh6rliqjlnKjop6Pph4rlj4LmlbDkuK3vvIzlop7liqAg6aG26L6555WM44CB5bqV6L6555WM77yI5pWw5a2XRmxhZys077yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0JkeU5lZWRlZCA9ICAgICAweDAwMDAwMDA0LA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5ZCv5Yqo5Y6L5Yqb5qKv5bqm77yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOaooeWei+mAiemhueWvueivneahhuW3puS4i+inkuaYr+WQpuWPr+S7peWLvumAie+8iOaVsOWtl0ZsYWcrOO+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdQcmVzc0dyYWQgPSAgICAgMHgwMDAwMDAwOCwNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOivpeaooeWei+mAiemhueaYr+WQpuaUr+aMge+8muWKqOaAgea4l+mAj+eOh++8iOm7mOiupOS4jeaUr+aMge+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOWvueW6lOeahOaYryDmqKHlnovpgInpobnlr7nor53moYblt6bkuIvop5LmmK/lkKblj6/ku6Xli77pgInvvIjmlbDlrZdGbGFnKzE277yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0R5bmFtaWNLID0gICAgICAweDAwMDAwMDEwLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5bCP5L+h5Y+377yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOaooeWei+mAiemhueWvueivneahhuW3puS4i+inkuaYr+WQpuWPr+S7peWLvumAie+8iOaVsOWtl0ZsYWcrMzLvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnU21hbGxTaWduYWwgPSAgIDB4MDAwMDAwMjAsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDor6XmqKHlnovpgInpobnmmK/lkKbmlK/mjIHvvJrlupTlipvmlY/mhJ/vvIjpu5jorqTkuI3mlK/mjIHvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDlr7nlupTnmoTmmK8g5qih5Z6L6YCJ6aG55a+56K+d5qGG5bem5LiL6KeS5piv5ZCm5Y+v5Lul5Yu+6YCJ77yI5pWw5a2XRmxhZys2NO+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdTdHJlc3NTZW5zaXRpdmUgPSAweDAwMDAwMDQwLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5ZC46ZmE77yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOaooeWei+mAiemhueWvueivneahhuW3puS4i+inkuaYr+WQpuWPr+S7peWLvumAie+8iOaVsOWtl0ZsYWcrMTI477yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0Fkc29ycHRpb24gPSAgICAweDAwMDAwMDgwLA0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDor6XmqKHlnovpgInpobnmmK/lkKbmmK/vvJrkuqfog73mqKHlvI/vvIjpu5jorqTkuI3mlK/mjIHvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDlr7nlupTnmoTmmK8g5piv5ZCm5Lqn6IO96K+V5LqV77yM5rOo5oSP77yM5LiO5YW25a6D5omA5pyJ5qCH6K+G5LqS5pal77yI5pWw5a2XRmxhZysyNTbvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDor6XmlrnmoYjmlL7lnKjmraTlpITlj6rmmK/kuIDnp43mnYPlrpzkuYvorqENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnV0RUID0gICAgICAgICAgMHgwMDAwMDEwMCwgLy/vvIjmlbDlrZdGbGFnKzI1Nu+8iQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5omp5bGVMX4277yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0V4dDIgPSAgICAgICAgICAweDAwMDAwMjAwLCAvL++8iOaVsOWtl0ZsYWcrNTEy77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0V4dDMgPSAgICAgICAgICAweDAwMDAwNDAwLCAvL++8iOaVsOWtl0ZsYWcrMTAyNO+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdFeHQ0ID0gICAgICAgICAgMHgwMDAwMDgwMCwgLy/vvIjmlbDlrZdGbGFnKzIwNDjvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnRXh0NSA9ICAgICAgICAgIDB4MDAwMDEwMDAsIC8v77yI5pWw5a2XRmxhZys0MDk277yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0V4dDYgPSAgICAgICAgICAweDAwMDAyMDAwLCAvL++8iOaVsOWtl0ZsYWcrODE5Mu+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgRmxhZ0Rlc2NzOiAgIEZsYWdz5qCH6K+G6K+05piO77yM5Y+q5piv5Li65LqG6YWN572u5pe25pa55L6/DQogICAgICAgIFRpcHPvvJogICAgICAg6L6F5Yqp6K+05piODQoNCiAgICDpop3lpJbor7TmmI7vvJoNCiAgICAgICAgMS4g5LqV5Z6L5YKo5bGC57G75Z6L5L+u5pS55ZCO77yM55CG6K665LiKQ2h1QWlNb2RlbERlZmluZXMuaW5p5Lmf6KaB55u45bqU5L+u5pS5DQogICAgICAgIDIuIOS6leWei+WCqOWxguexu+Wei+eahElE5aaC5p6c5L+u5pS577yM5Y+v6IO95raJ5Y+KWGFCZHlTcGVjaWFscy5pbmnmlofku7bnmoTnm7jlupTkv67mlLkNCi0tPg0KDQo8Um9vdD4NCg0KICAgIDwhLS0g5LqV5YKo5qih5Z6L77yI6L+Z5piv5LqV5YKo55qE5Z+65pys6K6+5a6a77yJDQogICAgLS0+DQogICAgPFdCU01vZGVsIE5hbWU9IjEiPg0KICAgICAgICA8T3B0aW9uIElEPSIwMSIgTmFtZT0iV2JzTm9uZSIgQWxpYXM9IuaXoOS6leWCqCIgVGlwcz0iIiBFeHRJRCA9IldiczAwMDAxIiBGbGFncz0iMiIgRmxhZ0Rlc2NzPSIy5bmy5omwIiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIwMCIgTmFtZT0iV2JzQ29ucyIgQWxpYXM9IuWumuS6leWCqCIgVGlwcz0iIiBFeHRJRCA9IldiczAwMDAyIiBQYXJhcz0i5LqV562S5YKo6ZuG57O75pWwIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjAyIiBOYW1lPSJXYnNGYWlyIiBBbGlhcz0i5Y+Y5LqV5YKoKEZhaXIpIiBQYXJhcz0i5LqV562S5YKo6ZuG57O75pWwO+WIneacq+S6leetkuWCqOmbhuezu+aVsOavlDvlj5jkupXlgqjml7bpl7QiIFRpcHM9IiIgRXh0SUQgPSJXYnMwMDAwMyIvPg0KICAgICAgICA8T3B0aW9uIElEPSIwMyIgTmFtZT0iV2JzSGVnZW1hbiIgQWxpYXM9IuWPmOS6leWCqChIZWdlbWFuKSIgUGFyYXM9IuS6leetkuWCqOmbhuezu+aVsDvliJ3mnKvkupXnrZLlgqjpm4bns7vmlbDmr5Q75Y+Y5LqV5YKo5pe26Ze0IiBUaXBzPSIiIEV4dElEID0iV2JzMDAwMDQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDQiIE5hbWU9Ildic1NwaXZleVBhY2tlciIgQWxpYXM9IuWPmOS6leWCqChTcGl2ZXkgUGFja2VyKSIgUGFyYXM9IuS6leetkuWCqOmbhuezu+aVsDvliJ3mnKvkupXnrZLlgqjpm4bns7vmlbDmr5Q75rOE5ryP6KGo55qu57O75pWwIiBUaXBzPSIiIEV4dElEID0iV2JzMDAwMDUiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDUiIE5hbWU9Ildic1NwaXZleUZpc3N1cmVzIiBBbGlhcz0i5Y+Y5LqV5YKoKFNwaXZleSBGaXNzdXJlcykiIFBhcmFzPSLkupXnrZLlgqjpm4bns7vmlbA75Yid5pyr5LqV562S5YKo6ZuG57O75pWw5q+UO+azhOa8j+ihqOearuezu+aVsCIgVGlwcz0iIiBFeHRJRCA9IldiczAwMDA2IiAvPg0KDQogICAgPC9XQlNNb2RlbD4NCg0KICAgIDwhLS0g6L6555WM5qih5Z6L77yI6L+Z5piv6L6555WM55qE5Z+65pys6K6+5a6a77yJ77yM5rOo5oSP77ya55+p5b2i6L6555WM6aG65bqP5L+u5pS577yM5b2x5ZONIGFwcGVuZFBhcmFzX0JkeSDlh73mlbAtLT4NCiAgICA8QkRZTW9kZWwgTmFtZT0iIiBBbGlhcz0iIiBUaXBzPSIiID4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDAiIE5hbWU9IkJkeUluZmluaXRlIiBBbGlhcz0i5peg6ZmQ5aSnIiBUaXBzPSIiIEV4dElEID0iQmR5MDAwMDEiIEZsYWdzPSIzNSIgRmxhZ0Rlc2NzPSIx5aSa5bGCKzLlubLmibArMzLlsI/kv6Hlj7ciIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjAxIiBOYW1lPSJCZHlPbmUiIEFsaWFzPSLljZXkuIDovrnnlYwiIFBhcmFzPSLljZfovrnnlYwiIEZpZz0iVGhlb3J5X0N1cnZlMi5wbmciIFRpcHM9IiIgRXh0SUQgPSJCZHkwMDAwMyIvPg0KICAgICAgICA8T3B0aW9uIElEPSIwMiIgTmFtZT0iQnlkUGFyYWwiIEFsaWFzPSLlubPooYzovrnnlYwiIFBhcmFzPSLljJfovrnnlYw75Y2X6L6555WMIiBUaXBzPSIiIEV4dElEID0iQmR5MDAwMDQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDMiIE5hbWU9IkJ5ZFRyaSIgQWxpYXM9IlXlnovovrnnlYwiIFBhcmFzPSLopb/ovrnnlYw75Y2X6L6555WMO+S4nOi+ueeVjCIgVGlwcz0iIiBFeHRJRCA9IkJkeTAwMDA1Ii8+DQogICAgICAgIDxPcHRpb24gSUQ9IjA0IiBOYW1lPSJCZHlDcm9zcyIgQWxpYXM9IuS6pOWPiei+ueeVjCIgUGFyYXM9Iuilv+i+ueeVjDvljZfovrnnlYw76L6555WM5aS56KeSIiBUaXBzPSIiIEV4dElEID0iQmR5MDAwMDciLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDUiIE5hbWU9IkJkeUNpcmNsZSIgQWxpYXM9IuWchuW9oui+ueeVjCIgUGFyYXM9IuWchuW9oui+ueeVjCIgVGlwcz0iIiBFeHRJRCA9IkJkeTAwMDAyIiBGbGFncz0iMSIgRmxhZ0Rlc2NzPSIx5aSa5bGCIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjA2IiBOYW1lPSJCZHlSZWN0IiBBbGlhcz0i55+p5b2i6L6555WMIiBQYXJhcz0i5YyX6L6555WMO+WNl+i+ueeVjDvopb/ovrnnlYw75Lic6L6555WMIiBUaXBzPSIiIEV4dElEID0iQmR5MDAwMDYiLz4NCiAgICA8L0JEWU1vZGVsPg0KDQogICAgPCEtLSDkupXmqKHlnovvvIjov5nmmK/kupXnsbvlnovnmoTln7rmnKzorr7lrprvvIktLT4NCiAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0iIiBUaXBzPSIiID4NCg0KICAgICAgICA8IS0t5p2D5a6c5LmL6K6h77yM5Lqn6IO96K+V5LqV5Lmf5pS+5Zyo5q2k5aSELS0+DQogICAgICAgIDxPcHRpb24gSUQ9IjExMDAiIE5hbWU9IldEVFdlbGxWIiBBbGlhcz0i55u05LqVIiBUaXBzPSIiIEZsYWdzPSIyNTYiIEZsYWdEZXNjcz0iMjU25Lqn6IO9IiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMTAxIiBOYW1lPSJXRFRXZWxsSCIgQWxpYXM9IuawtOW5s+S6lSIgVGlwcz0iIiBGbGFncz0iMjU2IiBGbGFnRGVzY3M9IjI1NuS6p+iDvSIgLz4NCg0KICAgICAgICA8IS0t55u05LqVLS0+DQogICAgICAgIDxPcHRpb24gSUQ9Ii0xIiBOYW1lPSIiIEFsaWFzPSLnm7TkupUiIFRpcHM9IiIgSWNvbj0iV2VsbE9pbCIgLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMTAwIiBOYW1lPSJXZWxsViIgQWxpYXM9IuWujOWFqOaJk+W8gCIgVGlwcz0iIiBFeHRJRCA9IldlbDAxMDAxIiBGbGFncz0iMTcxIiBGbGFnRGVzY3M9IjHlpJrlsYIrMuW5suaJsCs45ZCv5Yqo5Y6L5Yqb5qKv5bqmKzMy5bCP5L+h5Y+3KzEyOOWQuOmZhCIvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDEiIE5hbWU9IldlbGxQQ0wiIEFsaWFzPSLpg6jliIbmiZPlvIAiIFRpcHM9IiIgRXh0SUQgPSJXZWwwMTAwMiIgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KCQkNCiAgICAgICAgPCEtLeWOi+ijguebtOS6lS0tPg0KICAgICAgICA8T3B0aW9uIElEPSItMSIgTmFtZT0iIiBBbGlhcz0i5Y6L6KOC55u05LqVIiBUaXBzPSIiIEljb249IldlbGxHYXMiLz4NCg0KICAgICAgICA8T3B0aW9uIElEPSIxMDIiIE5hbWU9IldlbGxQVUYiIEFsaWFzPSLlnYfljIDmtYHph48iIFRpcHM9IiIgRXh0SUQgPSJXZWwwMjAwMSIgRmxhZ3M9IjEyOSIgRmxhZ0Rlc2NzPSIx5aSa5bGCKzEyOOWQuOmZhCIvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDMiIE5hbWU9IldlbGxQQ0kiIEFsaWFzPSLml6DpmZDlr7zmtYEiIFRpcHM9IiIgRXh0SUQgPSJXZWwwMjAwMiIgRmxhZ3M9IjEyOSIgRmxhZ0Rlc2NzPSIx5aSa5bGCKzEyOOWQuOmZhCIvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMTAiIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gSIgVGlwcz0iIiBFeHRJRCA9IldlbDAyMDAzIiBGbGFncz0iMTYxIiBGbGFnRGVzY3M9IjHlpJrlsYIrMzLlsI/kv6Hlj7crMTI45ZC46ZmEIi8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iLTk5IiBOYW1lPSIiIEFsaWFzPSItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjEwNiIgTmFtZT0iV2VsbFBDRkYiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+WFqOino+aekCIgVGlwcz0i6YeH55So5a+85rWB6IO95Yqb5b2x5ZON5Ye95pWw6KGo5b6B5pyJ6ZmQ5ZKM5peg6ZmQ5a+85rWB6KOC57yd5LqV5pep5pyf5LqV5bqV5Y6L5Yqb5ZON5bqU55qE5beu5byC77yM5b6X5Yiw5pyJ6ZmQ5a+85rWB6KOC57yd5LqV5bqV5Y6L5Yqb6Kej5p6Q6Kej44CCIiBGaWc9IldlbF8xMDYiIC8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iLTk5IiBOYW1lPSIiIEFsaWFzPSItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iIC8+DQogICAgICAgIDwhLS08T3B0aW9uIElEPSIxMDQiIE5hbWU9IldlbGxQQ0ZMIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfkuInnur/mgKfmtYHvvIjljJfkuqzvvIkiIEZ1bGxBbGlhcz0i5Y6L6KOC55u05LqVwrfkuInnur/mgKfmtYHvvIjljJfkuqzvvIkiIFRpcHM9IuWwhua4l+a1geezu+e7n+WIhuaIkOS4ieS4quS4gOe7tOe6v+aAp+a1geWKqOWMuuWfn++8jOW+l+WIsOaciemZkOWvvOa1geijgue8neS6leW6leWOi+WKm+ino+aekOino+OAgiIgIEZpZz0iV2VsXzEwNCIgRmxhZ3M9IjMyIiBGbGFnRGVzY3M9IjMy5bCP5L+h5Y+3Ii8+LS0+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iNzQ4IiBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+WPjOe6v+aAp+a1gSIgRnVsbEFsaWFzPSLljovoo4Lnm7TkupXCt+WPjOe6v+aAp+a1gSIgVGlwcz0iIiBFeHRJRCA9IldlbDAyMDAzLTIiIEZsYWdzPSI4IiBGbGFnRGVzY3M9IjjlkK/liqjljovlipvmoq/luqYiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzUwIiBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S4iee6v+aAp+a1gSIgRnVsbEFsaWFzPSLljovoo4Lnm7TkupXCt+S4iee6v+aAp+a1gSIgVGlwcz0iIiBFeHRJRCA9IldlbDAyMDAzLTMiIEZsYWdzPSI4IiBGbGFnRGVzY3M9IjjlkK/liqjljovlipvmoq/luqYiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzQ5IiBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S6lOe6v+aAp+a1gSIgRnVsbEFsaWFzPSLljovoo4Lnm7TkupXCt+S6lOe6v+aAp+a1gSIgVGlwcz0iIiBFeHRJRCA9IldlbDAyMDAzLTUiLz4NCg0KICAgICAgICA8T3B0aW9uIElEPSItOTkiIE5hbWU9IiIgQWxpYXM9Ii0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIgLz4NCg0KICAgICAgICAgPCEtLVhIMTEuMjbmt7vliqAg5Y6L6KOC5LqV4oCU4oCU5pyJ6ZmQ5a+85rWB77yI5b+r77yJ5pS55Li6IOWOi+ijguS6leKAlOKAlOaciemZkOWvvOa1ge+8iOWFqOino+aekO+8iS0tPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDciIE5hbWU9IldlbGxQQzIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S4pOauteijgue8nSIgVGlwcz0i6ICD6JmR6KOC57yd5a+85rWB6IO95Yqb5LiN5Z2H5YyA77yM5bCG6KOC57yd5Y2K6ZW/5YiG5Li6Muaute+8jOavj+auteeahOWvvOa1geiDveWKm+WSjOS6p+mHj+S4jeWQjOOAgiIgRmlnPSJXZWxfMTA3IiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDgiIE5hbWU9IldlbGxQQzMiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S4ieauteijgue8nSIgVGlwcz0i6ICD6JmR6KOC57yd5a+85rWB6IO95Yqb5LiN5Z2H5YyA77yM5bCG6KOC57yd5Y2K6ZW/5YiG5Li6M+aute+8jOavj+auteeahOWvvOa1geiDveWKm+WSjOS6p+mHj+S4jeWQjOOAgiIgRmlnPSJXZWxfMTA4IiAvPg0KICAgICAgICA8IS0tPE9wdGlvbiBJRD0iMTA5IiBOYW1lPSJXZWxsUENGMiIgQWxpYXM9IuWOi+ijguebtOS6lSjmnInpmZDlr7zmtYEpLeS4pOautSIgVGlwcz0iIiAvPi0tPg0KDQogICAgICAgIDxPcHRpb24gSUQ9Ii05OSIgTmFtZT0iIiBBbGlhcz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIiAvPg0KDQogICAgICAgIDxPcHRpb24gSUQ9IjcwNSIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byAwrflnYfljIDmtYHph48iIFRpcHM9IiIgRXh0SUQgPSJXZWwwMjAwNCIgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MDYiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gMK35peg6ZmQ5a+85rWBIiBUaXBzPSIiIEV4dElEID0iV2VsMDIwMDUiIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzA3IiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDCt+aciemZkOWvvOa1gSIgVGlwcz0iIiBFeHRJRCA9IldlbDAyMDA2IiBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQoNCiAgICAgICAgPCEtLeawtOW5s+S6lS0tPg0KICAgICAgICA8T3B0aW9uIElEPSItMSIgTmFtZT0iIiBBbGlhcz0i5rC05bmz5LqVIiBUaXBzPSIiIEljb249IldlbGxPaWwiIC8+DQoNCiAgICAgICAgPCEtLSBYSCAgT3B0aW9uIElEPSIyMDAiIE5hbWU9IldlbGxIIiBBbGlhcz0i5rC05bmz5LqVIiBCYXNlUGFyYXM9IuawtOW5s+S6lemVv+W6pjvlnoLlkJHkupXkvY075LqV5pac6KeS5bqmIiBUaXBzPSIiIEV4dElEID0iV2VsMDMwMDEiLy0tPg0KICAgICAgICA8T3B0aW9uIElEPSIyMDEiIE5hbWU9IldlbGxIQ00iIEFsaWFzPSLluLjop4QiIEZ1bGxBbGlhcz0i5bi46KeE5rC05bmz5LqVIiBCYXNlUGFyYXM9IuawtOW5s+S6lemVv+W6pjvlnoLlkJHkupXkvY075LqV5pac6KeS5bqmIiBUaXBzPSIiIEV4dElEID0iV2VsMDMwMDEiLz4NCg0KICAgICAgICA8T3B0aW9uIElEPSIyMDIiIE5hbWU9IldlbGxIU0wyIiBBbGlhcz0i5Lik5q615rWB6YePIiAgRmlnPSJXZWxfMjAyIiBCYXNlUGFyYXM9IuawtOW5s+S6lemVv+W6pjvlnoLlkJHkupXkvY075LqV5pac6KeS5bqmO+WOi+ijguauteaVsDvoo4LnvJ3ljYrplb8iIFRpcHM9IuWBh+iuvuawtOW5s+S6leS4pOWkhOS6leauteWtmOWcqOa1geS9k+eahOa1geWFpeaIlua1geWHuiIgRXh0SUQgPSJXZWwwMzAwMiIvPg0KICAgICAgICA8T3B0aW9uIElEPSIyMDQiIE5hbWU9IldlbGxIU0wzIiBBbGlhcz0i5LiJ5q615rWB6YePIiBGaWc9IldlbF8yMDQiIEJhc2VQYXJhcz0i5rC05bmz5LqV6ZW/5bqmO+WeguWQkeS6leS9jTvkupXmlpzop5LluqY75Y6L6KOC5q615pWwO+ijgue8neWNiumVvyIgVGlwcz0i5YGH6K6+5rC05bmz5LqV5LiJ5aSE5LqV5q615a2Y5Zyo5rWB5L2T55qE5rWB5YWl5oiW5rWB5Ye6IiBFeHRJRCA9IldlbDAzMDAzIi8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iMjAzIiBOYW1lPSJXZWxsSFNMMkJvdFdhdGVyIiBBbGlhcz0i5Lik5q615rWB6YePwrflupXmsLQiIEZpZz0iV2VsXzIwMyIgQmFzZVBhcmFzPSLmsLTlubPkupXplb/luqY76Led5YKo5bGC5bqV6YOo6Led56a7O+S6leaWnOinkuW6pjvljovoo4LmrrXmlbA76KOC57yd5Y2K6ZW/IiBUaXBzPSLlgYforr7msLTlubPkupXkuKTlpITkupXmrrXlrZjlnKjmtYHkvZPnmoTmtYHlhaXmiJbmtYHlh7rvvIzlgqjlsYLlupXmsLTlj5HogrIiIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjIwNSIgTmFtZT0iV2VsbEhTTDNCb3RXYXRlciIgQWxpYXM9IuS4ieautea1gemHj8K35bqV5rC0IiBGaWc9IldlbF8yMDUiIEJhc2VQYXJhcz0i5rC05bmz5LqV6ZW/5bqmO+i3neWCqOWxguW6lemDqOi3neemuzvkupXmlpzop5LluqY75Y6L6KOC5q615pWwO+ijgue8neWNiumVvyIgVGlwcz0i5YGH6K6+5rC05bmz5LqV5LiJ5aSE5LqV5q615a2Y5Zyo5rWB5L2T55qE5rWB5YWl5oiW5rWB5Ye677yM5YKo5bGC5bqV5rC05Y+R6IKyIiAvPg0KDQogICAgICAgIDwhLS3ljovoo4LmsLTlubPkupUtLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9IuWOi+ijguawtOW5s+S6lSIgVGlwcz0iIiBJY29uPSJXZWxsR2FzIiAvPg0KDQogICAgICAgIDxPcHRpb24gSUQ9IjcxMSIgTmFtZT0iIiBBbGlhcz0i5Z2H5YyA5rWB6YePwrfnroDljJYiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNDAwMSIgRmxhZ3M9IjEyOCIgRmxhZ0Rlc2NzPSIxMjjlkLjpmYQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzEyIiBOYW1lPSIiIEFsaWFzPSLlnYfljIDmtYHph48iIFRpcHM9IiIgRXh0SUQgPSJXZWwwNDAwMiIgRmxhZ3M9IjEyOCIgRmxhZ0Rlc2NzPSIxMjjlkLjpmYQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzEzIiBOYW1lPSIiIEFsaWFzPSLml6DpmZDlr7zmtYHCt+eugOWMliIgVGlwcz0iIiBFeHRJRCA9IldlbDA0MDAzIiBGbGFncz0iMTI4IiBGbGFnRGVzY3M9IjEyOOWQuOmZhCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MTQiIE5hbWU9IiIgQWxpYXM9IuaXoOmZkOWvvOa1gSIgVGlwcz0iIiBFeHRJRCA9IldlbDA0MDA0IiBGbGFncz0iMTI4IiBGbGFnRGVzY3M9IjEyOOWQuOmZhCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MTUiIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gcK3566A5YyWIiBUaXBzPSIiIEV4dElEID0iV2VsMDQwMDUiIEZsYWdzPSIxMjgiIEZsYWdEZXNjcz0iMTI45ZC46ZmEIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcxNiIgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBIiBUaXBzPSIiIEV4dElEID0iV2VsMDQwMDYiIEZsYWdzPSIxMjgiIEZsYWdEZXNjcz0iMTI45ZC46ZmEIi8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iLTk5IiBOYW1lPSIiIEFsaWFzPSItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iIC8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iNzQ1IiBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+WPjOe6v+aAp+a1gSIgRnVsbEFsaWFzPSLljovoo4LmsLTlubPkupXCt+WPjOe6v+aAp+a1gSIgRmxhZ3M9IjgiIEZsYWdEZXNjcz0iOOWQr+WKqOWOi+WKm+air+W6piIgRmlnPSJXZWxfNzQ1IiBUaXBzPSLljovoo4LkupXvvIjmnInpmZDlr7zmtYHljovoo4Lnm7TkupXjgIHmnInpmZDlr7zmtYHlpJrnuqfljovoo4LmsLTlubPkupXvvInvvIzor6XmqKHlnovkuLvopoHliIbkuLrkuKTljLpTUlbljLor5aSW5Zu05Z+66LSo5Yy6IiAgRXh0SUQgPSJXZWwwNDAwNS0yIi8+DQogICAgICAgIDxPcHRpb24gSUQ9Ijc0NiIgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfkuInnur/mgKfmtYEiIEZ1bGxBbGlhcz0i5Y6L6KOC5rC05bmz5LqVwrfkuInnur/mgKfmtYEiIEZsYWdzPSI4IiBGbGFnRGVzY3M9IjjlkK/liqjljovlipvmoq/luqYiIEZpZz0iV2VsXzc0NiIgVGlwcz0i5Y6L6KOC5LqV77yI5pyJ6ZmQ5a+85rWB5Y6L6KOC55u05LqV44CB5pyJ6ZmQ5a+85rWB5aSa57qn5Y6L6KOC5rC05bmz5LqV77yJ77yM6K+l5qih5Z6L5Li76KaB5YiG5Li65LiJ5Yy677ya6KOC57yd5Yy677yMU1JW5Yy677yM5aSW5Zu05Z+66LSo5Yy6IiAgIEV4dElEID0iV2VsMDQwMDUtMyIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3NDciIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gcK35LqU57q/5oCn5rWBIiBGdWxsQWxpYXM9IuWOi+ijguawtOW5s+S6lcK35LqU57q/5oCn5rWBIiBGaWc9IldlbF83NDciIFRpcHM9IuWOi+ijguS6le+8iOaciemZkOWvvOa1geWOi+ijguebtOS6leOAgeaciemZkOWvvOa1geWkmue6p+WOi+ijguawtOW5s+S6le+8ie+8jOivpeaooeWei+S4u+imgeWIhuS4uuS6lOWMuu+8muijgue8neWMuu+8jFNSVuWMuu+8iDHvvInvvIzlpJblm7TljLrvvIgyLTTvvIkiICBFeHRJRCA9IldlbDA0MDA1LTUiLz4NCg0KICAgICAgICA8T3B0aW9uIElEPSItOTkiIE5hbWU9IiIgQWxpYXM9Ii0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIgLz4NCg0KICAgICAgICA8T3B0aW9uIElEPSI3MTciIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOWOi+ijguawtOW5s+S6lSjlnYfljIDmtYHph48pLeetiemXtOi3neetieWNiumVvyIgVGlwcz0iIiBFeHRJRCA9IldlbDA0MDA3IiBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcxOCIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5Y6L6KOC5rC05bmz5LqVKOWdh+WMgOa1gemHjykiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNDAwOCIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzE5IiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDljovoo4LmsLTlubPkupUo5peg6ZmQ5a+85rWBKS3nrYnpl7Tot53nrYnljYrplb8iIFRpcHM9IiIgRXh0SUQgPSJXZWwwNDAwOSIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzIwIiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDljovoo4LmsLTlubPkupUo5peg6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA0MDEwIiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MjEiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOWOi+ijguawtOW5s+S6lSjmnInpmZDlr7zmtYEpLeetiemXtOi3neetieWNiumVvyIgVGlwcz0iIiBFeHRJRCA9IldlbDA0MDExIiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MjIiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOWOi+ijguawtOW5s+S6lSjmnInpmZDlr7zmtYEpIiBUaXBzPSIiIEV4dElEID0iV2VsMDQwMTIiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQoNCiAgICAgICAgPCEtLTxPcHRpb24gSUQ9IjIwNiIgTmFtZT0iV2VsbFBGQ00iIEFsaWFzPSLlpJrnuqfljovoo4LmsLTlubPkupUiIEZ1bGxBbGlhcz0iW+WQjeensOW+heWuml3lpJrnuqfljovoo4LmsLTlubPkupUiIFRpcHM9IuW+heWumiIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4tLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iMjA3IiBOYW1lPSJXZWxsUElDTSIgQWxpYXM9IuS4jeWdh+WMgOa1gemHjyIgVGlwcz0iIiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KDQogICAgICAgIDwhLS3mlpzkupUtLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9IuaWnOS6lSIgVGlwcz0iIiBJY29uPSJXZWxsT2lsIiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIzMDAiIE5hbWU9IiIgQWxpYXM9IuWujOWFqOaJk+W8gOaWnOS6lSIgQmFzZVBhcmFzPSLmlpzkupXplb/luqY75YKo5bGC5Y6a5bqmO+S6leaWnOinkuW6piIgVGlwcz0iIiBFeHRJRCA9IldlbDA1MDAxIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcyNCIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5pac5LqVIiBUaXBzPSIiIEV4dElEID0iV2VsMDUwMDIiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQoNCiAgICAgICAgPCEtLeWOi+ijguaWnOS6lS0tPg0KICAgICAgICA8T3B0aW9uIElEPSItMSIgTmFtZT0iIiBBbGlhcz0i5Y6L6KOC5pac5LqVIiBUaXBzPSIiIEljb249IldlbGxHYXMiIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcyNSIgTmFtZT0iIiBBbGlhcz0i5a6M5YWo5omT5byA5Y6L6KOC5pac5LqVKOWdh+WMgOa1gemHjykiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNjAwMSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MjYiIE5hbWU9IiIgQWxpYXM9IuWujOWFqOaJk+W8gOWOi+ijguaWnOS6lSjml6DpmZDlr7zmtYEpIiBUaXBzPSIiIEV4dElEID0iV2VsMDYwMDIiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzI3IiBOYW1lPSIiIEFsaWFzPSLlrozlhajmiZPlvIDljovoo4LmlpzkupUo5pyJ6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA2MDAzIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcyOCIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5Y6L6KOC5pac5LqVKOWdh+WMgOa1gemHjykiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNjAwNCIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzI5IiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDljovoo4LmlpzkupUo5peg6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA2MDA1IiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzAiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOWOi+ijguaWnOS6lSjmnInpmZDlr7zmtYEpIiBUaXBzPSIiIEV4dElEID0iV2VsMDYwMDYiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQoNCiAgICAgICAgPCEtLeWIhuaUr+awtOW5s+S6lS0tPg0KICAgICAgICA8T3B0aW9uIElEPSItMSIgTmFtZT0iIiBBbGlhcz0i5YiG5pSv5rC05bmz5LqVIiBUaXBzPSIiIEljb249IldlbGxPaWwiIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjczMSIgTmFtZT0iV2VsbFYiIEFsaWFzPSLkuozliIbmlK/msLTlubPkupUiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNzAwMSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzIiIE5hbWU9IldlbGxQIiBBbGlhcz0i5LiJ5YiG5pSv5rC05bmz5LqVIiBUaXBzPSIiIEV4dElEID0iV2VsMDcwMDIiLz4NCgkJDQogICAgICAgIDwhLS3ljovoo4LliIbmlK/msLTlubPkupUtLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9IuWOi+ijguWIhuaUr+awtOW5s+S6lSIgVGlwcz0iIiBJY29uPSJXZWxsR2FzIiAvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzMiIE5hbWU9IiIgQWxpYXM9IuWujOWFqOaJk+W8gOS6jOWIhuaUr+WOi+ijguawtOW5s+WIhuaUr+S6lSjlnYfljIDmtYHph48pIiBUaXBzPSIiIEV4dElEID0iV2VsMDgwMDEiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM0IiBOYW1lPSIiIEFsaWFzPSLlrozlhajmiZPlvIDkuozliIbmlK/ljovoo4LmsLTlubPliIbmlK/kupUo5peg6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA4MDAyIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjczNSIgTmFtZT0iIiBBbGlhcz0i5a6M5YWo5omT5byA5LqM5YiG5pSv5Y6L6KOC5rC05bmz5YiG5pSv5LqVKOaciemZkOWvvOa1gSkiIFRpcHM9IiIgRXh0SUQgPSJXZWwwODAwMyIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzYiIE5hbWU9IiIgQWxpYXM9IuWujOWFqOaJk+W8gOS4ieWIhuaUr+WOi+ijguawtOW5s+WIhuaUr+S6lSjlnYfljIDmtYHph48pIiBUaXBzPSIiIEV4dElEID0iV2VsMDgwMDQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM3IiBOYW1lPSIiIEFsaWFzPSLlrozlhajmiZPlvIDkuInliIbmlK/ljovoo4LmsLTlubPliIbmlK/kupUo5peg6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA4MDA1Ii8+DQogICAgICAgIDxPcHRpb24gSUQ9IjczOCIgTmFtZT0iIiBBbGlhcz0i5a6M5YWo5omT5byA5LiJ5YiG5pSv5Y6L6KOC5rC05bmz5YiG5pSv5LqVKOaciemZkOWvvOa1gSkiIFRpcHM9IiIgRXh0SUQgPSJXZWwwODAwNiIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzkiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOS6jOWIhuaUr+WOi+ijguawtOW5s+WIhuaUr+S6lSjlnYfljIDmtYHph48pIiBUaXBzPSIiIEV4dElEID0iV2VsMDgwMDciICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQogICAgICAgIDxPcHRpb24gSUQ9Ijc0MCIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5LqM5YiG5pSv5Y6L6KOC5rC05bmz5YiG5pSv5LqVKOaXoOmZkOWvvOa1gSkiIFRpcHM9IiIgRXh0SUQgPSJXZWwwODAwOCIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzQxIiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDkuozliIbmlK/ljovoo4LmsLTlubPliIbmlK/kupUo5pyJ6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA4MDA5IiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3NDIiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOS4ieWIhuaUr+WOi+ijguawtOW5s+WIhuaUr+S6lSjlnYfljIDmtYHph48pIiBUaXBzPSIiIEV4dElEID0iV2VsMDgwMTAiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQogICAgICAgIDxPcHRpb24gSUQ9Ijc0MyIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5LiJ5YiG5pSv5Y6L6KOC5rC05bmz5YiG5pSv5LqVKOaXoOmZkOWvvOa1gSkiIFRpcHM9IiIgRXh0SUQgPSJXZWwwODAxMSIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzQ0IiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDkuInliIbmlK/ljovoo4LmsLTlubPliIbmlK/kupUo5pyJ6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA4MDEyIiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KDQogICAgPC9XRUxNb2RlbD4NCg0KICAgIDwhLS0g5YKo5bGC5qih5Z6L77yI6L+Z5piv5YKo5bGC57G75Z6L55qE5Z+65pys6K6+5a6a77yJLS0+DQogICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IiIgVGlwcz0iIiA+DQoNCiAgICAgICAgPCEtLeadg+WunOS5i+iuoe+8jOS6p+iDveivleS6leS5n+aUvuWcqOatpOWkhC0tPg0KICAgICAgICA8T3B0aW9uIElEPSIxMTAwIiBOYW1lPSJXRFRSZXNPIiBBbGlhcz0i5rK55LqVIiBUaXBzPSIiIEZsYWdzPSIyNTYiIEZsYWdEZXNjcz0iMjU25Lqn6IO9IiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMTAxIiBOYW1lPSJXRFRSZXNHIiBBbGlhcz0i5rCU5LqVIiBUaXBzPSIiIEZsYWdzPSIyNTYiIEZsYWdEZXNjcz0iMjU25Lqn6IO9IiAvPg0KDQogICAgICAgIDwhLS3ljZXkuIDku4votKgtLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9IuWNleS4gOS7i+i0qCIgVGlwcz0iVE9ETyIgLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMTAwIiBOYW1lPSIiIEFsaWFzPSLlnYfotKgiIFRpcHM9IiIgRXh0SUQgPSJSZXMwMTAwMSIgRmxhZ3M9IjQzIiBGbGFnRGVzY3M9IjHlpJrlsYIrMuW5suaJsCs45ZCv5Yqo5Y6L5Yqb5qKv5bqmKzMy5bCP5L+h5Y+3Ii8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iMTAyIiBOYW1lPSIiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiIFRpcHM9IiIgRXh0SUQgPSJSZXMwMTAwMiIgRmxhZ3M9IjEzMCIgRmxhZ0Rlc2NzPSIy5bmy5omwKzEyOOWQuOmZhCIvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDMiIE5hbWU9IlJlc1R3b1Bvcl9QTEEiIEFsaWFzPSLlj4zlrZTmnb/nirbpnZ7nqLPmgIEiIFRpcHM9IiIgIEZsYWdzPSIxMzAiIEZsYWdEZXNjcz0iMuW5suaJsCsxMjjlkLjpmYQiIEV4dElEID0iUmVzMDEwMDQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMTA0IiBOYW1lPSJSZXNUd29Qb3JfQkFMIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiBUaXBzPSIiICBGbGFncz0iMTMwIiBGbGFnRGVzY3M9IjLlubLmibArMTI45ZC46ZmEIiBFeHRJRCA9IlJlczAxMDA2Ii8+DQogICAgICAgIDxPcHRpb24gSUQ9IjEwNSIgTmFtZT0iUmVzVHdvUG9yX0NZTCIgQWxpYXM9IuWPjOWtlOafseeKtumdnueos+aAgSIgVGlwcz0iIiAgRmxhZ3M9IjEzMCIgRmxhZ0Rlc2NzPSIy5bmy5omwKzEyOOWQuOmZhCIgRXh0SUQgPSJSZXMwMTAwNSIvPg0KDQogICAgICAgIDxPcHRpb24gSUQ9IjcyOSIgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCB5Y+M5riXIiBUaXBzPSIiIEV4dElEID0iUmVzMDEwMDMiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMTE2IiBOYW1lPSIiIEFsaWFzPSLkuInlrZTmi5/nqLPmgIEiIFRpcHM9IiIgIEZsYWdzPSIyIiBGbGFnRGVzY3M9IjLlubLmibAiIEV4dElEID0iUmVzMDEwMDciLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM0IiBOYW1lPSIiIEFsaWFzPSLkuInlrZTmi5/nqLPmgIHlj4zmuJciIFRpcHM9IiIgRXh0SUQgPSJSZXMwMTAwOCIvPg0KDQogICAgICAgIDwhLS08T3B0aW9uIElEPSIxMTciIE5hbWU9IlJlc1RyaUtFeCIgQWxpYXM9IuS4ieWtlOWNlea4l+W1jOWll+aLn+eos+aAgSIgVGlwcz0iIiBFeHRJRCA9IiIvPi0tPg0KDQogICAgICAgIDwhLS3pkojlr7nmsLTlubPkupXvvIwxMDLnmoTmqKHlnovvvIzotbAzMDDnmoTnrpfms5UtLT4NCg0KICAgICAgICA8IS0tICBPcHRpb24gSUQ9IjMwMCIgTmFtZT0iUmVzVHdvUG9yUG9zU3JjIiBBbGlhcz0i5Y+M6YeN5a2U6ZqZKOeCuea6kCkiIFRpcHM9IiIvLS0+DQoNCg0KICAgICAgICA8IS0t57q/5oCn5aSN5ZCILS0+DQogICAgICAgIDxPcHRpb24gSUQ9Ii0xIiBOYW1lPSIiIEFsaWFzPSLnur/mgKflpI3lkIgiIFRpcHM9IlRPRE8iIC8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iOTAxIiBOYW1lPSIiIEFsaWFzPSLnur/mgKflpI3lkIgiIFRpcHM9IiIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MDgiIE5hbWU9IiIgQWxpYXM9IuWdh+i0qOS6jOWMuue6v+aAp+WkjeWQiCIgVGlwcz0iIiBFeHRJRCA9IlJlczAyMDAxIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcxMiIgTmFtZT0iIiBBbGlhcz0i5Z2H6LSo5LiJ5Yy657q/5oCn5aSN5ZCIIiBUaXBzPSIiIEV4dElEID0iUmVzMDIwMDUiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzE2IiBOYW1lPSIiIEFsaWFzPSLlnYfotKjlm5vljLrnur/mgKflpI3lkIgiIFRpcHM9IiIgRXh0SUQgPSJSZXMwMjAwOSIvPg0KDQogICAgICAgIDwhLS3lvoTlkJHlpI3lkIgtLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9IuW+hOWQkeWkjeWQiCIgVGlwcz0iVE9ETyIgLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzIwIiBOYW1lPSIiIEFsaWFzPSLkuozljLrlvoTlkJHlpI3lkIgiIFRpcHM9IiIgRXh0SUQgPSJSZXMwMzAwMSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MjIiIE5hbWU9IiIgQWxpYXM9IuS4ieWMuuW+hOWQkeWkjeWQiCIgVGlwcz0iIiBFeHRJRCA9IlJlczAzMDAzIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcyNCIgTmFtZT0iIiBBbGlhcz0i5Zub5Yy65b6E5ZCR5aSN5ZCIIiBUaXBzPSIiIEV4dElEID0iUmVzMDMwMDUiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzI2IiBOYW1lPSIiIEFsaWFzPSLkupTljLrlvoTlkJHlpI3lkIgiIFRpcHM9IiIgRXh0SUQgPSJSZXMwMzAwNyIvPg0KDQogICAgICAgIDwhLS3nvJ3mtJ4tLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9Iue8nea0niIgVGlwcz0iVE9ETyIgLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM1IiBOYW1lPSIiIEFsaWFzPSLnvJ3mtJ4xIiBGaWc9IlJlc183MzUiICBUaXBzPSLnvJ3mtJ4x5qih5Z6LLeS6le+Clee8nS7mtJ4iIEV4dElEID0iUmVzMDQwMDgiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM2IiBOYW1lPSIiIEFsaWFzPSLnvJ3mtJ4yIiBGaWc9IlJlc183MzYiICAgVGlwcz0i57yd5rSeMuaooeWeiy3mtJ4xLue8nTEu5LqVLue8nTIu5rSeMu+8iSIgRXh0SUQgPSJSZXMwNDAwOSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzciIE5hbWU9IiIgQWxpYXM9Iue8nea0njMiIEZpZz0iUmVzXzczNyIgICBUaXBzPSLnvJ3mtJ4z5qih5Z6LLea0njEu57ydLua0njIgKOS6leWcqOa0njIpIiBFeHRJRCA9IlJlczA0MDEwIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjczOCIgTmFtZT0iIiBBbGlhcz0i57yd5rSeNCIgRmlnPSJSZXNfNzM4IiAgIFRpcHM9Iue8nea0njTmqKHlnost5rSeMS7nvJ0xLua0njIu57ydMi7kupUu57ydMyIgRXh0SUQgPSJSZXMwNDAxMSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzkiIE5hbWU9IiIgQWxpYXM9Iue8nea0njUiIEZpZz0iUmVzXzczOSIgICBUaXBzPSLnvJ3mtJ415qih5Z6LLeWtlC7nvJ0u5rq25rSe77yI5LqV5Zyo5rq25rSe5YaF77yJIiBFeHRJRCA9IlJlczA0MDEyIi8+DQoNCiAgICA8L1JFU01vZGVsPg0KDQogICAgPCEtLSDku47mnKzooYzlvoDkuIvvvIzmmK/lrp7pmYXphY3nva7nmoTor5XkupXmqKHlnovvvIzkuZ/lsLHmmK/nrpfms5XmlK/mjIHnmoTmqKHlnovpgInpobktLT4NCg0KICAgIDwhLS0g5YWx5oCn5Y+C5pWw77yM5p2l5rqQ5LqOIFNoZWV077ya5YWx5oCn5Y+C5pWwIC0tPg0KICAgIDwhLS0g5YW25Lit77yMT3V0cHV0c+WFseaAp+WPguaVsOi/mOimgeiAg+iZkSDovrnnlYzmqKHlnosg5LitIFBhcmFzIOaVsOaNrumhuSAtLT4NCiAgICA8Q29tbW9uUGFyYXM+DQoNCiAgICAgICAgPExQIElucHV0cz0i5LqV5b6EO+WCqOWxguWOmuW6pjvlrZTpmpnluqY75L2T56ev57O75pWwO+ayueebuOm7j+W6pjvmsLTnm7jpu4/luqY757u85ZCI5Y6L57yp57O75pWwO+WIneWni+WOi+WKmyIgLz4NCiAgICAgICAgPExQIE91dHB1dHM9IuWcsOWxguWOi+WKmzvmtYvor5Xml7bpl7Q75o6i5rWL5Y2K5b6EO+WcsOWxguezu+aVsDvmtYHluqY75re35ZCI6buP5bqmIiAvPg0KDQogICAgICAgIDxIVyBJbnB1dHM9IuS6leW+hDvlgqjlsYLljprluqY75a2U6ZqZ5bqmO+S9k+enr+ezu+aVsDvmsrnkvZPnp6/ns7vmlbA75rCU5L2T56ev57O75pWwO+awtOS9k+enr+ezu+aVsDvmsrnnm7jpu4/luqY75rC055u46buP5bqmO+e7vOWQiOWOi+e8qeezu+aVsDvliJ3lp4vljovlipsiIC8+DQogICAgICAgIDxIVyBPdXRwdXRzPSLlnLDlsYLljovlips75rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnLDlsYLns7vmlbA75rC05bmz5LqV6ZW/5bqmO+a1geW6pjvmt7flkIjpu4/luqYiIC8+DQoNCiAgICAgICAgPFNSIElucHV0cz0i5LqV5b6EO+WCqOWxguWOmuW6pjvlrZTpmpnluqY75L2T56ev57O75pWwO+ayueebuOm7j+W6pjvmsLTnm7jpu4/luqY757u85ZCI5Y6L57yp57O75pWwO+WIneWni+WOi+WKmyIgLz4NCiAgICAgICAgPFNSIE91dHB1dHM9IuWcsOWxguWOi+WKmzvmtYvor5Xml7bpl7Q75o6i5rWL5Y2K5b6EO+WcsOWxguezu+aVsDvmtYHluqY75re35ZCI6buP5bqmIiAvPg0KDQogICAgICAgIDxQRiBJbnB1dHM9IuS6leW+hDvlgqjlsYLljprluqY75a2U6ZqZ5bqmO+S9k+enr+ezu+aVsDvmsrnnm7jpu4/luqY75rC055u46buP5bqmO+e7vOWQiOWOi+e8qeezu+aVsDvms6jlhaXph4876IGa5ZCI54mp5Yid5aeL5rWT5bqmO+aJqeaVo+ezu+aVsDvliJ3lp4vljovlipsiIC8+DQogICAgICAgIDxQRiBPdXRwdXRzPSLlnLDlsYLljovlips75re35ZCI6buP5bqmIiAvPg0KDQogICAgICAgIDxYRCBJbnB1dHM9IuS6leW+hDvlgqjlsYLljprluqY75a2U6ZqZ5bqmO+S9k+enr+ezu+aVsDvmsrnnm7jpu4/luqY75rC055u46buP5bqmO+e7vOWQiOWOi+e8qeezu+aVsDvliJ3lp4vljovlipsiIC8+DQogICAgICAgIDxYRCBPdXRwdXRzPSLlnLDlsYLljovlips75rWL6K+V5pe26Ze0O+aOoua1i+WNiuW+hDvlnLDlsYLns7vmlbA75rWB5bqmO+a3t+WQiOm7j+W6piIgLz4NCg0KICAgICAgICA8WEEgSW5wdXRzPSLkupXlvoQ75YKo5bGC5Y6a5bqmO+WtlOmameW6pjvkvZPnp6/ns7vmlbA75rK555u46buP5bqmO+awtOebuOm7j+W6pjvnu7zlkIjljovnvKnns7vmlbA75Yid5aeL5Y6L5YqbIiAvPg0KICAgICAgICA8WEEgT3V0cHV0cz0i5Zyw5bGC5Y6L5YqbO+a1i+ivleaXtumXtDvmjqLmtYvljYrlvoQ75Zyw5bGC57O75pWwO+a1geW6pjvmt7flkIjpu4/luqYiIC8+DQoNCiAgICA8L0NvbW1vblBhcmFzPg0KDQogICAgPCEtLSDlrp7pmYXphY3nva7nmoTor5XkupXmqKHlnovvvIzkuZ/lsLHmmK/nrpfms5XmlK/mjIHnmoTmqKHlnovpgInpobkgLS0+DQogICAgPCEtLSDlpoLmnpzlkIzkuIDkuKrmqKHlnovphY3nva7kuKTpgY3vvIzliJnpgJrluLjmmK/vvIzlkLjpmYTkuLropb/lronmqKHlnosv6Z2e5ZC46ZmE5Li65YyX5Lqs5qih5Z6LIC0tPg0KICAgIDxNb2RlbElvRGVzY3MgTmFtZT0iIiBBbGlhcz0i5aSE55CG6Kej6YeK5qih5Z6LIiBUaXBzPSIiID4NCg0KDQogICAgICAgIDwhLS3mnYPlrpzkuYvorqHvvIzkuqfog73or5XkupXkuZ/mlL7lnKjmraTlpIQtLT4NCiAgICAgICAgPCEtLeebtOS6lS0tPg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i55u05LqVIiBJRD0iMTEwMCIgU2VyaWVzPSJXRFQiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iV0RUUmVzTyIgQWxpYXM9IuayueS6lSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IldEVFJlc0ciIEFsaWFzPSLmsJTkupUiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA75rCU5L2T56ev57O75pWwO+eqnOa1geezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5a2U6ZqZ5bqmO+Wfuui0qOe7vOWQiOWOi+e8qeezu+aVsCIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLeawtOW5s+S6lS0tPg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5rC05bmz5LqVIiBJRD0iMTEwMSIgU2VyaWVzPSJXRFQiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iV0RUUmVzTyIgQWxpYXM9IuayueS6lSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvmsLTlubPkupXplb/luqY75rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvmtYHluqY75re35ZCI6buP5bqmIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iV0RUUmVzRyIgQWxpYXM9IuawlOS6lSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvmsJTkvZPnp6/ns7vmlbA75Z+66LSo57u85ZCI5Y6L57yp57O75pWwO+awtOW5s+S6lemVv+W6pjvmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+a1geW6pjvmt7flkIjpu4/luqYiLz4NCg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQoNCiAgICAgICAgPCEtLeebtOS6lS0tPg0KDQogICAgICAgIDwhLS3nm7TkupUt5a6M5YWo5omT5byALS0+DQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLlrozlhajmiZPlvIAiIElEPSIxMDAiIFNlcmllcz0iTFAiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwIi8+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBJRD0iLTk5IiBOYW1lPSIiIEFsaWFzPSItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iLz4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvnqpzmtYHns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWtlOmameW6pjvln7rotKjnu7zlkIjljovnvKnns7vmlbAiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlj4zlrZTmnb/nirbpnZ7nqLPmgIEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA756qc5rWB57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlrZTpmpnluqY75Z+66LSo57u85ZCI5Y6L57yp57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5p+x54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+eqnOa1geezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5a2U6ZqZ5bqmO+Wfuui0qOe7vOWQiOWOi+e8qeezu+aVsCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvnqpzmtYHns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWtlOmameW6pjvln7rotKjnu7zlkIjljovnvKnns7vmlbAiLz4NCg0KICAgICAgICAgICAgPCEtLeWMl+S6rOS4juilv+WuieaooeWei+S4gOagt++8jOaUr+aMgeeahOi+ueeVjOexu+Wei+S4jeWQjO+8jOWPpuWkluWwseaYr++8jOWQuOmZhO+8jOmAieilv+Wuie+8jOmdnuWQuOmZhOmAieWMl+S6rC0tPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75rq25a2U5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOafseeKtumdnueos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgSUQ9Ii05OSIgTmFtZT0iIiBBbGlhcz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCB5Y+M5riXIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvmurblrZTlkJHoo4LnvJ3nqpzmtYHns7vmlbA76KOC57yd5rq25a2U5riX6YCP546H5q+UIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KDQogICAgICAgICAgICA8IS0t5YyX5Lqs5LiO6KW/5a6J5qih5Z6L5LiA5qC377yM5pSv5oyB55qE6L6555WM57G75Z6L5LiN5ZCM77yM5Y+m5aSW5bCx5piv77yM5ZC46ZmE77yM6YCJ6KW/5a6J77yM6Z2e5ZC46ZmE6YCJ5YyX5LqsLS0+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5LiJ5a2U5ouf56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvlvLnmgKflgqjlrrnmr5QxO+eqnOa1geezu+aVsDE756qc5rWB57O75pWwMiIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuS4ieWtlOaLn+eos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75rq25a2U5by55oCn5YKo5a655q+UO+a6tuWtlOWQkeijgue8neeqnOa1geezu+aVsDvlrZTpmpnlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLkuInlrZTmi5/nqLPmgIHlj4zmuJciIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+a6tuWtlOW8ueaAp+WCqOWuueavlDvmurblrZTlkJHoo4LnvJ3nqpzmtYHns7vmlbA75a2U6ZqZ5ZCR6KOC57yd56qc5rWB57O75pWwO+ijgue8nea6tuWtlOa4l+mAj+eOh+avlCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCg0KICAgICAgICAgICAgPCEtLTxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLkuInlrZTljZXmuJfltYzlpZfmi5/nqLPmgIEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+W8ueaAp+WCqOWuueavlDE756qc5rWB57O75pWwMTvnqpzmtYHns7vmlbAyIi8+DQogICAgICAgICAgICAgICAgLS0+DQogICAgICAgICAgICA8UkVTTW9kZWwgSUQ9Ii05OSIgTmFtZT0iIiBBbGlhcz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5LqM5Yy65b6E5ZCR5aSN5ZCIIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+a1geW6puavlDIxO+WvvOWOi+ezu+aVsOavlDIxO+WkjeWQiOWNiuW+hDIxIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIgLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLkuInljLrlvoTlkJHlpI3lkIgiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA75rWB5bqm5q+UMjE75a+85Y6L57O75pWw5q+UMjE75aSN5ZCI5Y2K5b6EMjE75rWB5bqm5q+UMzE75a+85Y6L57O75pWw5q+UMzE75aSN5ZCI5Y2K5b6EMzIiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Zub5Yy65b6E5ZCR5aSN5ZCIIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+a1geW6puavlDIxO+WvvOWOi+ezu+aVsOavlDIxO+WkjeWQiOWNiuW+hDIxO+a1geW6puavlDMxO+WvvOWOi+ezu+aVsOavlDMxO+WkjeWQiOWNiuW+hDMyO+a1geW6puavlDQxO+WvvOWOi+ezu+aVsOavlDQxO+WkjeWQiOWNiuW+hDQzIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgSUQ9Ii05OSIgTmFtZT0iIiBBbGlhcz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i57yd5rSeMSIgT3V0cHV0cz0i6KOC57yd5riX6YCP546HO+ijgue8nei/h+a1gemdouenrzvmurbmtJ7kvZPnp6876KOC57yd6ZW/5bqmO+ijgue8neW8ueaAp+WCqOWuueavlCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9Iue8nea0njIiIE91dHB1dHM9Iuijgue8nTHmuJfpgI/njoc76KOC57ydMei/h+a1gemdouenrzvmurbmtJ4x5L2T56evO+ijgue8nTHplb/luqY76KOC57ydMua4l+mAj+eOhzvoo4LnvJ0y6L+H5rWB6Z2i56evO+a6tua0njLkvZPnp6876KOC57ydMumVv+W6pjvoo4LnvJ0x5by55oCn5YKo5a655q+UO+ijgue8nTLlvLnmgKflgqjlrrnmr5Q75rq25rSeMeW8ueaAp+WCqOWuueavlCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9Iue8nea0njMiIE91dHB1dHM9Iua6tua0njHlkJHmurbmtJ4y56qc5rWB57O75pWwO+a6tua0njHkvZPnp6875rq25rSeMuS9k+enryIgU2VsQmR5ID0gIuaXoOmZkOWkpyIgU2VsV2JzID0gIuaXoOS6leWCqCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9Iue8nea0njQiIE91dHB1dHM9Iua6tua0njHlkJHmurbmtJ4y56qc5rWB57O75pWwO+a6tua0njHlkJHkupXnrZLnqpzmtYHns7vmlbA75rq25rSeMuWQkeS6leetkueqnOa1geezu+aVsDvmurbmtJ4x5L2T56evO+a6tua0njLkvZPnp68iIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLnvJ3mtJ41IiBPdXRwdXRzPSLmuJfpgI/njoc75rq25rSe5Y2K5b6EO+a6tua0nuW8ueaAp+WCqOWuueavlDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75rq25a2U5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIgU2VsV2JzID0gIuaXoOS6leWCqCIvPg0KICAgICAgICAgICAgPCEtLQ0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYTiIgQWxpYXM9Iue6v+aAp+WkjeWQiCIgICAgIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lrr3luqY75a+85Y6L57O75pWw5q+URjEiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4tLT4NCg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLeebtOS6lS3pg6jliIbmiZPlvIAtLT4NCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gCIgSUQ9IjEwMSIgU2VyaWVzPSJYQSI+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlnYfotKgiICAgICAgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLkuozljLrlvoTlkJHlpI3lkIgiICBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+WeguWQkeS6leS9jTvlsITlrZTpq5jluqY76KGo55qu57O75pWwO+a1geW6puavlDIxO+WvvOWOi+ezu+aVsOavlDIxO+WkjeWQiOWNiuW+hDIxIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOafseeKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLeWOi+ijguebtOS6lS0tPg0KDQogICAgICAgIDwhLS3ljovoo4Lnm7TkupUt5Z2H5YyA5rWB6YePLS0+DQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfljIDmtYHph48iIElEPSIxMDIiIFNlcmllcz0iTFAiPg0KICAgICAgICANCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/Ii8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5p2/54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5p+x54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQogICAgICAgICAgICA8IS0tPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuS4ieWtlOWNlea4l+W1jOWll+aLn+eos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb875by55oCn5YKo5a655q+UMTvnqpzmtYHns7vmlbAxO+eqnOa1geezu+aVsDI75by55oCn5YKo5a655q+UO+WxguS4gOWCqOWxguWOmuW6pjvlsYLkuIDmuJfpgI/njoc76KOC57yd5by55oCn5YKo5a655q+UIi8+LS0+DQoNCiAgICAgICAgICAgIDwhLS3ljJfkuqzkuI7opb/lronmqKHlnovkuIDmoLfvvIzmlK/mjIHnmoTovrnnlYznsbvlnovkuI3lkIzvvIzlj6blpJblsLHmmK/vvIzlkLjpmYTvvIzpgInopb/lronvvIzpnZ7lkLjpmYTpgInljJfkuqwtLT4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLkuozljLrlvoTlkJHlpI3lkIgiICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvmtYHluqbmr5QyMTvlr7zljovns7vmlbDmr5QyMTvlpI3lkIjljYrlvoQyMSIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiICAgICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmn7HnirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+CQ0KCQ0KICAgICAgICA8IS0t5Y6L6KOC55u05LqVLeaXoOmZkOWvvOa1gS0tPg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5peg6ZmQ5a+85rWBIiBJRD0iMTAzIiBTZXJpZXM9IkxQIj4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWdh+i0qCIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb8iLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+W8ueaAp+WCqOWuueavlDvnqpzmtYHns7vmlbAiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlj4zlrZTmnb/nirbpnZ7nqLPmgIEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+W8ueaAp+WCqOWuueavlDvnqpzmtYHns7vmlbAiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlj4zlrZTmn7HnirbpnZ7nqLPmgIEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+W8ueaAp+WCqOWuueavlDvnqpzmtYHns7vmlbAiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlj4zlrZTnkIPnirbpnZ7nqLPmgIEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+W8ueaAp+WCqOWuueavlDvnqpzmtYHns7vmlbAiLz4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuS4ieWtlOaLn+eos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5by55oCn5YKo5a655q+UO+W8ueaAp+WCqOWuueavlDE756qc5rWB57O75pWwMTvnqpzmtYHns7vmlbAyIi8+DQogICAgICAgICAgICA8IS0tPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuS4ieWtlOWNlea4l+W1jOWll+aLn+eos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5by55oCn5YKo5a655q+UO+W8ueaAp+WCqOWuueavlDE756qc5rWB57O75pWwMTvnqpzmtYHns7vmlbAyIi8+LS0+DQoNCiAgICAgICAgICAgIDwhLS3ljJfkuqzkuI7opb/lronmqKHlnovkuIDmoLfvvIzmlK/mjIHnmoTovrnnlYznsbvlnovkuI3lkIzvvIzlj6blpJblsLHmmK/vvIzlkLjpmYTvvIzpgInopb/lronvvIzpnZ7lkLjpmYTpgInljJfkuqwtLT4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLkuozljLrlvoTlkJHlpI3lkIgiICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvmtYHluqbmr5QyMTvlr7zljovns7vmlbDmr5QyMTvlpI3lkIjljYrlvoQyMSIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiICAgICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmn7HnirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+CQ0KCQ0KICAgICAgICA8IS0t5Y6L6KOC55u05LqVLeaciemZkOWvvOa1gS0tPg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBIiBJRD0iMTEwIiBTZXJpZXM9IkxQIj4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5p2/54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips75peg6YeP57qy6KOC57yd5a+85rWB6IO95YqbO+W8ueaAp+WCqOWuueavlDvnqpzmtYHns7vmlbAiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlj4zlrZTmn7HnirbpnZ7nqLPmgIEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvml6Dph4/nurLoo4LnvJ3lr7zmtYHog73lips75by55oCn5YKo5a655q+UO+eqnOa1geezu+aVsCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQoNCiAgICAgICAgICAgIDwhLS3ljJfkuqzkuI7opb/lronmqKHlnovkuIDmoLfvvIzmlK/mjIHnmoTovrnnlYznsbvlnovkuI3lkIzvvIzlj6blpJblsLHmmK/vvIzlkLjpmYTvvIzpgInopb/lronvvIzpnZ7lkLjpmYTpgInljJfkuqwtLT4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLkuozljLrlvoTlkJHlpI3lkIgiICAgICAgICAgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+a1geW6puavlDIxO+WvvOWOi+ezu+aVsOavlDIxO+WkjeWQiOWNiuW+hDIxIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgQWRzb3JwdGlvbk9ubHk9IjEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgQWRzb3JwdGlvbk9ubHk9IjEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOafseeKtumdnueos+aAgSIgQWRzb3JwdGlvbk9ubHk9IjEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgQWRzb3JwdGlvbk9ubHk9IjEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+WPjOe6v+aAp+a1gSIgSUQ9Ijc0OCI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips76KOC57yd5a695bqmO+WvvOWOi+ezu+aVsOavlEYxIiBTZWxCZHkgPSAi5peg6ZmQ5aSnO+efqeW9oui+ueeVjCIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S4iee6v+aAp+a1gSIgSUQ9Ijc1MCI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips76KOC57yd5a695bqmO+WvvOWOi+ezu+aVsOavlEYxO+WvvOWOi+ezu+aVsOavlDMxO+a1geW6puavlDMxIiBTZWxCZHkgPSAi5peg6ZmQ5aSnO+efqeW9oui+ueeVjCIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S6lOe6v+aAp+a1gSIgSUQ9Ijc0OSI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips76KOC57yd5a695bqmO+WvvOWOi+ezu+aVsOavlEYxO+WvvOWOi+ezu+aVsOavlDIxO+a1geW6puavlDIxO+WvvOWOi+ezu+aVsOavlDMxO+a1geW6puavlDMxO+WvvOWOi+ezu+aVsOavlDQxO+a1geW6puavlDQxO+WkjeWQiOWNiuW+hDIxIiBTZWxCZHkgPSAi5peg6ZmQ5aSnO+efqeW9oui+ueeVjCIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgICAgIDwhLS1YSDExLjI25re75YqgIOWOi+ijguS6leKAlOKAlOaciemZkOWvvOa1ge+8iOW/q++8ieaUueS4uiDljovoo4LkupXigJTigJTmnInpmZDlr7zmtYHvvIjlhajop6PmnpDvvIktLT4NCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gcK35YWo6Kej5p6QIiBJRD0iMTA2IiBTZXJpZXM9IkxQIj4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvml6Dph4/nurLoo4LnvJ3lr7zmtYHog73lipsiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvml6Dph4/nurLoo4LnvJ3lr7zmtYHog73lips75by55oCn5YKo5a655q+UO+eqnOa1geezu+aVsCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5p+x54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips75peg6YeP57qy6KOC57yd5a+85rWB6IO95YqbO+W8ueaAp+WCqOWuueavlDvnqpzmtYHns7vmlbAiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlj4zlrZTnkIPnirbpnZ7nqLPmgIEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvml6Dph4/nurLoo4LnvJ3lr7zmtYHog73lips75by55oCn5YKo5a655q+UO+eqnOa1geezu+aVsCIvPg0KDQogICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLkuInlrZTmi5/nqLPmgIEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvml6Dph4/nurLoo4LnvJ3lr7zmtYHog73lips76KOC57yd5by55oCn5YKo5a655q+UO+W8ueaAp+WCqOWuueavlDE756qc5rWB57O75pWwMTvnqpzmtYHns7vmlbAyIi8+DQogICAgICAgICAgIDwhLS08UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5LiJ5a2U5Y2V5riX5bWM5aWX5ouf56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips75peg6YeP57qy6KOC57yd5a+85rWB6IO95YqbO+ijgue8neW8ueaAp+WCqOWuueavlDvlvLnmgKflgqjlrrnmr5QxO+eqnOa1geezu+aVsDE756qc5rWB57O75pWwMiIvPi0tPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S4pOauteijgue8nSIgSUQ9IjEwNyIgU2VyaWVzPSJMUCI+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd6ZW/5bqmMTvoo4LnvJ3plb/luqYyO+aAu+ijgue8nemVv+W6pjvov5HkupXmrrXmtYHph4/mr5QiLz4NCg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S4ieauteijgue8nSIgSUQ9IjEwOCIgU2VyaWVzPSJMUCI+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd6ZW/5bqmMTvoo4LnvJ3plb/luqYyO+ijgue8nemVv+W6pjM75oC76KOC57yd6ZW/5bqmO+i/keS6leautea1gemHj+avlDE76L+R5LqV5q615rWB6YeP5q+UMiIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLTxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLljovoo4Lnm7TkupUo5pyJ6ZmQ5a+85rWBKS3kuKTmrrUiIElEPSIxMDkiIFNlcmllcz0iTFAiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8nemVv+W6pjE76KOC57yd6ZW/5bqmMjvmgLvoo4LnvJ3plb/luqY76KOC57yd5a+85rWB6IO95YqbMTvoo4LnvJ3lr7zmtYHog73lipsyIi8+DQoNCiAgICAgICAgPC9XRUxNb2RlbD4tLT4NCiAgICAgICAgPCEtLeWOi+ijguebtOS6lS3pg6jliIbmiZPlvIDCt+Wdh+WMgOa1gemHjy0tPg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byAwrflnYfljIDmtYHph48iIElEPSI3MDUiID4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlnYfotKgiICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+WeguWQkeS6leS9jTvlsITlrZTpq5jluqY76KGo55qu57O75pWwO+ijgue8neWNiumVvyIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiICAgICAgICBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+WeguWQkeS6leS9jTvlsITlrZTpq5jluqY76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmn7HnirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9IuawtOW5s+a4l+mAj+eOhzvlnoLlkJHmuJfpgI/njoc75Z6C5ZCR5LqV5L2NO+WwhOWtlOmrmOW6pjvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+WeguWQkeS6leS9jTvlsITlrZTpq5jluqY76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDwhLS3ljovoo4Lnm7TkupUt6YOo5YiG5omT5byAwrfml6DpmZDlr7zmtYEtLT4NCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gMK35peg6ZmQ5a+85rWBIiBJRD0iNzA2IiA+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Z2H6LSoIiAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb8iIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCBIiAgICAgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmnb/nirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9IuawtOW5s+a4l+mAj+eOhzvlnoLlkJHmuJfpgI/njoc75Z6C5ZCR5LqV5L2NO+WwhOWtlOmrmOW6pjvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5p+x54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+WeguWQkeS6leS9jTvlsITlrZTpq5jluqY76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8IS0t5Y6L6KOC55u05LqVLemDqOWIhuaJk+W8gMK35pyJ6ZmQ5a+85rWBLS0+DQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDCt+aciemZkOWvvOa1gSIgSUQ9IjcwNyIgPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWdh+i0qCIgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dHM9IuawtOW5s+a4l+mAj+eOhzvlnoLlkJHmuJfpgI/njoc75Z6C5ZCR5LqV5L2NO+WwhOWtlOmrmOW6pjvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmyIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiICAgICAgICBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+WeguWQkeS6leS9jTvlsITlrZTpq5jluqY76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmnb/nirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9IuawtOW5s+a4l+mAj+eOhzvlnoLlkJHmuJfpgI/njoc75Z6C5ZCR5LqV5L2NO+WwhOWtlOmrmOW6pjvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOafseeKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+WeguWQkeS6leS9jTvlsITlrZTpq5jluqY76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8IS0t5rC05bmz5LqVLS0+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuW4uOinhCIgSUQ9IjIwMSIgU2VyaWVzPSJIVyI+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9IuihqOearuezu+aVsDvlnoLlkJHkupXkvY076aG26L6555WMO+W6lei+ueeVjCIvPg0KICAgICAgICAgICAgPCEtLVhIMTEuMjbmt7vliqAtLT4gIA0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgT3V0cHV0cz0i6KGo55qu57O75pWwO+awtOW5s+S6lemVv+W6pjvlnoLlkJHkupXkvY075by55oCn5YKo5a655q+UO+eqnOa1geezu+aVsDvpobbovrnnlYw75bqV6L6555WMIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5p2/54q26Z2e56iz5oCBIiBPdXRwdXRzPSLooajnmq7ns7vmlbA75rC05bmz5LqV6ZW/5bqmO+WeguWQkeS6leS9jTvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwO+mhtui+ueeVjDvlupXovrnnlYwiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlj4zlrZTmn7HnirbpnZ7nqLPmgIEiIE91dHB1dHM9IuihqOearuezu+aVsDvmsLTlubPkupXplb/luqY75Z6C5ZCR5LqV5L2NO+W8ueaAp+WCqOWuueavlDvnqpzmtYHns7vmlbA76aG26L6555WMO+W6lei+ueeVjCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgT3V0cHV0cz0i6KGo55qu57O75pWwO+awtOW5s+S6lemVv+W6pjvlnoLlkJHkupXkvY075by55oCn5YKo5a655q+UO+eqnOa1geezu+aVsDvpobbovrnnlYw75bqV6L6555WMIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5LqM5Yy65b6E5ZCR5aSN5ZCIIiBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+WeguWQkeS6leS9jTvooajnmq7ns7vmlbA75rC05bmz5LqV6ZW/5bqmO+a1geW6puavlDIxO+WvvOWOi+ezu+aVsOavlDIxO+WkjeWQiOWNiuW+hDIxO+mhtui+ueeVjDvlupXovrnnlYwiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLkuInlrZTmi5/nqLPmgIEiIE91dHB1dHM9IuawtOW5s+a4l+mAj+eOhzvlnoLlkJHmuJfpgI/njoc76KGo55qu57O75pWwO+awtOW5s+S6lemVv+W6pjvlnoLlkJHkupXkvY076KOC57yd5by55oCn5YKo5a655q+UO+W8ueaAp+WCqOWuueavlDE756qc5rWB57O75pWwMTvnqpzmtYHns7vmlbAyO+mhtui+ueeVjDvlupXovrnnlYwiLz4NCiAgICAgICAgICAgIDwhLS08UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5LiJ5a2U5Y2V5riX5bWM5aWX5ouf56iz5oCBIiBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+ihqOearuezu+aVsDvmsLTlubPkupXplb/luqY75Z6C5ZCR5LqV5L2NO+ijgue8neW8ueaAp+WCqOWuueavlDvlvLnmgKflgqjlrrnmr5QxO+eqnOa1geezu+aVsDE756qc5rWB57O75pWwMjvpobbovrnnlYw75bqV6L6555WMIi8+LS0+DQoNCg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLkuKTmrrXmtYHph48iIElEPSIyMDIiIFNlcmllcz0iSFciPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLooajnmq7ns7vmlbA75Lqn6YeP5q615pWwO+WeguWQkeS6leS9jSIgU2VsV2JzID0gIuWumuS6leWCqCIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuS4pOautea1gemHj8K35bqV5rC0IiBJRD0iMjAzIiBTZXJpZXM9IkhXIj4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWdh+i0qCIgT3V0cHV0cz0i6KGo55qu57O75pWwO+S6p+mHj+auteaVsDvlupXmsLTns7vmlbAiIFNlbFdicyA9ICLlrprkupXlgqgiLz4NCg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLkuInmrrXmtYHph48iIElEPSIyMDQiIFNlcmllcz0iSFciPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLooajnmq7ns7vmlbA75Lqn6YeP5q615pWwO+WeguWQkeS6leS9jSIgU2VsV2JzID0gIuWumuS6leWCqCIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuS4ieautea1gemHj8K35bqV5rC0IiBJRD0iMjA1IiBTZXJpZXM9IkhXIj4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWdh+i0qCIgT3V0cHV0cz0i6KGo55qu57O75pWwO+S6p+mHj+auteaVsDvlupXmsLTns7vmlbAiIFNlbFdicyA9ICLlrprkupXlgqgiLz4NCg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDwhLS3ljovoo4LmsLTlubPkupUtLT4NCg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Z2H5YyA5rWB6YePwrfnroDljJYiIElEPSI3MTEiID4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlnYfotKgiICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiICAgICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmn7HnirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KCQ0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Z2H5YyA5rWB6YePIiBJRD0iNzEyIj4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlnYfotKgiICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiICAgICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmn7HnirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KCQ0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5peg6ZmQ5a+85rWBwrfnroDljJYiIElEPSI3MTMiPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWdh+i0qCIgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgICAgICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5p2/54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOafseeKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTnkIPnirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgIDwvV0VMTW9kZWw+DQoJDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLml6DpmZDlr7zmtYEiIElEPSI3MTQiPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWdh+i0qCIgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgICAgICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5p2/54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOafseeKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTnkIPnirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgIDwvV0VMTW9kZWw+DQoJDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+eugOWMliIgSUQ9IjcxNSI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Z2H6LSoIiAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neWvvOa1geiDveWKm+aUvue8qeezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgICAgICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lr7zmtYHog73lipvmlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neWvvOa1geiDveWKm+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5p+x54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5a+85rWB6IO95Yqb5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTnkIPnirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lr7zmtYHog73lipvmlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYEiIElEPSI3MTYiPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWdh+i0qCIgICAgICAgICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5a+85rWB6IO95Yqb5pS+57yp57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCBIiAgICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5a+85rWB6IO95Yqb5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmnb/nirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lr7zmtYHog73lipvmlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOafseeKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neWvvOa1geiDveWKm+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5a+85rWB6IO95Yqb5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrflj4znur/mgKfmtYEiIElEPSI3NDUiPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWdh+i0qCIgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lrr3luqY75a+85Y6L57O75pWw5q+URjEiIFNlbEJkeSA9ICLnn6nlvaLovrnnlYwiLz4NCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfkuInnur/mgKfmtYEiIElEPSI3NDYiPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWdh+i0qCIgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lrr3luqY75a+85Y6L57O75pWw5q+URjE75a+85Y6L57O75pWw5q+UMzE75rWB5bqm5q+UMzEiIFNlbEJkeSA9ICLnn6nlvaLovrnnlYwiLz4NCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfkupTnur/mgKfmtYEiIElEPSI3NDciPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWdh+i0qCIgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lrr3luqY75a+85Y6L57O75pWw5q+URjE75a+85Y6L57O75pWw5q+UMjE75rWB5bqm5q+UMjE75a+85Y6L57O75pWw5q+UMzE75rWB5bqm5q+UMzE75a+85Y6L57O75pWw5q+UNDE75rWB5bqm5q+UNDE75aSN5ZCI5Y2K5b6EMjEiIFNlbEJkeSA9ICLnn6nlvaLovrnnlYwiLz4NCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8IS0tPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuWkmue6p+WOi+ijguawtOW5s+S6lSIgSUQ9IjIwNiIgU2VyaWVzPSJIVyI+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9IuihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+ijgue8neWuveW6pjvljovoo4LmrrXmlbA75Z6C5ZCR5LqV5L2NIi8+DQoNCiAgICAgICAgPC9XRUxNb2RlbD4tLT4tLT4NCg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5LiN5Z2H5YyA5rWB6YePIiBJRD0iMjA3IiBTZXJpZXM9IkhXIj4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWdh+i0qCIgT3V0cHV0cz0i6KGo55qu57O75pWwO+WOi+ijguauteaVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+ijgue8neWuveW6pjvlnoLlkJHkupXkvY0iLz4NCg0KICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLTxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmlpzkupUiIFNlcmllcz0iU1IiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Z2H6LSo5rK56JePIiBJbnB1dHM9IuaWnOS6lemVv+W6piIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvlgqjlsYLljprluqY75pac5LqV6ZW/5bqmO+S6leaWnOinkuW6piIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgSUQ9IjEwMiIgQWxpYXM9IuWPjOmHjeWtlOmameKAlOKAlOaLn+eos+aAgSIgSW5wdXRzPSLmlpzkupXplb/luqYiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+eqnOa1geezu+aVsDvlgqjlsYLljprluqY75Z6C5ZCR5LqV5L2NO+aWnOS6lemVv+W6pjvkupXmlpzop5LluqYiLz4NCg0KICAgICAgICA8L1dFTE1vZGVsPi0tPg0KDQogICAgPC9Nb2RlbElvRGVzY3M+DQo8L1Jvb3Q+DQo= \ No newline at end of file diff --git a/Bin/Config/Common/ModelDescsLP_cn.dat b/Bin/Config/Common/ModelDescsLP_cn.dat new file mode 100644 index 0000000..005539e --- /dev/null +++ b/Bin/Config/Common/ModelDescsLP_cn.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+ebruaYr+W7uueri1dUQUnova/ku7bns7vnu5/mqKHlnovln7rmnKzlj4LmlbAo6L6T5YWlK+i+k+WHuikgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgQXV0aG9yKHMpOiB3YW5nemcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIERhdGU6IDIwMjQwMzAxLS0+DQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLSDpg6jliIbmlbDmja7pobnor7TmmI4NCiAgICAgICAgSUQ6ICAgICAgICAgIOWUr+S4gOagh+ivhu+8iOWmguaenElE5Li6Ii0xIuWImeiupOS4uuaYr+WIhue7hOS/oeaBr++8jOWmguS6leWei+S5i+S4rQ0KICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KICAgICAgICBGdWxsQWxpYXPvvJogIOWIq+WQjeeugOensO+8jOiAg+iZkeWIhue7hO+8jOavlOWmguaZuuiDveivhuWIq+S4re+8jOacieeCueexu+S8vGZ1bGxuYW1l55qE5qaC5b+1DQogICAgICAgIEljb27vvJogICAgICAg5Zu+5qCHDQogICAgICAgIEZsYWdzOiAgICAgICBGbGFnc+agh+ivhu+8jOWFt+S9k+WPguingSBtaWJGbGFncyDlrprkuYkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDml6DmoIflv5cNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnTm9uZSA9IDAsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDor6XmqKHlnovpgInpobnmmK/lkKbvvJrmlK/mjIHlpJrlsYLvvIjpu5jorqTkuI3mlK/mjIHvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDlr7nlupTnmoTmmK8g5aSa5bGC5qih5Z6L77yI5pWw5a2XRmxhZysx77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ011bHRpTGF5ZXIgPSAgICAweDAwMDAwMDAxLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm77ya5pSv5oyB5bmy5omw77yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOW5suaJsOaooeWei++8iOaVsOWtl0ZsYWcrMu+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdJbnRlcmZlcmUgPSAgICAgMHgwMDAwMDAwMiwNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOivpeaooeWei+mAiemhueaYr+WQpu+8muW4pui+ueeVjOS4reeahOmhtuW6leWxnuaAp++8iOm7mOiupOS4jeaUr+aMge+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOWvueW6lOeahOaYryDoh6rliqjlnKjop6Pph4rlj4LmlbDkuK3vvIzlop7liqAg6aG26L6555WM44CB5bqV6L6555WM77yI5pWw5a2XRmxhZys077yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0JkeU5lZWRlZCA9ICAgICAweDAwMDAwMDA0LA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5ZCv5Yqo5Y6L5Yqb5qKv5bqm77yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOaooeWei+mAiemhueWvueivneahhuW3puS4i+inkuaYr+WQpuWPr+S7peWLvumAie+8iOaVsOWtl0ZsYWcrOO+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdQcmVzc0dyYWQgPSAgICAgMHgwMDAwMDAwOCwNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOivpeaooeWei+mAiemhueaYr+WQpuaUr+aMge+8muWKqOaAgea4l+mAj+eOh++8iOm7mOiupOS4jeaUr+aMge+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOWvueW6lOeahOaYryDmqKHlnovpgInpobnlr7nor53moYblt6bkuIvop5LmmK/lkKblj6/ku6Xli77pgInvvIjmlbDlrZdGbGFnKzE277yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0R5bmFtaWNLID0gICAgICAweDAwMDAwMDEwLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5bCP5L+h5Y+377yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOaooeWei+mAiemhueWvueivneahhuW3puS4i+inkuaYr+WQpuWPr+S7peWLvumAie+8iOaVsOWtl0ZsYWcrMzLvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnU21hbGxTaWduYWwgPSAgIDB4MDAwMDAwMjAsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDor6XmqKHlnovpgInpobnmmK/lkKbmlK/mjIHvvJrlupTlipvmlY/mhJ/vvIjpu5jorqTkuI3mlK/mjIHvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDlr7nlupTnmoTmmK8g5qih5Z6L6YCJ6aG55a+56K+d5qGG5bem5LiL6KeS5piv5ZCm5Y+v5Lul5Yu+6YCJ77yI5pWw5a2XRmxhZys2NO+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdTdHJlc3NTZW5zaXRpdmUgPSAweDAwMDAwMDQwLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5ZC46ZmE77yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOaooeWei+mAiemhueWvueivneahhuW3puS4i+inkuaYr+WQpuWPr+S7peWLvumAie+8iOaVsOWtl0ZsYWcrMTI477yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0Fkc29ycHRpb24gPSAgICAweDAwMDAwMDgwLA0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDor6XmqKHlnovpgInpobnmmK/lkKbmmK/vvJrkuqfog73mqKHlvI/vvIjpu5jorqTkuI3mlK/mjIHvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDlr7nlupTnmoTmmK8g5piv5ZCm5Lqn6IO96K+V5LqV77yM5rOo5oSP77yM5LiO5YW25a6D5omA5pyJ5qCH6K+G5LqS5pal77yI5pWw5a2XRmxhZysyNTbvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDor6XmlrnmoYjmlL7lnKjmraTlpITlj6rmmK/kuIDnp43mnYPlrpzkuYvorqENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnV0RUID0gICAgICAgICAgMHgwMDAwMDEwMCwgLy/vvIjmlbDlrZdGbGFnKzI1Nu+8iQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5omp5bGVMX4277yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0V4dDIgPSAgICAgICAgICAweDAwMDAwMjAwLCAvL++8iOaVsOWtl0ZsYWcrNTEy77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0V4dDMgPSAgICAgICAgICAweDAwMDAwNDAwLCAvL++8iOaVsOWtl0ZsYWcrMTAyNO+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdFeHQ0ID0gICAgICAgICAgMHgwMDAwMDgwMCwgLy/vvIjmlbDlrZdGbGFnKzIwNDjvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnRXh0NSA9ICAgICAgICAgIDB4MDAwMDEwMDAsIC8v77yI5pWw5a2XRmxhZys0MDk277yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0V4dDYgPSAgICAgICAgICAweDAwMDAyMDAwLCAvL++8iOaVsOWtl0ZsYWcrODE5Mu+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgRmxhZ0Rlc2NzOiAgIEZsYWdz5qCH6K+G6K+05piO77yM5Y+q5piv5Li65LqG6YWN572u5pe25pa55L6/DQogICAgICAgIFRpcHPvvJogICAgICAg6L6F5Yqp6K+05piODQoNCiAgICDpop3lpJbor7TmmI7vvJoNCiAgICAgICAgMS4g5LqV5Z6L5YKo5bGC57G75Z6L5L+u5pS55ZCO77yM55CG6K665LiKQ2h1QWlNb2RlbERlZmluZXMuaW5p5Lmf6KaB55u45bqU5L+u5pS5DQogICAgICAgIDIuIOS6leWei+WCqOWxguexu+Wei+eahElE5aaC5p6c5L+u5pS577yM5Y+v6IO95raJ5Y+KWGFCZHlTcGVjaWFscy5pbmnmlofku7bnmoTnm7jlupTkv67mlLkNCi0tPg0KDQo8Um9vdD4NCg0KICAgIDwhLS0g5LqV5YKo5qih5Z6L77yI6L+Z5piv5LqV5YKo55qE5Z+65pys6K6+5a6a77yJDQogICAgLS0+DQogICAgPFdCU01vZGVsIE5hbWU9IjEiPg0KICAgICAgICA8T3B0aW9uIElEPSIwMSIgTmFtZT0iV2JzTm9uZSIgQWxpYXM9IuaXoOS6leWCqCIgVGlwcz0iIiBFeHRJRCA9IldiczAwMDAxIiBGbGFncz0iMiIgRmxhZ0Rlc2NzPSIy5bmy5omwIiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIwMCIgTmFtZT0iV2JzQ29ucyIgQWxpYXM9IuWumuS6leWCqCIgVGlwcz0iIiBFeHRJRCA9IldiczAwMDAyIiBQYXJhcz0i5LqV562S5YKo6ZuG57O75pWwIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjAyIiBOYW1lPSJXYnNGYWlyIiBBbGlhcz0i5Y+Y5LqV5YKoKEZhaXIpIiBQYXJhcz0i5LqV562S5YKo6ZuG57O75pWwO+WIneacq+S6leetkuWCqOmbhuezu+aVsOavlDvlj5jkupXlgqjml7bpl7QiIFRpcHM9IiIgRXh0SUQgPSJXYnMwMDAwMyIvPg0KICAgICAgICA8T3B0aW9uIElEPSIwMyIgTmFtZT0iV2JzSGVnZW1hbiIgQWxpYXM9IuWPmOS6leWCqChIZWdlbWFuKSIgUGFyYXM9IuS6leetkuWCqOmbhuezu+aVsDvliJ3mnKvkupXnrZLlgqjpm4bns7vmlbDmr5Q75Y+Y5LqV5YKo5pe26Ze0IiBUaXBzPSIiIEV4dElEID0iV2JzMDAwMDQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDQiIE5hbWU9Ildic1NwaXZleVBhY2tlciIgQWxpYXM9IuWPmOS6leWCqChTcGl2ZXkgUGFja2VyKSIgUGFyYXM9IuS6leetkuWCqOmbhuezu+aVsDvliJ3mnKvkupXnrZLlgqjpm4bns7vmlbDmr5Q75rOE5ryP6KGo55qu57O75pWwIiBUaXBzPSIiIEV4dElEID0iV2JzMDAwMDUiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDUiIE5hbWU9Ildic1NwaXZleUZpc3N1cmVzIiBBbGlhcz0i5Y+Y5LqV5YKoKFNwaXZleSBGaXNzdXJlcykiIFBhcmFzPSLkupXnrZLlgqjpm4bns7vmlbA75Yid5pyr5LqV562S5YKo6ZuG57O75pWw5q+UO+azhOa8j+ihqOearuezu+aVsCIgVGlwcz0iIiBFeHRJRCA9IldiczAwMDA2IiAvPg0KDQogICAgPC9XQlNNb2RlbD4NCg0KICAgIDwhLS0g6L6555WM5qih5Z6L77yI6L+Z5piv6L6555WM55qE5Z+65pys6K6+5a6a77yJ77yM5rOo5oSP77ya55+p5b2i6L6555WM6aG65bqP5L+u5pS577yM5b2x5ZONIGFwcGVuZFBhcmFzX0JkeSDlh73mlbAtLT4NCiAgICA8QkRZTW9kZWwgTmFtZT0iIiBBbGlhcz0iIiBUaXBzPSIiID4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDAiIE5hbWU9IkJkeUluZmluaXRlIiBBbGlhcz0i5peg6ZmQ5aSnIiBUaXBzPSIiIEV4dElEID0iQmR5MDAwMDEiIEZsYWdzPSIzNSIgRmxhZ0Rlc2NzPSIx5aSa5bGCKzLlubLmibArMzLlsI/kv6Hlj7ciIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjAxIiBOYW1lPSJCZHlPbmUiIEFsaWFzPSLljZXkuIDovrnnlYwiIFBhcmFzPSLljZfovrnnlYwiIEZpZz0iVGhlb3J5X0N1cnZlMi5wbmciIFRpcHM9IiIgRXh0SUQgPSJCZHkwMDAwMyIvPg0KICAgICAgICA8T3B0aW9uIElEPSIwMiIgTmFtZT0iQnlkUGFyYWwiIEFsaWFzPSLlubPooYzovrnnlYwiIFBhcmFzPSLljJfovrnnlYw75Y2X6L6555WMIiBUaXBzPSIiIEV4dElEID0iQmR5MDAwMDQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDMiIE5hbWU9IkJ5ZFRyaSIgQWxpYXM9IlXlnovovrnnlYwiIFBhcmFzPSLopb/ovrnnlYw75Y2X6L6555WMO+S4nOi+ueeVjCIgVGlwcz0iIiBFeHRJRCA9IkJkeTAwMDA1Ii8+DQogICAgICAgIDxPcHRpb24gSUQ9IjA0IiBOYW1lPSJCZHlDcm9zcyIgQWxpYXM9IuS6pOWPiei+ueeVjCIgUGFyYXM9Iuilv+i+ueeVjDvljZfovrnnlYw76L6555WM5aS56KeSIiBUaXBzPSIiIEV4dElEID0iQmR5MDAwMDciLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDUiIE5hbWU9IkJkeUNpcmNsZSIgQWxpYXM9IuWchuW9oui+ueeVjCIgUGFyYXM9IuWchuW9oui+ueeVjCIgVGlwcz0iIiBFeHRJRCA9IkJkeTAwMDAyIiBGbGFncz0iMSIgRmxhZ0Rlc2NzPSIx5aSa5bGCIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjA2IiBOYW1lPSJCZHlSZWN0IiBBbGlhcz0i55+p5b2i6L6555WMIiBQYXJhcz0i5YyX6L6555WMO+WNl+i+ueeVjDvopb/ovrnnlYw75Lic6L6555WMIiBUaXBzPSIiIEV4dElEID0iQmR5MDAwMDYiLz4NCiAgICA8L0JEWU1vZGVsPg0KDQogICAgPCEtLSDkupXmqKHlnovvvIjov5nmmK/kupXnsbvlnovnmoTln7rmnKzorr7lrprvvIktLT4NCiAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0iIiBUaXBzPSIiID4NCg0KICAgICAgICA8IS0t5p2D5a6c5LmL6K6h77yM5Lqn6IO96K+V5LqV5Lmf5pS+5Zyo5q2k5aSELS0+DQogICAgICAgIDxPcHRpb24gSUQ9IjExMDAiIE5hbWU9IldEVFdlbGxWIiBBbGlhcz0i55u05LqVIiBUaXBzPSIiIEZsYWdzPSIyNTYiIEZsYWdEZXNjcz0iMjU25Lqn6IO9IiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMTAxIiBOYW1lPSJXRFRXZWxsSCIgQWxpYXM9IuawtOW5s+S6lSIgVGlwcz0iIiBGbGFncz0iMjU2IiBGbGFnRGVzY3M9IjI1NuS6p+iDvSIgLz4NCg0KICAgICAgICA8IS0t55u05LqVLS0+DQogICAgICAgIDxPcHRpb24gSUQ9Ii0xIiBOYW1lPSIiIEFsaWFzPSLnm7TkupUiIFRpcHM9IiIgSWNvbj0iV2VsbE9pbCIgLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMTAwIiBOYW1lPSJXZWxsViIgQWxpYXM9IuWujOWFqOaJk+W8gCIgVGlwcz0iIiBFeHRJRCA9IldlbDAxMDAxIiBGbGFncz0iMTcxIiBGbGFnRGVzY3M9IjHlpJrlsYIrMuW5suaJsCs45ZCv5Yqo5Y6L5Yqb5qKv5bqmKzMy5bCP5L+h5Y+3KzEyOOWQuOmZhCIvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDEiIE5hbWU9IldlbGxQQ0wiIEFsaWFzPSLpg6jliIbmiZPlvIAiIFRpcHM9IiIgRXh0SUQgPSJXZWwwMTAwMiIgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KCQkNCiAgICAgICAgPCEtLeWOi+ijguebtOS6lS0tPg0KICAgICAgICA8T3B0aW9uIElEPSItMSIgTmFtZT0iIiBBbGlhcz0i5Y6L6KOC55u05LqVIiBUaXBzPSIiIEljb249IldlbGxHYXMiLz4NCg0KICAgICAgICA8T3B0aW9uIElEPSIxMDIiIE5hbWU9IldlbGxQVUYiIEFsaWFzPSLlnYfljIDmtYHph48iIFRpcHM9IiIgRXh0SUQgPSJXZWwwMjAwMSIgRmxhZ3M9IjEyOSIgRmxhZ0Rlc2NzPSIx5aSa5bGCKzEyOOWQuOmZhCIvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDMiIE5hbWU9IldlbGxQQ0kiIEFsaWFzPSLml6DpmZDlr7zmtYEiIFRpcHM9IiIgRXh0SUQgPSJXZWwwMjAwMiIgRmxhZ3M9IjEyOSIgRmxhZ0Rlc2NzPSIx5aSa5bGCKzEyOOWQuOmZhCIvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMTAiIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gSIgVGlwcz0iIiBFeHRJRCA9IldlbDAyMDAzIiBGbGFncz0iMTYxIiBGbGFnRGVzY3M9IjHlpJrlsYIrMzLlsI/kv6Hlj7crMTI45ZC46ZmEIi8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iLTk5IiBOYW1lPSIiIEFsaWFzPSItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjEwNiIgTmFtZT0iV2VsbFBDRkYiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+WFqOino+aekCIgVGlwcz0i6YeH55So5a+85rWB6IO95Yqb5b2x5ZON5Ye95pWw6KGo5b6B5pyJ6ZmQ5ZKM5peg6ZmQ5a+85rWB6KOC57yd5LqV5pep5pyf5LqV5bqV5Y6L5Yqb5ZON5bqU55qE5beu5byC77yM5b6X5Yiw5pyJ6ZmQ5a+85rWB6KOC57yd5LqV5bqV5Y6L5Yqb6Kej5p6Q6Kej44CCIiBGaWc9IldlbF8xMDYiIC8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iLTk5IiBOYW1lPSIiIEFsaWFzPSItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iIC8+DQogICAgICAgIDwhLS08T3B0aW9uIElEPSIxMDQiIE5hbWU9IldlbGxQQ0ZMIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfkuInnur/mgKfmtYHvvIjljJfkuqzvvIkiIEZ1bGxBbGlhcz0i5Y6L6KOC55u05LqVwrfkuInnur/mgKfmtYHvvIjljJfkuqzvvIkiIFRpcHM9IuWwhua4l+a1geezu+e7n+WIhuaIkOS4ieS4quS4gOe7tOe6v+aAp+a1geWKqOWMuuWfn++8jOW+l+WIsOaciemZkOWvvOa1geijgue8neS6leW6leWOi+WKm+ino+aekOino+OAgiIgIEZpZz0iV2VsXzEwNCIgRmxhZ3M9IjMyIiBGbGFnRGVzY3M9IjMy5bCP5L+h5Y+3Ii8+LS0+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iNzQ4IiBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+WPjOe6v+aAp+a1gSIgRnVsbEFsaWFzPSLljovoo4Lnm7TkupXCt+WPjOe6v+aAp+a1gSIgVGlwcz0iIiBFeHRJRCA9IldlbDAyMDAzLTIiIEZsYWdzPSI4IiBGbGFnRGVzY3M9IjjlkK/liqjljovlipvmoq/luqYiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzUwIiBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S4iee6v+aAp+a1gSIgRnVsbEFsaWFzPSLljovoo4Lnm7TkupXCt+S4iee6v+aAp+a1gSIgVGlwcz0iIiBFeHRJRCA9IldlbDAyMDAzLTMiIEZsYWdzPSI4IiBGbGFnRGVzY3M9IjjlkK/liqjljovlipvmoq/luqYiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzQ5IiBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S6lOe6v+aAp+a1gSIgRnVsbEFsaWFzPSLljovoo4Lnm7TkupXCt+S6lOe6v+aAp+a1gSIgVGlwcz0iIiBFeHRJRCA9IldlbDAyMDAzLTUiLz4NCg0KICAgICAgICA8T3B0aW9uIElEPSItOTkiIE5hbWU9IiIgQWxpYXM9Ii0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIgLz4NCg0KICAgICAgICAgPCEtLVhIMTEuMjbmt7vliqAg5Y6L6KOC5LqV4oCU4oCU5pyJ6ZmQ5a+85rWB77yI5b+r77yJ5pS55Li6IOWOi+ijguS6leKAlOKAlOaciemZkOWvvOa1ge+8iOWFqOino+aekO+8iS0tPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDciIE5hbWU9IldlbGxQQzIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S4pOauteijgue8nSIgVGlwcz0i6ICD6JmR6KOC57yd5a+85rWB6IO95Yqb5LiN5Z2H5YyA77yM5bCG6KOC57yd5Y2K6ZW/5YiG5Li6Muaute+8jOavj+auteeahOWvvOa1geiDveWKm+WSjOS6p+mHj+S4jeWQjOOAgiIgRmlnPSJXZWxfMTA3IiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDgiIE5hbWU9IldlbGxQQzMiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S4ieauteijgue8nSIgVGlwcz0i6ICD6JmR6KOC57yd5a+85rWB6IO95Yqb5LiN5Z2H5YyA77yM5bCG6KOC57yd5Y2K6ZW/5YiG5Li6M+aute+8jOavj+auteeahOWvvOa1geiDveWKm+WSjOS6p+mHj+S4jeWQjOOAgiIgRmlnPSJXZWxfMTA4IiAvPg0KICAgICAgICA8IS0tPE9wdGlvbiBJRD0iMTA5IiBOYW1lPSJXZWxsUENGMiIgQWxpYXM9IuWOi+ijguebtOS6lSjmnInpmZDlr7zmtYEpLeS4pOautSIgVGlwcz0iIiAvPi0tPg0KDQogICAgICAgIDxPcHRpb24gSUQ9Ii05OSIgTmFtZT0iIiBBbGlhcz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIiAvPg0KDQogICAgICAgIDxPcHRpb24gSUQ9IjcwNSIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byAwrflnYfljIDmtYHph48iIFRpcHM9IiIgRXh0SUQgPSJXZWwwMjAwNCIgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MDYiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gMK35peg6ZmQ5a+85rWBIiBUaXBzPSIiIEV4dElEID0iV2VsMDIwMDUiIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzA3IiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDCt+aciemZkOWvvOa1gSIgVGlwcz0iIiBFeHRJRCA9IldlbDAyMDA2IiBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQoNCiAgICAgICAgPCEtLeawtOW5s+S6lS0tPg0KICAgICAgICA8T3B0aW9uIElEPSItMSIgTmFtZT0iIiBBbGlhcz0i5rC05bmz5LqVIiBUaXBzPSIiIEljb249IldlbGxPaWwiIC8+DQoNCiAgICAgICAgPCEtLSBYSCAgT3B0aW9uIElEPSIyMDAiIE5hbWU9IldlbGxIIiBBbGlhcz0i5rC05bmz5LqVIiBCYXNlUGFyYXM9IuawtOW5s+S6lemVv+W6pjvlnoLlkJHkupXkvY075LqV5pac6KeS5bqmIiBUaXBzPSIiIEV4dElEID0iV2VsMDMwMDEiLy0tPg0KICAgICAgICA8T3B0aW9uIElEPSIyMDEiIE5hbWU9IldlbGxIQ00iIEFsaWFzPSLluLjop4QiIEZ1bGxBbGlhcz0i5bi46KeE5rC05bmz5LqVIiBCYXNlUGFyYXM9IuawtOW5s+S6lemVv+W6pjvlnoLlkJHkupXkvY075LqV5pac6KeS5bqmIiBUaXBzPSIiIEV4dElEID0iV2VsMDMwMDEiLz4NCg0KICAgICAgICA8T3B0aW9uIElEPSIyMDIiIE5hbWU9IldlbGxIU0wyIiBBbGlhcz0i5Lik5q615rWB6YePIiAgRmlnPSJXZWxfMjAyIiBCYXNlUGFyYXM9IuawtOW5s+S6lemVv+W6pjvlnoLlkJHkupXkvY075LqV5pac6KeS5bqmO+WOi+ijguauteaVsDvoo4LnvJ3ljYrplb8iIFRpcHM9IuWBh+iuvuawtOW5s+S6leS4pOWkhOS6leauteWtmOWcqOa1geS9k+eahOa1geWFpeaIlua1geWHuiIgRXh0SUQgPSJXZWwwMzAwMiIvPg0KICAgICAgICA8T3B0aW9uIElEPSIyMDQiIE5hbWU9IldlbGxIU0wzIiBBbGlhcz0i5LiJ5q615rWB6YePIiBGaWc9IldlbF8yMDQiIEJhc2VQYXJhcz0i5rC05bmz5LqV6ZW/5bqmO+WeguWQkeS6leS9jTvkupXmlpzop5LluqY75Y6L6KOC5q615pWwO+ijgue8neWNiumVvyIgVGlwcz0i5YGH6K6+5rC05bmz5LqV5LiJ5aSE5LqV5q615a2Y5Zyo5rWB5L2T55qE5rWB5YWl5oiW5rWB5Ye6IiBFeHRJRCA9IldlbDAzMDAzIi8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iMjAzIiBOYW1lPSJXZWxsSFNMMkJvdFdhdGVyIiBBbGlhcz0i5Lik5q615rWB6YePwrflupXmsLQiIEZpZz0iV2VsXzIwMyIgQmFzZVBhcmFzPSLmsLTlubPkupXplb/luqY76Led5YKo5bGC5bqV6YOo6Led56a7O+S6leaWnOinkuW6pjvljovoo4LmrrXmlbA76KOC57yd5Y2K6ZW/IiBUaXBzPSLlgYforr7msLTlubPkupXkuKTlpITkupXmrrXlrZjlnKjmtYHkvZPnmoTmtYHlhaXmiJbmtYHlh7rvvIzlgqjlsYLlupXmsLTlj5HogrIiIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjIwNSIgTmFtZT0iV2VsbEhTTDNCb3RXYXRlciIgQWxpYXM9IuS4ieautea1gemHj8K35bqV5rC0IiBGaWc9IldlbF8yMDUiIEJhc2VQYXJhcz0i5rC05bmz5LqV6ZW/5bqmO+i3neWCqOWxguW6lemDqOi3neemuzvkupXmlpzop5LluqY75Y6L6KOC5q615pWwO+ijgue8neWNiumVvyIgVGlwcz0i5YGH6K6+5rC05bmz5LqV5LiJ5aSE5LqV5q615a2Y5Zyo5rWB5L2T55qE5rWB5YWl5oiW5rWB5Ye677yM5YKo5bGC5bqV5rC05Y+R6IKyIiAvPg0KDQogICAgICAgIDwhLS3ljovoo4LmsLTlubPkupUtLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9IuWOi+ijguawtOW5s+S6lSIgVGlwcz0iIiBJY29uPSJXZWxsR2FzIiAvPg0KDQogICAgICAgIDxPcHRpb24gSUQ9IjcxMSIgTmFtZT0iIiBBbGlhcz0i5Z2H5YyA5rWB6YePwrfnroDljJYiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNDAwMSIgRmxhZ3M9IjEyOCIgRmxhZ0Rlc2NzPSIxMjjlkLjpmYQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzEyIiBOYW1lPSIiIEFsaWFzPSLlnYfljIDmtYHph48iIFRpcHM9IiIgRXh0SUQgPSJXZWwwNDAwMiIgRmxhZ3M9IjEyOCIgRmxhZ0Rlc2NzPSIxMjjlkLjpmYQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzEzIiBOYW1lPSIiIEFsaWFzPSLml6DpmZDlr7zmtYHCt+eugOWMliIgVGlwcz0iIiBFeHRJRCA9IldlbDA0MDAzIiBGbGFncz0iMTI4IiBGbGFnRGVzY3M9IjEyOOWQuOmZhCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MTQiIE5hbWU9IiIgQWxpYXM9IuaXoOmZkOWvvOa1gSIgVGlwcz0iIiBFeHRJRCA9IldlbDA0MDA0IiBGbGFncz0iMTI4IiBGbGFnRGVzY3M9IjEyOOWQuOmZhCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MTUiIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gcK3566A5YyWIiBUaXBzPSIiIEV4dElEID0iV2VsMDQwMDUiIEZsYWdzPSIxMjgiIEZsYWdEZXNjcz0iMTI45ZC46ZmEIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcxNiIgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBIiBUaXBzPSIiIEV4dElEID0iV2VsMDQwMDYiIEZsYWdzPSIxMjgiIEZsYWdEZXNjcz0iMTI45ZC46ZmEIi8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iLTk5IiBOYW1lPSIiIEFsaWFzPSItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iIC8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iNzQ1IiBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+WPjOe6v+aAp+a1gSIgRnVsbEFsaWFzPSLljovoo4LmsLTlubPkupXCt+WPjOe6v+aAp+a1gSIgRmxhZ3M9IjgiIEZsYWdEZXNjcz0iOOWQr+WKqOWOi+WKm+air+W6piIgRmlnPSJXZWxfNzQ1IiBUaXBzPSLljovoo4LkupXvvIjmnInpmZDlr7zmtYHljovoo4Lnm7TkupXjgIHmnInpmZDlr7zmtYHlpJrnuqfljovoo4LmsLTlubPkupXvvInvvIzor6XmqKHlnovkuLvopoHliIbkuLrkuKTljLpTUlbljLor5aSW5Zu05Z+66LSo5Yy6IiAgRXh0SUQgPSJXZWwwNDAwNS0yIi8+DQogICAgICAgIDxPcHRpb24gSUQ9Ijc0NiIgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfkuInnur/mgKfmtYEiIEZ1bGxBbGlhcz0i5Y6L6KOC5rC05bmz5LqVwrfkuInnur/mgKfmtYEiIEZsYWdzPSI4IiBGbGFnRGVzY3M9IjjlkK/liqjljovlipvmoq/luqYiIEZpZz0iV2VsXzc0NiIgVGlwcz0i5Y6L6KOC5LqV77yI5pyJ6ZmQ5a+85rWB5Y6L6KOC55u05LqV44CB5pyJ6ZmQ5a+85rWB5aSa57qn5Y6L6KOC5rC05bmz5LqV77yJ77yM6K+l5qih5Z6L5Li76KaB5YiG5Li65LiJ5Yy677ya6KOC57yd5Yy677yMU1JW5Yy677yM5aSW5Zu05Z+66LSo5Yy6IiAgIEV4dElEID0iV2VsMDQwMDUtMyIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3NDciIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gcK35LqU57q/5oCn5rWBIiBGdWxsQWxpYXM9IuWOi+ijguawtOW5s+S6lcK35LqU57q/5oCn5rWBIiBGaWc9IldlbF83NDciIFRpcHM9IuWOi+ijguS6le+8iOaciemZkOWvvOa1geWOi+ijguebtOS6leOAgeaciemZkOWvvOa1geWkmue6p+WOi+ijguawtOW5s+S6le+8ie+8jOivpeaooeWei+S4u+imgeWIhuS4uuS6lOWMuu+8muijgue8neWMuu+8jFNSVuWMuu+8iDHvvInvvIzlpJblm7TljLrvvIgyLTTvvIkiICBFeHRJRCA9IldlbDA0MDA1LTUiLz4NCg0KICAgICAgICA8T3B0aW9uIElEPSItOTkiIE5hbWU9IiIgQWxpYXM9Ii0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIgLz4NCg0KICAgICAgICA8T3B0aW9uIElEPSI3MTciIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOWOi+ijguawtOW5s+S6lSjlnYfljIDmtYHph48pLeetiemXtOi3neetieWNiumVvyIgVGlwcz0iIiBFeHRJRCA9IldlbDA0MDA3IiBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcxOCIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5Y6L6KOC5rC05bmz5LqVKOWdh+WMgOa1gemHjykiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNDAwOCIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzE5IiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDljovoo4LmsLTlubPkupUo5peg6ZmQ5a+85rWBKS3nrYnpl7Tot53nrYnljYrplb8iIFRpcHM9IiIgRXh0SUQgPSJXZWwwNDAwOSIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzIwIiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDljovoo4LmsLTlubPkupUo5peg6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA0MDEwIiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MjEiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOWOi+ijguawtOW5s+S6lSjmnInpmZDlr7zmtYEpLeetiemXtOi3neetieWNiumVvyIgVGlwcz0iIiBFeHRJRCA9IldlbDA0MDExIiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MjIiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOWOi+ijguawtOW5s+S6lSjmnInpmZDlr7zmtYEpIiBUaXBzPSIiIEV4dElEID0iV2VsMDQwMTIiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQoNCiAgICAgICAgPCEtLTxPcHRpb24gSUQ9IjIwNiIgTmFtZT0iV2VsbFBGQ00iIEFsaWFzPSLlpJrnuqfljovoo4LmsLTlubPkupUiIEZ1bGxBbGlhcz0iW+WQjeensOW+heWuml3lpJrnuqfljovoo4LmsLTlubPkupUiIFRpcHM9IuW+heWumiIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4tLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iMjA3IiBOYW1lPSJXZWxsUElDTSIgQWxpYXM9IuS4jeWdh+WMgOa1gemHjyIgVGlwcz0iIiAgRmlnPSJXZWxfMjA3IiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KDQogICAgICAgIDwhLS3mlpzkupUtLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9IuaWnOS6lSIgVGlwcz0iIiBJY29uPSJXZWxsT2lsIiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIzMDAiIE5hbWU9IiIgQWxpYXM9IuWujOWFqOaJk+W8gOaWnOS6lSIgQmFzZVBhcmFzPSLmlpzkupXplb/luqY75YKo5bGC5Y6a5bqmO+S6leaWnOinkuW6piIgVGlwcz0iIiBFeHRJRCA9IldlbDA1MDAxIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcyNCIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5pac5LqVIiBUaXBzPSIiIEV4dElEID0iV2VsMDUwMDIiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQoNCiAgICAgICAgPCEtLeWOi+ijguaWnOS6lS0tPg0KICAgICAgICA8T3B0aW9uIElEPSItMSIgTmFtZT0iIiBBbGlhcz0i5Y6L6KOC5pac5LqVIiBUaXBzPSIiIEljb249IldlbGxHYXMiIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcyNSIgTmFtZT0iIiBBbGlhcz0i5a6M5YWo5omT5byA5Y6L6KOC5pac5LqVKOWdh+WMgOa1gemHjykiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNjAwMSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MjYiIE5hbWU9IiIgQWxpYXM9IuWujOWFqOaJk+W8gOWOi+ijguaWnOS6lSjml6DpmZDlr7zmtYEpIiBUaXBzPSIiIEV4dElEID0iV2VsMDYwMDIiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzI3IiBOYW1lPSIiIEFsaWFzPSLlrozlhajmiZPlvIDljovoo4LmlpzkupUo5pyJ6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA2MDAzIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcyOCIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5Y6L6KOC5pac5LqVKOWdh+WMgOa1gemHjykiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNjAwNCIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzI5IiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDljovoo4LmlpzkupUo5peg6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA2MDA1IiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzAiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOWOi+ijguaWnOS6lSjmnInpmZDlr7zmtYEpIiBUaXBzPSIiIEV4dElEID0iV2VsMDYwMDYiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQoNCiAgICAgICAgPCEtLeWIhuaUr+awtOW5s+S6lS0tPg0KICAgICAgICA8T3B0aW9uIElEPSItMSIgTmFtZT0iIiBBbGlhcz0i5YiG5pSv5rC05bmz5LqVIiBUaXBzPSIiIEljb249IldlbGxPaWwiIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjczMSIgTmFtZT0iV2VsbFYiIEFsaWFzPSLkuozliIbmlK/msLTlubPkupUiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNzAwMSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzIiIE5hbWU9IldlbGxQIiBBbGlhcz0i5LiJ5YiG5pSv5rC05bmz5LqVIiBUaXBzPSIiIEV4dElEID0iV2VsMDcwMDIiLz4NCgkJDQogICAgICAgIDwhLS3ljovoo4LliIbmlK/msLTlubPkupUtLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9IuWOi+ijguWIhuaUr+awtOW5s+S6lSIgVGlwcz0iIiBJY29uPSJXZWxsR2FzIiAvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzMiIE5hbWU9IiIgQWxpYXM9IuWujOWFqOaJk+W8gOS6jOWIhuaUr+WOi+ijguawtOW5s+WIhuaUr+S6lSjlnYfljIDmtYHph48pIiBUaXBzPSIiIEV4dElEID0iV2VsMDgwMDEiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM0IiBOYW1lPSIiIEFsaWFzPSLlrozlhajmiZPlvIDkuozliIbmlK/ljovoo4LmsLTlubPliIbmlK/kupUo5peg6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA4MDAyIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjczNSIgTmFtZT0iIiBBbGlhcz0i5a6M5YWo5omT5byA5LqM5YiG5pSv5Y6L6KOC5rC05bmz5YiG5pSv5LqVKOaciemZkOWvvOa1gSkiIFRpcHM9IiIgRXh0SUQgPSJXZWwwODAwMyIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzYiIE5hbWU9IiIgQWxpYXM9IuWujOWFqOaJk+W8gOS4ieWIhuaUr+WOi+ijguawtOW5s+WIhuaUr+S6lSjlnYfljIDmtYHph48pIiBUaXBzPSIiIEV4dElEID0iV2VsMDgwMDQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM3IiBOYW1lPSIiIEFsaWFzPSLlrozlhajmiZPlvIDkuInliIbmlK/ljovoo4LmsLTlubPliIbmlK/kupUo5peg6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA4MDA1Ii8+DQogICAgICAgIDxPcHRpb24gSUQ9IjczOCIgTmFtZT0iIiBBbGlhcz0i5a6M5YWo5omT5byA5LiJ5YiG5pSv5Y6L6KOC5rC05bmz5YiG5pSv5LqVKOaciemZkOWvvOa1gSkiIFRpcHM9IiIgRXh0SUQgPSJXZWwwODAwNiIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzkiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOS6jOWIhuaUr+WOi+ijguawtOW5s+WIhuaUr+S6lSjlnYfljIDmtYHph48pIiBUaXBzPSIiIEV4dElEID0iV2VsMDgwMDciICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQogICAgICAgIDxPcHRpb24gSUQ9Ijc0MCIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5LqM5YiG5pSv5Y6L6KOC5rC05bmz5YiG5pSv5LqVKOaXoOmZkOWvvOa1gSkiIFRpcHM9IiIgRXh0SUQgPSJXZWwwODAwOCIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzQxIiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDkuozliIbmlK/ljovoo4LmsLTlubPliIbmlK/kupUo5pyJ6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA4MDA5IiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3NDIiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOS4ieWIhuaUr+WOi+ijguawtOW5s+WIhuaUr+S6lSjlnYfljIDmtYHph48pIiBUaXBzPSIiIEV4dElEID0iV2VsMDgwMTAiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQogICAgICAgIDxPcHRpb24gSUQ9Ijc0MyIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5LiJ5YiG5pSv5Y6L6KOC5rC05bmz5YiG5pSv5LqVKOaXoOmZkOWvvOa1gSkiIFRpcHM9IiIgRXh0SUQgPSJXZWwwODAxMSIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzQ0IiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDkuInliIbmlK/ljovoo4LmsLTlubPliIbmlK/kupUo5pyJ6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA4MDEyIiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KDQogICAgPC9XRUxNb2RlbD4NCg0KICAgIDwhLS0g5YKo5bGC5qih5Z6L77yI6L+Z5piv5YKo5bGC57G75Z6L55qE5Z+65pys6K6+5a6a77yJLS0+DQogICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IiIgVGlwcz0iIiA+DQoNCiAgICAgICAgPCEtLeadg+WunOS5i+iuoe+8jOS6p+iDveivleS6leS5n+aUvuWcqOatpOWkhC0tPg0KICAgICAgICA8T3B0aW9uIElEPSIxMTAwIiBOYW1lPSJXRFRSZXNPIiBBbGlhcz0i5rK55LqVIiBUaXBzPSIiIEZsYWdzPSIyNTYiIEZsYWdEZXNjcz0iMjU25Lqn6IO9IiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMTAxIiBOYW1lPSJXRFRSZXNHIiBBbGlhcz0i5rCU5LqVIiBUaXBzPSIiIEZsYWdzPSIyNTYiIEZsYWdEZXNjcz0iMjU25Lqn6IO9IiAvPg0KDQogICAgICAgIDwhLS3ljZXkuIDku4votKgtLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9IuWNleS4gOS7i+i0qCIgVGlwcz0iVE9ETyIgLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMTAwIiBOYW1lPSIiIEFsaWFzPSLlnYfotKgiIFRpcHM9IiIgRXh0SUQgPSJSZXMwMTAwMSIgRmxhZ3M9IjQzIiBGbGFnRGVzY3M9IjHlpJrlsYIrMuW5suaJsCs45ZCv5Yqo5Y6L5Yqb5qKv5bqmKzMy5bCP5L+h5Y+3Ii8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iMTAyIiBOYW1lPSIiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiIFRpcHM9IiIgRXh0SUQgPSJSZXMwMTAwMiIgRmxhZ3M9IjEzMCIgRmxhZ0Rlc2NzPSIy5bmy5omwKzEyOOWQuOmZhCIvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDMiIE5hbWU9IlJlc1R3b1Bvcl9QTEEiIEFsaWFzPSLlj4zlrZTmnb/nirbpnZ7nqLPmgIEiIFRpcHM9IiIgIEZsYWdzPSIxMzAiIEZsYWdEZXNjcz0iMuW5suaJsCsxMjjlkLjpmYQiIEV4dElEID0iUmVzMDEwMDQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMTA0IiBOYW1lPSJSZXNUd29Qb3JfQkFMIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiBUaXBzPSIiICBGbGFncz0iMTMwIiBGbGFnRGVzY3M9IjLlubLmibArMTI45ZC46ZmEIiBFeHRJRCA9IlJlczAxMDA2Ii8+DQogICAgICAgIDxPcHRpb24gSUQ9IjEwNSIgTmFtZT0iUmVzVHdvUG9yX0NZTCIgQWxpYXM9IuWPjOWtlOafseeKtumdnueos+aAgSIgVGlwcz0iIiAgRmxhZ3M9IjEzMCIgRmxhZ0Rlc2NzPSIy5bmy5omwKzEyOOWQuOmZhCIgRXh0SUQgPSJSZXMwMTAwNSIvPg0KDQogICAgICAgIDxPcHRpb24gSUQ9IjcyOSIgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCB5Y+M5riXIiBUaXBzPSIiIEV4dElEID0iUmVzMDEwMDMiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMTE2IiBOYW1lPSIiIEFsaWFzPSLkuInlrZTmi5/nqLPmgIEiIFRpcHM9IiIgIEZsYWdzPSIyIiBGbGFnRGVzY3M9IjLlubLmibAiIEV4dElEID0iUmVzMDEwMDciLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM0IiBOYW1lPSIiIEFsaWFzPSLkuInlrZTmi5/nqLPmgIHlj4zmuJciIFRpcHM9IiIgRXh0SUQgPSJSZXMwMTAwOCIvPg0KDQogICAgICAgIDwhLS08T3B0aW9uIElEPSIxMTciIE5hbWU9IlJlc1RyaUtFeCIgQWxpYXM9IuS4ieWtlOWNlea4l+W1jOWll+aLn+eos+aAgSIgVGlwcz0iIiBFeHRJRCA9IiIvPi0tPg0KDQogICAgICAgIDwhLS3pkojlr7nmsLTlubPkupXvvIwxMDLnmoTmqKHlnovvvIzotbAzMDDnmoTnrpfms5UtLT4NCg0KICAgICAgICA8IS0tICBPcHRpb24gSUQ9IjMwMCIgTmFtZT0iUmVzVHdvUG9yUG9zU3JjIiBBbGlhcz0i5Y+M6YeN5a2U6ZqZKOeCuea6kCkiIFRpcHM9IiIvLS0+DQoNCg0KICAgICAgICA8IS0t57q/5oCn5aSN5ZCILS0+DQogICAgICAgIDxPcHRpb24gSUQ9Ii0xIiBOYW1lPSIiIEFsaWFzPSLnur/mgKflpI3lkIgiIFRpcHM9IlRPRE8iIC8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iOTAxIiBOYW1lPSIiIEFsaWFzPSLnur/mgKflpI3lkIgiIFRpcHM9IiIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MDgiIE5hbWU9IiIgQWxpYXM9IuWdh+i0qOS6jOWMuue6v+aAp+WkjeWQiCIgVGlwcz0iIiBFeHRJRCA9IlJlczAyMDAxIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcxMiIgTmFtZT0iIiBBbGlhcz0i5Z2H6LSo5LiJ5Yy657q/5oCn5aSN5ZCIIiBUaXBzPSIiIEV4dElEID0iUmVzMDIwMDUiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzE2IiBOYW1lPSIiIEFsaWFzPSLlnYfotKjlm5vljLrnur/mgKflpI3lkIgiIFRpcHM9IiIgRXh0SUQgPSJSZXMwMjAwOSIvPg0KDQogICAgICAgIDwhLS3lvoTlkJHlpI3lkIgtLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9IuW+hOWQkeWkjeWQiCIgVGlwcz0iVE9ETyIgLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzIwIiBOYW1lPSIiIEFsaWFzPSLkuozljLrlvoTlkJHlpI3lkIgiIFRpcHM9IiIgRXh0SUQgPSJSZXMwMzAwMSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MjIiIE5hbWU9IiIgQWxpYXM9IuS4ieWMuuW+hOWQkeWkjeWQiCIgVGlwcz0iIiBFeHRJRCA9IlJlczAzMDAzIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcyNCIgTmFtZT0iIiBBbGlhcz0i5Zub5Yy65b6E5ZCR5aSN5ZCIIiBUaXBzPSIiIEV4dElEID0iUmVzMDMwMDUiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzI2IiBOYW1lPSIiIEFsaWFzPSLkupTljLrlvoTlkJHlpI3lkIgiIFRpcHM9IiIgRXh0SUQgPSJSZXMwMzAwNyIvPg0KDQogICAgICAgIDwhLS3nvJ3mtJ4tLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9Iue8nea0niIgVGlwcz0iVE9ETyIgLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM1IiBOYW1lPSIiIEFsaWFzPSLnvJ3mtJ4xIiBGaWc9IlJlc183MzUiICBUaXBzPSLnvJ3mtJ4x5qih5Z6LLeS6le+Clee8nS7mtJ4iIEV4dElEID0iUmVzMDQwMDgiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM2IiBOYW1lPSIiIEFsaWFzPSLnvJ3mtJ4yIiBGaWc9IlJlc183MzYiICAgVGlwcz0i57yd5rSeMuaooeWeiy3mtJ4xLue8nTEu5LqVLue8nTIu5rSeMu+8iSIgRXh0SUQgPSJSZXMwNDAwOSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzciIE5hbWU9IiIgQWxpYXM9Iue8nea0njMiIEZpZz0iUmVzXzczNyIgICBUaXBzPSLnvJ3mtJ4z5qih5Z6LLea0njEu57ydLua0njIgKOS6leWcqOa0njIpIiBFeHRJRCA9IlJlczA0MDEwIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjczOCIgTmFtZT0iIiBBbGlhcz0i57yd5rSeNCIgRmlnPSJSZXNfNzM4IiAgIFRpcHM9Iue8nea0njTmqKHlnost5rSeMS7nvJ0xLua0njIu57ydMi7kupUu57ydMyIgRXh0SUQgPSJSZXMwNDAxMSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzkiIE5hbWU9IiIgQWxpYXM9Iue8nea0njUiIEZpZz0iUmVzXzczOSIgICBUaXBzPSLnvJ3mtJ415qih5Z6LLeWtlC7nvJ0u5rq25rSe77yI5LqV5Zyo5rq25rSe5YaF77yJIiBFeHRJRCA9IlJlczA0MDEyIi8+DQoNCiAgICA8L1JFU01vZGVsPg0KDQogICAgPCEtLSDku47mnKzooYzlvoDkuIvvvIzmmK/lrp7pmYXphY3nva7nmoTor5XkupXmqKHlnovvvIzkuZ/lsLHmmK/nrpfms5XmlK/mjIHnmoTmqKHlnovpgInpobktLT4NCg0KICAgIDwhLS0g5YWx5oCn5Y+C5pWw77yM5p2l5rqQ5LqOIFNoZWV077ya5YWx5oCn5Y+C5pWwIC0tPg0KICAgIDwhLS0g5YW25Lit77yMT3V0cHV0c+WFseaAp+WPguaVsOi/mOimgeiAg+iZkSDovrnnlYzmqKHlnosg5LitIFBhcmFzIOaVsOaNrumhuSAtLT4NCiAgICA8Q29tbW9uUGFyYXM+DQoNCiAgICAgICAgPExQIElucHV0cz0i5LqV5b6EO+WCqOWxguWOmuW6pjvlrZTpmpnluqY75L2T56ev57O75pWwO+ayueebuOm7j+W6pjvmsLTnm7jpu4/luqY757u85ZCI5Y6L57yp57O75pWwO+WIneWni+WOi+WKmyIgLz4NCiAgICAgICAgPExQIE91dHB1dHM9IuWcsOWxguWOi+WKmzvmtYvor5Xml7bpl7Q75o6i5rWL5Y2K5b6EO+WcsOWxguezu+aVsDvmtYHluqY75re35ZCI6buP5bqmIiAvPg0KDQogICAgICAgIDxIVyBJbnB1dHM9IuS6leW+hDvlgqjlsYLljprluqY75a2U6ZqZ5bqmO+S9k+enr+ezu+aVsDvmsrnkvZPnp6/ns7vmlbA75rCU5L2T56ev57O75pWwO+awtOS9k+enr+ezu+aVsDvmsrnnm7jpu4/luqY75rC055u46buP5bqmO+e7vOWQiOWOi+e8qeezu+aVsDvliJ3lp4vljovlipsiIC8+DQogICAgICAgIDxIVyBPdXRwdXRzPSLlnLDlsYLljovlips75rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnLDlsYLns7vmlbA75rC05bmz5LqV6ZW/5bqmO+a1geW6pjvmt7flkIjpu4/luqYiIC8+DQoNCiAgICAgICAgPFNSIElucHV0cz0i5LqV5b6EO+WCqOWxguWOmuW6pjvlrZTpmpnluqY75L2T56ev57O75pWwO+ayueebuOm7j+W6pjvmsLTnm7jpu4/luqY757u85ZCI5Y6L57yp57O75pWwO+WIneWni+WOi+WKmyIgLz4NCiAgICAgICAgPFNSIE91dHB1dHM9IuWcsOWxguWOi+WKmzvmtYvor5Xml7bpl7Q75o6i5rWL5Y2K5b6EO+WcsOWxguezu+aVsDvmtYHluqY75re35ZCI6buP5bqmIiAvPg0KDQogICAgICAgIDxQRiBJbnB1dHM9IuS6leW+hDvlgqjlsYLljprluqY75a2U6ZqZ5bqmO+S9k+enr+ezu+aVsDvmsrnnm7jpu4/luqY75rC055u46buP5bqmO+e7vOWQiOWOi+e8qeezu+aVsDvms6jlhaXph4876IGa5ZCI54mp5Yid5aeL5rWT5bqmO+aJqeaVo+ezu+aVsDvliJ3lp4vljovlipsiIC8+DQogICAgICAgIDxQRiBPdXRwdXRzPSLlnLDlsYLljovlips75re35ZCI6buP5bqmIiAvPg0KDQogICAgICAgIDxYRCBJbnB1dHM9IuS6leW+hDvlgqjlsYLljprluqY75a2U6ZqZ5bqmO+S9k+enr+ezu+aVsDvmsrnnm7jpu4/luqY75rC055u46buP5bqmO+e7vOWQiOWOi+e8qeezu+aVsDvliJ3lp4vljovlipsiIC8+DQogICAgICAgIDxYRCBPdXRwdXRzPSLlnLDlsYLljovlips75rWL6K+V5pe26Ze0O+aOoua1i+WNiuW+hDvlnLDlsYLns7vmlbA75rWB5bqmO+a3t+WQiOm7j+W6piIgLz4NCg0KICAgICAgICA8WEEgSW5wdXRzPSLkupXlvoQ75YKo5bGC5Y6a5bqmO+WtlOmameW6pjvkvZPnp6/ns7vmlbA75rK555u46buP5bqmO+awtOebuOm7j+W6pjvnu7zlkIjljovnvKnns7vmlbA75Yid5aeL5Y6L5YqbIiAvPg0KICAgICAgICA8WEEgT3V0cHV0cz0i5Zyw5bGC5Y6L5YqbO+a1i+ivleaXtumXtDvmjqLmtYvljYrlvoQ75Zyw5bGC57O75pWwO+a1geW6pjvmt7flkIjpu4/luqYiIC8+DQoNCiAgICA8L0NvbW1vblBhcmFzPg0KDQogICAgPCEtLSDlrp7pmYXphY3nva7nmoTor5XkupXmqKHlnovvvIzkuZ/lsLHmmK/nrpfms5XmlK/mjIHnmoTmqKHlnovpgInpobkgLS0+DQogICAgPCEtLSDlpoLmnpzlkIzkuIDkuKrmqKHlnovphY3nva7kuKTpgY3vvIzliJnpgJrluLjmmK/vvIzlkLjpmYTkuLropb/lronmqKHlnosv6Z2e5ZC46ZmE5Li65YyX5Lqs5qih5Z6LIC0tPg0KICAgIDxNb2RlbElvRGVzY3MgTmFtZT0iIiBBbGlhcz0i5aSE55CG6Kej6YeK5qih5Z6LIiBUaXBzPSIiID4NCg0KDQogICAgICAgIDwhLS3mnYPlrpzkuYvorqHvvIzkuqfog73or5XkupXkuZ/mlL7lnKjmraTlpIQtLT4NCiAgICAgICAgPCEtLeebtOS6lS0tPg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i55u05LqVIiBJRD0iMTEwMCIgU2VyaWVzPSJXRFQiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iV0RUUmVzTyIgQWxpYXM9IuayueS6lSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IldEVFJlc0ciIEFsaWFzPSLmsJTkupUiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA75rCU5L2T56ev57O75pWwO+eqnOa1geezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5a2U6ZqZ5bqmO+Wfuui0qOe7vOWQiOWOi+e8qeezu+aVsCIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLeawtOW5s+S6lS0tPg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5rC05bmz5LqVIiBJRD0iMTEwMSIgU2VyaWVzPSJXRFQiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iV0RUUmVzTyIgQWxpYXM9IuayueS6lSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvmsLTlubPkupXplb/luqY75rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvmtYHluqY75re35ZCI6buP5bqmIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iV0RUUmVzRyIgQWxpYXM9IuawlOS6lSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvmsJTkvZPnp6/ns7vmlbA75Z+66LSo57u85ZCI5Y6L57yp57O75pWwO+awtOW5s+S6lemVv+W6pjvmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+a1geW6pjvmt7flkIjpu4/luqYiLz4NCg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQoNCiAgICAgICAgPCEtLeebtOS6lS0tPg0KDQogICAgICAgIDwhLS3nm7TkupUt5a6M5YWo5omT5byALS0+DQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLlrozlhajmiZPlvIAiIElEPSIxMDAiIFNlcmllcz0iTFAiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwIi8+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBJRD0iLTk5IiBOYW1lPSIiIEFsaWFzPSItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iLz4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvnqpzmtYHns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWtlOmameW6pjvln7rotKjnu7zlkIjljovnvKnns7vmlbAiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlj4zlrZTmnb/nirbpnZ7nqLPmgIEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA756qc5rWB57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlrZTpmpnluqY75Z+66LSo57u85ZCI5Y6L57yp57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5p+x54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+eqnOa1geezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5a2U6ZqZ5bqmO+Wfuui0qOe7vOWQiOWOi+e8qeezu+aVsCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvnqpzmtYHns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWtlOmameW6pjvln7rotKjnu7zlkIjljovnvKnns7vmlbAiLz4NCg0KICAgICAgICAgICAgPCEtLeWMl+S6rOS4juilv+WuieaooeWei+S4gOagt++8jOaUr+aMgeeahOi+ueeVjOexu+Wei+S4jeWQjO+8jOWPpuWkluWwseaYr++8jOWQuOmZhO+8jOmAieilv+Wuie+8jOmdnuWQuOmZhOmAieWMl+S6rC0tPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75rq25a2U5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOafseeKtumdnueos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgSUQ9Ii05OSIgTmFtZT0iIiBBbGlhcz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCB5Y+M5riXIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvmurblrZTlkJHoo4LnvJ3nqpzmtYHns7vmlbA76KOC57yd5rq25a2U5riX6YCP546H5q+UIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KDQogICAgICAgICAgICA8IS0t5YyX5Lqs5LiO6KW/5a6J5qih5Z6L5LiA5qC377yM5pSv5oyB55qE6L6555WM57G75Z6L5LiN5ZCM77yM5Y+m5aSW5bCx5piv77yM5ZC46ZmE77yM6YCJ6KW/5a6J77yM6Z2e5ZC46ZmE6YCJ5YyX5LqsLS0+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5LiJ5a2U5ouf56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvlvLnmgKflgqjlrrnmr5QxO+eqnOa1geezu+aVsDE756qc5rWB57O75pWwMiIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuS4ieWtlOaLn+eos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75rq25a2U5by55oCn5YKo5a655q+UO+a6tuWtlOWQkeijgue8neeqnOa1geezu+aVsDvlrZTpmpnlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLkuInlrZTmi5/nqLPmgIHlj4zmuJciIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+a6tuWtlOW8ueaAp+WCqOWuueavlDvmurblrZTlkJHoo4LnvJ3nqpzmtYHns7vmlbA75a2U6ZqZ5ZCR6KOC57yd56qc5rWB57O75pWwO+ijgue8nea6tuWtlOa4l+mAj+eOh+avlCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCg0KICAgICAgICAgICAgPCEtLTxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLkuInlrZTljZXmuJfltYzlpZfmi5/nqLPmgIEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+W8ueaAp+WCqOWuueavlDE756qc5rWB57O75pWwMTvnqpzmtYHns7vmlbAyIi8+DQogICAgICAgICAgICAgICAgLS0+DQogICAgICAgICAgICA8UkVTTW9kZWwgSUQ9Ii05OSIgTmFtZT0iIiBBbGlhcz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5LqM5Yy65b6E5ZCR5aSN5ZCIIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+a1geW6puavlDIxO+WvvOWOi+ezu+aVsOavlDIxO+WkjeWQiOWNiuW+hDIxIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIgLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLkuInljLrlvoTlkJHlpI3lkIgiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA75rWB5bqm5q+UMjE75a+85Y6L57O75pWw5q+UMjE75aSN5ZCI5Y2K5b6EMjE75rWB5bqm5q+UMzE75a+85Y6L57O75pWw5q+UMzE75aSN5ZCI5Y2K5b6EMzIiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Zub5Yy65b6E5ZCR5aSN5ZCIIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+a1geW6puavlDIxO+WvvOWOi+ezu+aVsOavlDIxO+WkjeWQiOWNiuW+hDIxO+a1geW6puavlDMxO+WvvOWOi+ezu+aVsOavlDMxO+WkjeWQiOWNiuW+hDMyO+a1geW6puavlDQxO+WvvOWOi+ezu+aVsOavlDQxO+WkjeWQiOWNiuW+hDQzIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgSUQ9Ii05OSIgTmFtZT0iIiBBbGlhcz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i57yd5rSeMSIgT3V0cHV0cz0i6KOC57yd5riX6YCP546HO+ijgue8nei/h+a1gemdouenrzvmurbmtJ7kvZPnp6876KOC57yd6ZW/5bqmO+ijgue8neW8ueaAp+WCqOWuueavlCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9Iue8nea0njIiIE91dHB1dHM9Iuijgue8nTHmuJfpgI/njoc76KOC57ydMei/h+a1gemdouenrzvmurbmtJ4x5L2T56evO+ijgue8nTHplb/luqY76KOC57ydMua4l+mAj+eOhzvoo4LnvJ0y6L+H5rWB6Z2i56evO+a6tua0njLkvZPnp6876KOC57ydMumVv+W6pjvoo4LnvJ0x5by55oCn5YKo5a655q+UO+ijgue8nTLlvLnmgKflgqjlrrnmr5Q75rq25rSeMeW8ueaAp+WCqOWuueavlCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9Iue8nea0njMiIE91dHB1dHM9Iua6tua0njHlkJHmurbmtJ4y56qc5rWB57O75pWwO+a6tua0njHkvZPnp6875rq25rSeMuS9k+enryIgU2VsQmR5ID0gIuaXoOmZkOWkpyIgU2VsV2JzID0gIuaXoOS6leWCqCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9Iue8nea0njQiIE91dHB1dHM9Iua6tua0njHlkJHmurbmtJ4y56qc5rWB57O75pWwO+a6tua0njHlkJHkupXnrZLnqpzmtYHns7vmlbA75rq25rSeMuWQkeS6leetkueqnOa1geezu+aVsDvmurbmtJ4x5L2T56evO+a6tua0njLkvZPnp68iIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLnvJ3mtJ41IiBPdXRwdXRzPSLmuJfpgI/njoc75rq25rSe5Y2K5b6EO+a6tua0nuW8ueaAp+WCqOWuueavlDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75rq25a2U5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIgU2VsV2JzID0gIuaXoOS6leWCqCIvPg0KICAgICAgICAgICAgPCEtLQ0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYTiIgQWxpYXM9Iue6v+aAp+WkjeWQiCIgICAgIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lrr3luqY75a+85Y6L57O75pWw5q+URjEiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4tLT4NCg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLeebtOS6lS3pg6jliIbmiZPlvIAtLT4NCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gCIgSUQ9IjEwMSIgU2VyaWVzPSJYQSI+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlnYfotKgiICAgICAgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLkuozljLrlvoTlkJHlpI3lkIgiICBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+WeguWQkeS6leS9jTvlsITlrZTpq5jluqY76KGo55qu57O75pWwO+a1geW6puavlDIxO+WvvOWOi+ezu+aVsOavlDIxO+WkjeWQiOWNiuW+hDIxIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOafseeKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLeWOi+ijguebtOS6lS0tPg0KDQogICAgICAgIDwhLS3ljovoo4Lnm7TkupUt5Z2H5YyA5rWB6YePLS0+DQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfljIDmtYHph48iIElEPSIxMDIiIFNlcmllcz0iTFAiPg0KICAgICAgICANCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA75oC76KGo55qu57O75pWwO+ijgue8neWNiumVvyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvmgLvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+W8ueaAp+WCqOWuueavlDvnqpzmtYHns7vmlbAiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlj4zlrZTmnb/nirbpnZ7nqLPmgIEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA75oC76KGo55qu57O75pWwO+ijgue8neWNiumVvzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5p+x54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb875by55oCn5YKo5a655q+UO+eqnOa1geezu+aVsCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvmgLvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+W8ueaAp+WCqOWuueavlDvnqpzmtYHns7vmlbAiLz4NCiAgICAgICAgICAgIDwhLS08UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5LiJ5a2U5Y2V5riX5bWM5aWX5ouf56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb875by55oCn5YKo5a655q+UMTvnqpzmtYHns7vmlbAxO+eqnOa1geezu+aVsDI75by55oCn5YKo5a655q+UO+WxguS4gOWCqOWxguWOmuW6pjvlsYLkuIDmuJfpgI/njoc76KOC57yd5by55oCn5YKo5a655q+UIi8+LS0+DQoNCiAgICAgICAgICAgIDwhLS3ljJfkuqzkuI7opb/lronmqKHlnovkuIDmoLfvvIzmlK/mjIHnmoTovrnnlYznsbvlnovkuI3lkIzvvIzlj6blpJblsLHmmK/vvIzlkLjpmYTvvIzpgInopb/lronvvIzpnZ7lkLjpmYTpgInljJfkuqwtLT4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLkuozljLrlvoTlkJHlpI3lkIgiICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvmtYHluqbmr5QyMTvlr7zljovns7vmlbDmr5QyMTvlpI3lkIjljYrlvoQyMSIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiICAgICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmn7HnirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+CQ0KCQ0KICAgICAgICA8IS0t5Y6L6KOC55u05LqVLeaXoOmZkOWvvOa1gS0tPg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5peg6ZmQ5a+85rWBIiBJRD0iMTAzIiBTZXJpZXM9IkxQIj4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWdh+i0qCIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvmgLvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/Ii8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb875by55oCn5YKo5a655q+UO+eqnOa1geezu+aVsCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvmgLvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+W8ueaAp+WCqOWuueavlDvnqpzmtYHns7vmlbAiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlj4zlrZTmn7HnirbpnZ7nqLPmgIEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA75oC76KGo55qu57O75pWwO+ijgue8neWNiumVvzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb875by55oCn5YKo5a655q+UO+eqnOa1geezu+aVsCIvPg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5LiJ5a2U5ouf56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5by55oCn5YKo5a655q+UO+W8ueaAp+WCqOWuueavlDE756qc5rWB57O75pWwMTvnqpzmtYHns7vmlbAyIi8+DQogICAgICAgICAgICA8IS0tPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuS4ieWtlOWNlea4l+W1jOWll+aLn+eos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvmgLvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neW8ueaAp+WCqOWuueavlDvlvLnmgKflgqjlrrnmr5QxO+eqnOa1geezu+aVsDE756qc5rWB57O75pWwMiIvPi0tPg0KDQogICAgICAgICAgICA8IS0t5YyX5Lqs5LiO6KW/5a6J5qih5Z6L5LiA5qC377yM5pSv5oyB55qE6L6555WM57G75Z6L5LiN5ZCM77yM5Y+m5aSW5bCx5piv77yM5ZC46ZmE77yM6YCJ6KW/5a6J77yM6Z2e5ZC46ZmE6YCJ5YyX5LqsLS0+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5LqM5Yy65b6E5ZCR5aSN5ZCIIiAgICAgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb875rWB5bqm5q+UMjE75a+85Y6L57O75pWw5q+UMjE75aSN5ZCI5Y2K5b6EMjEiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCBIiAgICAgICAgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmnb/nirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5p+x54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCg0KICAgICAgICA8L1dFTE1vZGVsPgkNCgkNCiAgICAgICAgPCEtLeWOi+ijguebtOS6lS3mnInpmZDlr7zmtYEtLT4NCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gSIgSUQ9IjExMCIgU2VyaWVzPSJMUCI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5p2/54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5p+x54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQoNCiAgICAgICAgICAgIDwhLS3ljJfkuqzkuI7opb/lronmqKHlnovkuIDmoLfvvIzmlK/mjIHnmoTovrnnlYznsbvlnovkuI3lkIzvvIzlj6blpJblsLHmmK/vvIzlkLjpmYTvvIzpgInopb/lronvvIzpnZ7lkLjpmYTpgInljJfkuqwtLT4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLkuozljLrlvoTlkJHlpI3lkIgiICAgICAgICAgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+a1geW6puavlDIxO+WvvOWOi+ezu+aVsOavlDIxO+WkjeWQiOWNiuW+hDIxIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgQWRzb3JwdGlvbk9ubHk9IjEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgQWRzb3JwdGlvbk9ubHk9IjEiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOafseeKtumdnueos+aAgSIgQWRzb3JwdGlvbk9ubHk9IjEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgQWRzb3JwdGlvbk9ubHk9IjEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+WPjOe6v+aAp+a1gSIgSUQ9Ijc0OCI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips76KOC57yd5a695bqmO+WvvOWOi+ezu+aVsOavlEYxIiBTZWxCZHkgPSAi5peg6ZmQ5aSnO+efqeW9oui+ueeVjCIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S4iee6v+aAp+a1gSIgSUQ9Ijc1MCI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips76KOC57yd5a695bqmO+WvvOWOi+ezu+aVsOavlEYxO+WvvOWOi+ezu+aVsOavlDMxO+a1geW6puavlDMxIiBTZWxCZHkgPSAi5peg6ZmQ5aSnO+efqeW9oui+ueeVjCIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S6lOe6v+aAp+a1gSIgSUQ9Ijc0OSI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips76KOC57yd5a695bqmO+WvvOWOi+ezu+aVsOavlEYxO+WvvOWOi+ezu+aVsOavlDIxO+a1geW6puavlDIxO+WvvOWOi+ezu+aVsOavlDMxO+a1geW6puavlDMxO+WvvOWOi+ezu+aVsOavlDQxO+a1geW6puavlDQxO+WkjeWQiOWNiuW+hDIxIiBTZWxCZHkgPSAi5peg6ZmQ5aSnO+efqeW9oui+ueeVjCIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgICAgIDwhLS1YSDExLjI25re75YqgIOWOi+ijguS6leKAlOKAlOaciemZkOWvvOa1ge+8iOW/q++8ieaUueS4uiDljovoo4LkupXigJTigJTmnInpmZDlr7zmtYHvvIjlhajop6PmnpDvvIktLT4NCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gcK35YWo6Kej5p6QIiBJRD0iMTA2IiBTZXJpZXM9IkxQIj4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9Iua4l+mAj+eOhzvooajnmq7ns7vmlbA75oC76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips75peg6YeP57qy6KOC57yd5a+85rWB6IO95YqbIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5p2/54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5p+x54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmzvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwIi8+DQoNCiAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuS4ieWtlOaLn+eos+aAgSIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvmgLvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvml6Dph4/nurLoo4LnvJ3lr7zmtYHog73lips76KOC57yd5by55oCn5YKo5a655q+UO+W8ueaAp+WCqOWuueavlDE756qc5rWB57O75pWwMTvnqpzmtYHns7vmlbAyIi8+DQogICAgICAgICAgIDwhLS08UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5LiJ5a2U5Y2V5riX5bWM5aWX5ouf56iz5oCBIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+aAu+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75by55oCn5YKo5a655q+UMTvnqpzmtYHns7vmlbAxO+eqnOa1geezu+aVsDIiLz4tLT4NCg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiICBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfkuKTmrrXoo4LnvJ0iIElEPSIxMDciIFNlcmllcz0iTFAiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8nemVv+W6pjE76KOC57yd6ZW/5bqmMjvmgLvoo4LnvJ3plb/luqY76L+R5LqV5q615rWB6YeP5q+UIi8+DQoNCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfkuInmrrXoo4LnvJ0iIElEPSIxMDgiIFNlcmllcz0iTFAiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+ijgue8nemVv+W6pjE76KOC57yd6ZW/5bqmMjvoo4LnvJ3plb/luqYzO+aAu+ijgue8nemVv+W6pjvov5HkupXmrrXmtYHph4/mr5QxO+i/keS6leautea1gemHj+avlDIiLz4NCg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDwhLS08V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y6L6KOC55u05LqVKOaciemZkOWvvOa1gSkt5Lik5q61IiBJRD0iMTA5IiBTZXJpZXM9IkxQIj4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWdh+i0qCIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3plb/luqYxO+ijgue8nemVv+W6pjI75oC76KOC57yd6ZW/5bqmO+ijgue8neWvvOa1geiDveWKmzE76KOC57yd5a+85rWB6IO95YqbMiIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+LS0+DQogICAgICAgIDwhLS3ljovoo4Lnm7TkupUt6YOo5YiG5omT5byAwrflnYfljIDmtYHph48tLT4NCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gMK35Z2H5YyA5rWB6YePIiBJRD0iNzA1IiA+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Z2H6LSoIiAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb8iIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCBIiAgICAgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmnb/nirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9IuawtOW5s+a4l+mAj+eOhzvlnoLlkJHmuJfpgI/njoc75Z6C5ZCR5LqV5L2NO+WwhOWtlOmrmOW6pjvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5p+x54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+WeguWQkeS6leS9jTvlsITlrZTpq5jluqY76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8IS0t5Y6L6KOC55u05LqVLemDqOWIhuaJk+W8gMK35peg6ZmQ5a+85rWBLS0+DQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDCt+aXoOmZkOWvvOa1gSIgSUQ9IjcwNiIgPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWdh+i0qCIgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dHM9IuawtOW5s+a4l+mAj+eOhzvlnoLlkJHmuJfpgI/njoc75Z6C5ZCR5LqV5L2NO+WwhOWtlOmrmOW6pjvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/IiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgICAgICAgIE91dHB1dHM9IuawtOW5s+a4l+mAj+eOhzvlnoLlkJHmuJfpgI/njoc75Z6C5ZCR5LqV5L2NO+WwhOWtlOmrmOW6pjvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5p2/54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+WeguWQkeS6leS9jTvlsITlrZTpq5jluqY76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOafseeKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTnkIPnirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9IuawtOW5s+a4l+mAj+eOhzvlnoLlkJHmuJfpgI/njoc75Z6C5ZCR5LqV5L2NO+WwhOWtlOmrmOW6pjvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLeWOi+ijguebtOS6lS3pg6jliIbmiZPlvIDCt+aciemZkOWvvOa1gS0tPg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byAwrfmnInpmZDlr7zmtYEiIElEPSI3MDciID4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlnYfotKgiICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+WeguWQkeS6leS9jTvlsITlrZTpq5jluqY76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lipsiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCBIiAgICAgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5p2/54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+WeguWQkeS6leS9jTvlsITlrZTpq5jluqY76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuWchuW9oui+ueeVjDvml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmn7HnirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9IuawtOW5s+a4l+mAj+eOhzvlnoLlkJHmuJfpgI/njoc75Z6C5ZCR5LqV5L2NO+WwhOWtlOmrmOW6pjvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY075bCE5a2U6auY5bqmO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb876KOC57yd5a+85rWB6IO95YqbO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLlnIblvaLovrnnlYw75peg6ZmQ5aSnIi8+DQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLeawtOW5s+S6lS0tPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLluLjop4QiIElEPSIyMDEiIFNlcmllcz0iSFciPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLooajnmq7ns7vmlbA75Z6C5ZCR5LqV5L2NO+mhtui+ueeVjDvlupXovrnnlYwiLz4NCiAgICAgICAgICAgIDwhLS1YSDExLjI25re75YqgLS0+ICANCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiIE91dHB1dHM9IuihqOearuezu+aVsDvmsLTlubPkupXplb/luqY75Z6C5ZCR5LqV5L2NO+W8ueaAp+WCqOWuueavlDvnqpzmtYHns7vmlbA76aG26L6555WMO+W6lei+ueeVjCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgT3V0cHV0cz0i6KGo55qu57O75pWwO+awtOW5s+S6lemVv+W6pjvlnoLlkJHkupXkvY075by55oCn5YKo5a655q+UO+eqnOa1geezu+aVsDvpobbovrnnlYw75bqV6L6555WMIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Y+M5a2U5p+x54q26Z2e56iz5oCBIiBPdXRwdXRzPSLooajnmq7ns7vmlbA75rC05bmz5LqV6ZW/5bqmO+WeguWQkeS6leS9jTvlvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwO+mhtui+ueeVjDvlupXovrnnlYwiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlj4zlrZTnkIPnirbpnZ7nqLPmgIEiIE91dHB1dHM9IuihqOearuezu+aVsDvmsLTlubPkupXplb/luqY75Z6C5ZCR5LqV5L2NO+W8ueaAp+WCqOWuueavlDvnqpzmtYHns7vmlbA76aG26L6555WMO+W6lei+ueeVjCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuS6jOWMuuW+hOWQkeWkjeWQiCIgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvlnoLlkJHkupXkvY076KGo55qu57O75pWwO+awtOW5s+S6lemVv+W6pjvmtYHluqbmr5QyMTvlr7zljovns7vmlbDmr5QyMTvlpI3lkIjljYrlvoQyMTvpobbovrnnlYw75bqV6L6555WMIiBTZWxCZHkgPSAi5ZyG5b2i6L6555WMO+aXoOmZkOWkpyIvPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5LiJ5a2U5ouf56iz5oCBIiBPdXRwdXRzPSLmsLTlubPmuJfpgI/njoc75Z6C5ZCR5riX6YCP546HO+ihqOearuezu+aVsDvmsLTlubPkupXplb/luqY75Z6C5ZCR5LqV5L2NO+ijgue8neW8ueaAp+WCqOWuueavlDvlvLnmgKflgqjlrrnmr5QxO+eqnOa1geezu+aVsDE756qc5rWB57O75pWwMjvpobbovrnnlYw75bqV6L6555WMIi8+DQogICAgICAgICAgICA8IS0tPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuS4ieWtlOWNlea4l+W1jOWll+aLn+eos+aAgSIgT3V0cHV0cz0i5rC05bmz5riX6YCP546HO+WeguWQkea4l+mAj+eOhzvooajnmq7ns7vmlbA75rC05bmz5LqV6ZW/5bqmO+WeguWQkeS6leS9jTvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75by55oCn5YKo5a655q+UMTvnqpzmtYHns7vmlbAxO+eqnOa1geezu+aVsDI76aG26L6555WMO+W6lei+ueeVjCIvPi0tPg0KDQoNCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Lik5q615rWB6YePIiBJRD0iMjAyIiBTZXJpZXM9IkhXIj4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWdh+i0qCIgT3V0cHV0cz0i6KGo55qu57O75pWwO+S6p+mHj+auteaVsDvlnoLlkJHkupXkvY0iIFNlbFdicyA9ICLlrprkupXlgqgiLz4NCg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLkuKTmrrXmtYHph4/Ct+W6leawtCIgSUQ9IjIwMyIgU2VyaWVzPSJIVyI+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9IuihqOearuezu+aVsDvkuqfph4/mrrXmlbA75bqV5rC057O75pWwIiBTZWxXYnMgPSAi5a6a5LqV5YKoIi8+DQoNCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5LiJ5q615rWB6YePIiBJRD0iMjA0IiBTZXJpZXM9IkhXIj4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuWdh+i0qCIgT3V0cHV0cz0i6KGo55qu57O75pWwO+S6p+mHj+auteaVsDvlnoLlkJHkupXkvY0iIFNlbFdicyA9ICLlrprkupXlgqgiLz4NCg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLkuInmrrXmtYHph4/Ct+W6leawtCIgSUQ9IjIwNSIgU2VyaWVzPSJIVyI+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9IuihqOearuezu+aVsDvkuqfph4/mrrXmlbA75bqV5rC057O75pWwIiBTZWxXYnMgPSAi5a6a5LqV5YKoIi8+DQoNCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8IS0t5Y6L6KOC5rC05bmz5LqVLS0+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuWdh+WMgOa1gemHj8K3566A5YyWIiBJRD0iNzExIiA+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Z2H6LSoIiAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCBIiAgICAgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmnb/nirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5p+x54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgPC9XRUxNb2RlbD4NCgkNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuWdh+WMgOa1gemHjyIgSUQ9IjcxMiI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Z2H6LSoIiAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5ouf56iz5oCBIiAgICAgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmnb/nirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5p+x54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgPC9XRUxNb2RlbD4NCgkNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuaXoOmZkOWvvOa1gcK3566A5YyWIiBJRD0iNzEzIj4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlnYfotKgiICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiICAgICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmn7HnirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KCQ0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5peg6ZmQ5a+85rWBIiBJRD0iNzE0Ij4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlnYfotKgiICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiICAgICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOadv+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmn7HnirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KCQ0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfnroDljJYiIElEPSI3MTUiPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWdh+i0qCIgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lr7zmtYHog73lipvmlL7nvKnns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmi5/nqLPmgIEiICAgICAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5a+85rWB6IO95Yqb5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmnb/nirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lr7zmtYHog73lipvmlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOafseeKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neWvvOa1geiDveWKm+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U55CD54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5a+85rWB6IO95Yqb5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBIiBJRD0iNzE2Ij4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlnYfotKgiICAgICAgICAgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neWvvOa1geiDveWKm+aUvue8qeezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOaLn+eos+aAgSIgICAgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neWvvOa1geiDveWKm+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5Y+M5a2U5p2/54q26Z2e56iz5oCBIiAgICBPdXRwdXRzPSLmuJfpgI/njoc76KOC57yd5p2h5pWwO+ihqOearuezu+aVsDvoo4LnvJ3ljYrplb/mlL7nvKnns7vmlbA76KOC57yd5a+85rWB6IO95Yqb5pS+57yp57O75pWwO+ijgue8neW8ueaAp+WCqOWuueavlDvln7rotKjlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFNlbEJkeSA9ICLml6DpmZDlpKciLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlj4zlrZTmn7HnirbpnZ7nqLPmgIEiICAgIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVv+aUvue8qeezu+aVsDvoo4LnvJ3lr7zmtYHog73lipvmlL7nvKnns7vmlbA76KOC57yd5by55oCn5YKo5a655q+UO+Wfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgU2VsQmR5ID0gIuaXoOmZkOWkpyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuWPjOWtlOeQg+eKtumdnueos+aAgSIgICAgT3V0cHV0cz0i5riX6YCP546HO+ijgue8neadoeaVsDvooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/5pS+57yp57O75pWwO+ijgue8neWvvOa1geiDveWKm+aUvue8qeezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q75Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBTZWxCZHkgPSAi5peg6ZmQ5aSnIi8+DQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gcK35Y+M57q/5oCn5rWBIiBJRD0iNzQ1Ij4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips76KOC57yd5a695bqmO+WvvOWOi+ezu+aVsOavlEYxIiBTZWxCZHkgPSAi55+p5b2i6L6555WMIi8+DQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gcK35LiJ57q/5oCn5rWBIiBJRD0iNzQ2Ij4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips76KOC57yd5a695bqmO+WvvOWOi+ezu+aVsOavlEYxO+WvvOWOi+ezu+aVsOavlDMxO+a1geW6puavlDMxIiBTZWxCZHkgPSAi55+p5b2i6L6555WMIi8+DQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gcK35LqU57q/5oCn5rWBIiBJRD0iNzQ3Ij4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9Iua4l+mAj+eOhzvoo4LnvJ3mnaHmlbA76KGo55qu57O75pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips76KOC57yd5a695bqmO+WvvOWOi+ezu+aVsOavlEYxO+WvvOWOi+ezu+aVsOavlDIxO+a1geW6puavlDIxO+WvvOWOi+ezu+aVsOavlDMxO+a1geW6puavlDMxO+WvvOWOi+ezu+aVsOavlDQxO+a1geW6puavlDQxO+WkjeWQiOWNiuW+hDIxIiBTZWxCZHkgPSAi55+p5b2i6L6555WMIi8+DQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLTxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLlpJrnuqfljovoo4LmsLTlubPkupUiIElEPSIyMDYiIFNlcmllcz0iSFciPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Z2H6LSoIiBPdXRwdXRzPSLooajnmq7ns7vmlbA76KOC57yd5Y2K6ZW/O+ijgue8neWvvOa1geiDveWKmzvoo4LnvJ3lrr3luqY75Y6L6KOC5q615pWwO+WeguWQkeS6leS9jSIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+LS0+LS0+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuS4jeWdh+WMgOa1gemHjyIgSUQ9IjIwNyIgU2VyaWVzPSJIVyI+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfotKgiIE91dHB1dHM9IuihqOearuezu+aVsDvmgLvooajnmq7ns7vmlbA75Y6L6KOC5q615pWwO+ijgue8neWNiumVvzvoo4LnvJ3lr7zmtYHog73lips76KOC57yd5a695bqmO+WeguWQkeS6leS9jSIvPg0KDQogICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8IS0tPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuaWnOS6lSIgU2VyaWVzPSJTUiI+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfotKjmsrnol48iIElucHV0cz0i5pac5LqV6ZW/5bqmIiBPdXRwdXRzPSLmuJfpgI/njoc76KGo55qu57O75pWwO+WCqOWxguWOmuW6pjvmlpzkupXplb/luqY75LqV5pac6KeS5bqmIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBJRD0iMTAyIiBBbGlhcz0i5Y+M6YeN5a2U6ZqZ4oCU4oCU5ouf56iz5oCBIiBJbnB1dHM9IuaWnOS6lemVv+W6piIgT3V0cHV0cz0i5riX6YCP546HO+ihqOearuezu+aVsDvoo4LnvJ3lvLnmgKflgqjlrrnmr5Q756qc5rWB57O75pWwO+WCqOWxguWOmuW6pjvlnoLlkJHkupXkvY075pac5LqV6ZW/5bqmO+S6leaWnOinkuW6piIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+LS0+DQoNCiAgICA8L01vZGVsSW9EZXNjcz4NCjwvUm9vdD4NCg== \ No newline at end of file diff --git a/Bin/Config/Common/ModelDescsLP_en.dat b/Bin/Config/Common/ModelDescsLP_en.dat new file mode 100644 index 0000000..de08a3a --- /dev/null +++ b/Bin/Config/Common/ModelDescsLP_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+ebruaYr+W7uueri1dUQUnova/ku7bns7vnu5/mqKHlnovln7rmnKzlj4LmlbAo6L6T5YWlK+i+k+WHuikgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgQXV0aG9yKHMpOiB3YW5nemcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIERhdGU6IDIwMjQwMzAxLS0+DQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLSDpg6jliIbmlbDmja7pobnor7TmmI4NCiAgICAgICAgSUQ6ICAgICAgICAgIOWUr+S4gOagh+ivhu+8iOWmguaenElE5Li6Ii0xIuWImeiupOS4uuaYr+WIhue7hOS/oeaBr++8jOWmguS6leWei+S5i+S4rQ0KICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KICAgICAgICBGdWxsQWxpYXPvvJogIOWIq+WQjeeugOensO+8jOiAg+iZkeWIhue7hO+8jOavlOWmguaZuuiDveivhuWIq+S4re+8jOacieeCueexu+S8vGZ1bGxuYW1l55qE5qaC5b+1DQogICAgICAgIEljb27vvJogICAgICAg5Zu+5qCHDQogICAgICAgIEZsYWdzOiAgICAgICBGbGFnc+agh+ivhu+8jOWFt+S9k+WPguingSBtaWJGbGFncyDlrprkuYkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDml6DmoIflv5cNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnTm9uZSA9IDAsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDor6XmqKHlnovpgInpobnmmK/lkKbvvJrmlK/mjIHlpJrlsYLvvIjpu5jorqTkuI3mlK/mjIHvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDlr7nlupTnmoTmmK8g5aSa5bGC5qih5Z6L77yI5pWw5a2XRmxhZysx77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ011bHRpTGF5ZXIgPSAgICAweDAwMDAwMDAxLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm77ya5pSv5oyB5bmy5omw77yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOW5suaJsOaooeWei++8iOaVsOWtl0ZsYWcrMu+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdJbnRlcmZlcmUgPSAgICAgMHgwMDAwMDAwMiwNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOivpeaooeWei+mAiemhueaYr+WQpu+8muW4pui+ueeVjOS4reeahOmhtuW6leWxnuaAp++8iOm7mOiupOS4jeaUr+aMge+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOWvueW6lOeahOaYryDoh6rliqjlnKjop6Pph4rlj4LmlbDkuK3vvIzlop7liqAg6aG26L6555WM44CB5bqV6L6555WM77yI5pWw5a2XRmxhZys077yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0JkeU5lZWRlZCA9ICAgICAweDAwMDAwMDA0LA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5ZCv5Yqo5Y6L5Yqb5qKv5bqm77yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOaooeWei+mAiemhueWvueivneahhuW3puS4i+inkuaYr+WQpuWPr+S7peWLvumAie+8iOaVsOWtl0ZsYWcrOO+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdQcmVzc0dyYWQgPSAgICAgMHgwMDAwMDAwOCwNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOivpeaooeWei+mAiemhueaYr+WQpuaUr+aMge+8muWKqOaAgea4l+mAj+eOh++8iOm7mOiupOS4jeaUr+aMge+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOWvueW6lOeahOaYryDmqKHlnovpgInpobnlr7nor53moYblt6bkuIvop5LmmK/lkKblj6/ku6Xli77pgInvvIjmlbDlrZdGbGFnKzE277yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0R5bmFtaWNLID0gICAgICAweDAwMDAwMDEwLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5bCP5L+h5Y+377yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOaooeWei+mAiemhueWvueivneahhuW3puS4i+inkuaYr+WQpuWPr+S7peWLvumAie+8iOaVsOWtl0ZsYWcrMzLvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnU21hbGxTaWduYWwgPSAgIDB4MDAwMDAwMjAsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDor6XmqKHlnovpgInpobnmmK/lkKbmlK/mjIHvvJrlupTlipvmlY/mhJ/vvIjpu5jorqTkuI3mlK/mjIHvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDlr7nlupTnmoTmmK8g5qih5Z6L6YCJ6aG55a+56K+d5qGG5bem5LiL6KeS5piv5ZCm5Y+v5Lul5Yu+6YCJ77yI5pWw5a2XRmxhZys2NO+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdTdHJlc3NTZW5zaXRpdmUgPSAweDAwMDAwMDQwLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5ZC46ZmE77yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5a+55bqU55qE5pivIOaooeWei+mAiemhueWvueivneahhuW3puS4i+inkuaYr+WQpuWPr+S7peWLvumAie+8iOaVsOWtl0ZsYWcrMTI477yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0Fkc29ycHRpb24gPSAgICAweDAwMDAwMDgwLA0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDor6XmqKHlnovpgInpobnmmK/lkKbmmK/vvJrkuqfog73mqKHlvI/vvIjpu5jorqTkuI3mlK/mjIHvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDlr7nlupTnmoTmmK8g5piv5ZCm5Lqn6IO96K+V5LqV77yM5rOo5oSP77yM5LiO5YW25a6D5omA5pyJ5qCH6K+G5LqS5pal77yI5pWw5a2XRmxhZysyNTbvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDor6XmlrnmoYjmlL7lnKjmraTlpITlj6rmmK/kuIDnp43mnYPlrpzkuYvorqENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnV0RUID0gICAgICAgICAgMHgwMDAwMDEwMCwgLy/vvIjmlbDlrZdGbGFnKzI1Nu+8iQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6K+l5qih5Z6L6YCJ6aG55piv5ZCm5pSv5oyB77ya5omp5bGVMX4277yI6buY6K6k5LiN5pSv5oyB77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0V4dDIgPSAgICAgICAgICAweDAwMDAwMjAwLCAvL++8iOaVsOWtl0ZsYWcrNTEy77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0V4dDMgPSAgICAgICAgICAweDAwMDAwNDAwLCAvL++8iOaVsOWtl0ZsYWcrMTAyNO+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdFeHQ0ID0gICAgICAgICAgMHgwMDAwMDgwMCwgLy/vvIjmlbDlrZdGbGFnKzIwNDjvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnRXh0NSA9ICAgICAgICAgIDB4MDAwMDEwMDAsIC8v77yI5pWw5a2XRmxhZys0MDk277yJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ0V4dDYgPSAgICAgICAgICAweDAwMDAyMDAwLCAvL++8iOaVsOWtl0ZsYWcrODE5Mu+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgRmxhZ0Rlc2NzOiAgIEZsYWdz5qCH6K+G6K+05piO77yM5Y+q5piv5Li65LqG6YWN572u5pe25pa55L6/DQogICAgICAgIFRpcHPvvJogICAgICAg6L6F5Yqp6K+05piODQoNCiAgICDpop3lpJbor7TmmI7vvJoNCiAgICAgICAgMS4g5LqV5Z6L5YKo5bGC57G75Z6L5L+u5pS55ZCO77yM55CG6K665LiKQ2h1QWlNb2RlbERlZmluZXMuaW5p5Lmf6KaB55u45bqU5L+u5pS5DQogICAgICAgIDIuIOS6leWei+WCqOWxguexu+Wei+eahElE5aaC5p6c5L+u5pS577yM5Y+v6IO95raJ5Y+KWGFCZHlTcGVjaWFscy5pbmnmlofku7bnmoTnm7jlupTkv67mlLkNCi0tPg0KDQo8Um9vdD4NCg0KICAgIDwhLS0g5LqV5YKo5qih5Z6L77yI6L+Z5piv5LqV5YKo55qE5Z+65pys6K6+5a6a77yJDQogICAgLS0+DQogICAgPFdCU01vZGVsIE5hbWU9IjEiPg0KICAgICAgICA8T3B0aW9uIElEPSIwMSIgTmFtZT0iV2JzTm9uZSIgQWxpYXM9Ik5vbmUiIFRpcHM9IiIgRXh0SUQgPSJXYnMwMDAwMSIgRmxhZ3M9IjIiIEZsYWdEZXNjcz0iMuW5suaJsCIgLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDAiIE5hbWU9Ildic0NvbnMiIEFsaWFzPSJDb25zdGFudCIgVGlwcz0iIiBFeHRJRCA9IldiczAwMDAyIiBQYXJhcz0iQyIvPg0KICAgICAgICA8T3B0aW9uIElEPSIwMiIgTmFtZT0iV2JzRmFpciIgQWxpYXM9IkNoYW5naW5nIGZhaXIiIFBhcmFzPSJDO0NpZFJhdGlvO2FscGhhIiBUaXBzPSIiIEV4dElEID0iV2JzMDAwMDMiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDMiIE5hbWU9Ildic0hlZ2VtYW4iIEFsaWFzPSJDaGFuZ2luZyBoZWdlbWFuIiBQYXJhcz0iQztDaWRSYXRpbzthbHBoYSIgVGlwcz0iIiBFeHRJRCA9IldiczAwMDA0Ii8+DQogICAgICAgIDxPcHRpb24gSUQ9IjA0IiBOYW1lPSJXYnNTcGl2ZXlQYWNrZXIiIEFsaWFzPSJDaGFuZ2luZyBzcGl2ZXkgcGFja2VyKSIgUGFyYXM9IkM7Q2lkUmF0aW87U2xlYWsiIFRpcHM9IiIgRXh0SUQgPSJXYnMwMDAwNSIvPg0KICAgICAgICA8T3B0aW9uIElEPSIwNSIgTmFtZT0iV2JzU3BpdmV5Rmlzc3VyZXMiIEFsaWFzPSJDaGFuZ2luZyBzcGl2ZXkgZmlzc3VyZXMpIiBQYXJhcz0iQztDaWRSYXRpbztTbGVhayIgVGlwcz0iIiBFeHRJRCA9IldiczAwMDA2IiAvPg0KDQogICAgPC9XQlNNb2RlbD4NCg0KICAgIDwhLS0g6L6555WM5qih5Z6L77yI6L+Z5piv6L6555WM55qE5Z+65pys6K6+5a6a77yJ77yM5rOo5oSP77ya55+p5b2i6L6555WM6aG65bqP5L+u5pS577yM5b2x5ZONIGFwcGVuZFBhcmFzX0JkeSDlh73mlbAtLT4NCiAgICA8QkRZTW9kZWwgTmFtZT0iIiBBbGlhcz0iIiBUaXBzPSIiID4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDAiIE5hbWU9IkJkeUluZmluaXRlIiBBbGlhcz0iSW5maW5pdGUiIFRpcHM9IiIgRXh0SUQgPSJCZHkwMDAwMSIgRmxhZ3M9IjM1IiBGbGFnRGVzY3M9IjHlpJrlsYIrMuW5suaJsCszMuWwj+S/oeWPtyIgLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDEiIE5hbWU9IkJkeU9uZSIgQWxpYXM9IlNpbmdsZSIgUGFyYXM9IlNvdXRoIiBGaWc9IlRoZW9yeV9DdXJ2ZTIucG5nIiBUaXBzPSIiIEV4dElEID0iQmR5MDAwMDMiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMDIiIE5hbWU9IkJ5ZFBhcmFsIiBBbGlhcz0iUGFyYWxsZWwiIFBhcmFzPSJOb3J0aDtTb3V0aCIgVGlwcz0iIiBFeHRJRCA9IkJkeTAwMDA0Ii8+DQogICAgICAgIDxPcHRpb24gSUQ9IjAzIiBOYW1lPSJCeWRUcmkiIEFsaWFzPSJVLXR5cGUiIFBhcmFzPSJXZXN0O1NvdXRoO0Vhc3QiIFRpcHM9IiIgRXh0SUQgPSJCZHkwMDAwNSIvPg0KICAgICAgICA8T3B0aW9uIElEPSIwNCIgTmFtZT0iQmR5Q3Jvc3MiIEFsaWFzPSJJbnRlcnNlY3RpbmciIFBhcmFzPSJXZXN0O1NvdXRoO0Nyb3NzQW5nbGUiIFRpcHM9IiIgRXh0SUQgPSJCZHkwMDAwNyIvPg0KICAgICAgICA8T3B0aW9uIElEPSIwNSIgTmFtZT0iQmR5Q2lyY2xlIiBBbGlhcz0iQ2lyY3VsYXIiIFBhcmFzPSJDaXJjbGUiIFRpcHM9IiIgRXh0SUQgPSJCZHkwMDAwMiIgRmxhZ3M9IjEiIEZsYWdEZXNjcz0iMeWkmuWxgiIvPg0KICAgICAgICA8T3B0aW9uIElEPSIwNiIgTmFtZT0iQmR5UmVjdCIgQWxpYXM9IlJlY3RhbmdsZSIgUGFyYXM9Ik5vcnRoO1NvdXRoO1dlc3Q7RWFzdCIgVGlwcz0iIiBFeHRJRCA9IkJkeTAwMDA2Ii8+DQogICAgPC9CRFlNb2RlbD4NCg0KICAgIDwhLS0g5LqV5qih5Z6L77yI6L+Z5piv5LqV57G75Z6L55qE5Z+65pys6K6+5a6a77yJLS0+DQogICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IiIgVGlwcz0iIiA+DQoNCiAgICAgICAgPCEtLeadg+WunOS5i+iuoe+8jOS6p+iDveivleS6leS5n+aUvuWcqOatpOWkhC0tPg0KICAgICAgICA8T3B0aW9uIElEPSIxMTAwIiBOYW1lPSJXRFRXZWxsViIgQWxpYXM9IlZlcnRpY2FsIiBUaXBzPSIiIEZsYWdzPSIyNTYiIEZsYWdEZXNjcz0iMjU25Lqn6IO9IiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMTAxIiBOYW1lPSJXRFRXZWxsSCIgQWxpYXM9Ikhvcml6b250YWwiIFRpcHM9IiIgRmxhZ3M9IjI1NiIgRmxhZ0Rlc2NzPSIyNTbkuqfog70iIC8+DQoNCiAgICAgICAgPCEtLVZlcnRpY2FsLS0+DQogICAgICAgIDxPcHRpb24gSUQ9Ii0xIiBOYW1lPSIiIEFsaWFzPSJWZXJ0aWNhbCIgVGlwcz0iIiBJY29uPSJXZWxsT2lsIiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDAiIE5hbWU9IldlbGxWIiBBbGlhcz0iVmVydGljYWwiIFRpcHM9IiIgRXh0SUQgPSJXZWwwMTAwMSIgRmxhZ3M9IjE3MSIgRmxhZ0Rlc2NzPSIx5aSa5bGCKzLlubLmibArOOWQr+WKqOWOi+WKm+air+W6piszMuWwj+S/oeWPtysxMjjlkLjpmYQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMTAxIiBOYW1lPSJXZWxsUENMIiBBbGlhcz0iVmVydGljYWwgbGltaXRlZCIgVGlwcz0iIiBFeHRJRCA9IldlbDAxMDAyIiBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQoJCQ0KICAgICAgICA8IS0t5Y6L6KOCVmVydGljYWwtLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9IlZlcnRpY2FsIGZyYWN0dXJlZCIgVGlwcz0iIiBJY29uPSJXZWxsR2FzIi8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iMTAyIiBOYW1lPSJXZWxsUFVGIiBBbGlhcz0iVW5pZm9ybSBmbHV4IiBUaXBzPSIiIEV4dElEID0iV2VsMDIwMDEiIEZsYWdzPSIxMjkiIEZsYWdEZXNjcz0iMeWkmuWxgisxMjjlkLjpmYQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMTAzIiBOYW1lPSJXZWxsUENJIiBBbGlhcz0iSW5maW5pdGUgY29uZCIgVGlwcz0iIiBFeHRJRCA9IldlbDAyMDAyIiBGbGFncz0iMTI5IiBGbGFnRGVzY3M9IjHlpJrlsYIrMTI45ZC46ZmEIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjExMCIgTmFtZT0iIiBBbGlhcz0iRmluaXRlIGNvbmQiIFRpcHM9IiIgRXh0SUQgPSJXZWwwMjAwMyIgRmxhZ3M9IjE2MSIgRmxhZ0Rlc2NzPSIx5aSa5bGCKzMy5bCP5L+h5Y+3KzEyOOWQuOmZhCIvPg0KDQogICAgICAgIDxPcHRpb24gSUQ9Ii05OSIgTmFtZT0iIiBBbGlhcz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDYiIE5hbWU9IldlbGxQQ0ZGIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrflhajop6PmnpAiIFRpcHM9IumHh+eUqOWvvOa1geiDveWKm+W9seWTjeWHveaVsOihqOW+geaciemZkOWSjOaXoOmZkOWvvOa1geijgue8neS6leaXqeacn+S6leW6leWOi+WKm+WTjeW6lOeahOW3ruW8gu+8jOW+l+WIsOaciemZkOWvvOa1geijgue8neS6leW6leWOi+WKm+ino+aekOino+OAgiIgRmlnPSJXZWxfMTA2IiAvPg0KDQogICAgICAgIDxPcHRpb24gSUQ9Ii05OSIgTmFtZT0iIiBBbGlhcz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIiAvPg0KICAgICAgICA8IS0tPE9wdGlvbiBJRD0iMTA0IiBOYW1lPSJXZWxsUENGTCIgQWxpYXM9IuaciemZkOWvvOa1gcK35LiJ57q/5oCn5rWB77yI5YyX5Lqs77yJIiBGdWxsQWxpYXM9IuWOi+ijglZlcnRpY2FswrfkuInnur/mgKfmtYHvvIjljJfkuqzvvIkiIFRpcHM9IuWwhua4l+a1geezu+e7n+WIhuaIkOS4ieS4quS4gOe7tOe6v+aAp+a1geWKqOWMuuWfn++8jOW+l+WIsOaciemZkOWvvOa1geijgue8neS6leW6leWOi+WKm+ino+aekOino+OAgiIgIEZpZz0iV2VsXzEwNCIgRmxhZ3M9IjMyIiBGbGFnRGVzY3M9IjMy5bCP5L+h5Y+3Ii8+LS0+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iNzQ4IiBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+WPjOe6v+aAp+a1gSIgRnVsbEFsaWFzPSLljovoo4JWZXJ0aWNhbMK35Y+M57q/5oCn5rWBIiBUaXBzPSIiIEV4dElEID0iV2VsMDIwMDMtMiIgRmxhZ3M9IjgiIEZsYWdEZXNjcz0iOOWQr+WKqOWOi+WKm+air+W6piIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3NTAiIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gcK35LiJ57q/5oCn5rWBIiBGdWxsQWxpYXM9IuWOi+ijglZlcnRpY2FswrfkuInnur/mgKfmtYEiIFRpcHM9IiIgRXh0SUQgPSJXZWwwMjAwMy0zIiBGbGFncz0iOCIgRmxhZ0Rlc2NzPSI45ZCv5Yqo5Y6L5Yqb5qKv5bqmIi8+DQogICAgICAgIDxPcHRpb24gSUQ9Ijc0OSIgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfkupTnur/mgKfmtYEiIEZ1bGxBbGlhcz0i5Y6L6KOCVmVydGljYWzCt+S6lOe6v+aAp+a1gSIgVGlwcz0iIiBFeHRJRCA9IldlbDAyMDAzLTUiLz4NCg0KICAgICAgICA8T3B0aW9uIElEPSItOTkiIE5hbWU9IiIgQWxpYXM9Ii0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIgLz4NCg0KICAgICAgICAgPCEtLVhIMTEuMjbmt7vliqAg5Y6L6KOC5LqV4oCU4oCU5pyJ6ZmQ5a+85rWB77yI5b+r77yJ5pS55Li6IOWOi+ijguS6leKAlOKAlOaciemZkOWvvOa1ge+8iOWFqOino+aekO+8iS0tPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDciIE5hbWU9IldlbGxQQzIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S4pOauteijgue8nSIgVGlwcz0i6ICD6JmR6KOC57yd5a+85rWB6IO95Yqb5LiN5Z2H5YyA77yM5bCG6KOC57yd5Y2K6ZW/5YiG5Li6Muaute+8jOavj+auteeahOWvvOa1geiDveWKm+WSjOS6p+mHj+S4jeWQjOOAgiIgRmlnPSJXZWxfMTA3IiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMDgiIE5hbWU9IldlbGxQQzMiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S4ieauteijgue8nSIgVGlwcz0i6ICD6JmR6KOC57yd5a+85rWB6IO95Yqb5LiN5Z2H5YyA77yM5bCG6KOC57yd5Y2K6ZW/5YiG5Li6M+aute+8jOavj+auteeahOWvvOa1geiDveWKm+WSjOS6p+mHj+S4jeWQjOOAgiIgRmlnPSJXZWxfMTA4IiAvPg0KICAgICAgICA8IS0tPE9wdGlvbiBJRD0iMTA5IiBOYW1lPSJXZWxsUENGMiIgQWxpYXM9IuWOi+ijglZlcnRpY2FsKOaciemZkOWvvOa1gSkt5Lik5q61IiBUaXBzPSIiIC8+LS0+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iLTk5IiBOYW1lPSIiIEFsaWFzPSItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iIC8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iNzA1IiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDCt+Wdh+WMgOa1gemHjyIgVGlwcz0iIiBFeHRJRCA9IldlbDAyMDA0IiBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcwNiIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byAwrfml6DpmZDlr7zmtYEiIFRpcHM9IiIgRXh0SUQgPSJXZWwwMjAwNSIgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MDciIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gMK35pyJ6ZmQ5a+85rWBIiBUaXBzPSIiIEV4dElEID0iV2VsMDIwMDYiIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCg0KICAgICAgICA8IS0t5rC05bmz5LqVLS0+DQogICAgICAgIDxPcHRpb24gSUQ9Ii0xIiBOYW1lPSIiIEFsaWFzPSJIb3Jpem9udGFsIiBUaXBzPSIiIEljb249IldlbGxPaWwiIC8+DQoNCiAgICAgICAgPCEtLSBYSCAgT3B0aW9uIElEPSIyMDAiIE5hbWU9IldlbGxIIiBBbGlhcz0iSG9yaXpvbnRhbCIgQmFzZVBhcmFzPSJMO3p3O0RldiIgVGlwcz0iIiBFeHRJRCA9IldlbDAzMDAxIi8tLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iMjAxIiBOYW1lPSJXZWxsSENNIiBBbGlhcz0iSG9yaXpvbnRhbCIgRnVsbEFsaWFzPSLluLjop4TmsLTlubPkupUiIEJhc2VQYXJhcz0iTDt6dztEZXYiIFRpcHM9IiIgRXh0SUQgPSJXZWwwMzAwMSIvPg0KDQogICAgICAgIDxPcHRpb24gSUQ9IjIwMiIgTmFtZT0iV2VsbEhTTDIiIEFsaWFzPSLkuKTmrrXmtYHph48iICBGaWc9IldlbF8yMDIiIEJhc2VQYXJhcz0iTDt6dztEZXY7TmY7eGYiIFRpcHM9IuWBh+iuvuawtOW5s+S6leS4pOWkhOS6leauteWtmOWcqOa1geS9k+eahOa1geWFpeaIlua1geWHuiIgRXh0SUQgPSJXZWwwMzAwMiIvPg0KICAgICAgICA8T3B0aW9uIElEPSIyMDQiIE5hbWU9IldlbGxIU0wzIiBBbGlhcz0i5LiJ5q615rWB6YePIiBGaWc9IldlbF8yMDQiIEJhc2VQYXJhcz0iTDt6dztEZXY7TmY7eGYiIFRpcHM9IuWBh+iuvuawtOW5s+S6leS4ieWkhOS6leauteWtmOWcqOa1geS9k+eahOa1geWFpeaIlua1geWHuiIgRXh0SUQgPSJXZWwwMzAwMyIvPg0KDQogICAgICAgIDxPcHRpb24gSUQ9IjIwMyIgTmFtZT0iV2VsbEhTTDJCb3RXYXRlciIgQWxpYXM9IuS4pOautea1gemHj8K35bqV5rC0IiBGaWc9IldlbF8yMDMiIEJhc2VQYXJhcz0iTDvot53lgqjlsYLlupXpg6jot53nprs7RGV2O05mO3hmIiBUaXBzPSLlgYforr7msLTlubPkupXkuKTlpITkupXmrrXlrZjlnKjmtYHkvZPnmoTmtYHlhaXmiJbmtYHlh7rvvIzlgqjlsYLlupXmsLTlj5HogrIiIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjIwNSIgTmFtZT0iV2VsbEhTTDNCb3RXYXRlciIgQWxpYXM9IuS4ieautea1gemHj8K35bqV5rC0IiBGaWc9IldlbF8yMDUiIEJhc2VQYXJhcz0iTDvot53lgqjlsYLlupXpg6jot53nprs7RGV2O05mO3hmIiBUaXBzPSLlgYforr7msLTlubPkupXkuInlpITkupXmrrXlrZjlnKjmtYHkvZPnmoTmtYHlhaXmiJbmtYHlh7rvvIzlgqjlsYLlupXmsLTlj5HogrIiIC8+DQoNCiAgICAgICAgPCEtLeWOi+ijguawtOW5s+S6lS0tPg0KICAgICAgICA8T3B0aW9uIElEPSItMSIgTmFtZT0iIiBBbGlhcz0iSG9yaXpvbnRhbCBmcmFjdHVyZWQiIFRpcHM9IiIgSWNvbj0iV2VsbEdhcyIgLz4NCg0KICAgICAgICA8T3B0aW9uIElEPSI3MTEiIE5hbWU9IiIgQWxpYXM9IuWdh+WMgOa1gemHj8K3566A5YyWIiBUaXBzPSIiIEV4dElEID0iV2VsMDQwMDEiIEZsYWdzPSIxMjgiIEZsYWdEZXNjcz0iMTI45ZC46ZmEIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcxMiIgTmFtZT0iIiBBbGlhcz0iVW5pZm9ybSBmbHV4IiBUaXBzPSIiIEV4dElEID0iV2VsMDQwMDIiIEZsYWdzPSIxMjgiIEZsYWdEZXNjcz0iMTI45ZC46ZmEIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcxMyIgTmFtZT0iIiBBbGlhcz0i5peg6ZmQ5a+85rWBwrfnroDljJYiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNDAwMyIgRmxhZ3M9IjEyOCIgRmxhZ0Rlc2NzPSIxMjjlkLjpmYQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzE0IiBOYW1lPSIiIEFsaWFzPSJJbmZpbml0ZSBjb25kIiBUaXBzPSIiIEV4dElEID0iV2VsMDQwMDQiIEZsYWdzPSIxMjgiIEZsYWdEZXNjcz0iMTI45ZC46ZmEIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcxNSIgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfnroDljJYiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNDAwNSIgRmxhZ3M9IjEyOCIgRmxhZ0Rlc2NzPSIxMjjlkLjpmYQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzE2IiBOYW1lPSIiIEFsaWFzPSJGaW5pdGUgY29uZCIgVGlwcz0iIiBFeHRJRCA9IldlbDA0MDA2IiBGbGFncz0iMTI4IiBGbGFnRGVzY3M9IjEyOOWQuOmZhCIvPg0KDQogICAgICAgIDxPcHRpb24gSUQ9Ii05OSIgTmFtZT0iIiBBbGlhcz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIiAvPg0KDQogICAgICAgIDxPcHRpb24gSUQ9Ijc0NSIgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrflj4znur/mgKfmtYEiIEZ1bGxBbGlhcz0i5Y6L6KOC5rC05bmz5LqVwrflj4znur/mgKfmtYEiIEZsYWdzPSI4IiBGbGFnRGVzY3M9IjjlkK/liqjljovlipvmoq/luqYiIEZpZz0iV2VsXzc0NSIgVGlwcz0i5Y6L6KOC5LqV77yI5pyJ6ZmQ5a+85rWB5Y6L6KOCVmVydGljYWzjgIHmnInpmZDlr7zmtYHlpJrnuqfljovoo4LmsLTlubPkupXvvInvvIzor6XmqKHlnovkuLvopoHliIbkuLrkuKTljLpTUlbljLor5aSW5Zu05Z+66LSo5Yy6IiAgRXh0SUQgPSJXZWwwNDAwNS0yIi8+DQogICAgICAgIDxPcHRpb24gSUQ9Ijc0NiIgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfkuInnur/mgKfmtYEiIEZ1bGxBbGlhcz0i5Y6L6KOC5rC05bmz5LqVwrfkuInnur/mgKfmtYEiIEZsYWdzPSI4IiBGbGFnRGVzY3M9IjjlkK/liqjljovlipvmoq/luqYiIEZpZz0iV2VsXzc0NiIgVGlwcz0i5Y6L6KOC5LqV77yI5pyJ6ZmQ5a+85rWB5Y6L6KOCVmVydGljYWzjgIHmnInpmZDlr7zmtYHlpJrnuqfljovoo4LmsLTlubPkupXvvInvvIzor6XmqKHlnovkuLvopoHliIbkuLrkuInljLrvvJroo4LnvJ3ljLrvvIxTUlbljLrvvIzlpJblm7Tln7rotKjljLoiICAgRXh0SUQgPSJXZWwwNDAwNS0zIi8+DQogICAgICAgIDxPcHRpb24gSUQ9Ijc0NyIgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfkupTnur/mgKfmtYEiIEZ1bGxBbGlhcz0i5Y6L6KOC5rC05bmz5LqVwrfkupTnur/mgKfmtYEiIEZpZz0iV2VsXzc0NyIgVGlwcz0i5Y6L6KOC5LqV77yI5pyJ6ZmQ5a+85rWB5Y6L6KOCVmVydGljYWzjgIHmnInpmZDlr7zmtYHlpJrnuqfljovoo4LmsLTlubPkupXvvInvvIzor6XmqKHlnovkuLvopoHliIbkuLrkupTljLrvvJroo4LnvJ3ljLrvvIxTUlbljLrvvIgx77yJ77yM5aSW5Zu05Yy677yIMi0077yJIiAgRXh0SUQgPSJXZWwwNDAwNS01Ii8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iLTk5IiBOYW1lPSIiIEFsaWFzPSItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iIC8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iNzE3IiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDljovoo4LmsLTlubPkupUo5Z2H5YyA5rWB6YePKS3nrYnpl7Tot53nrYnljYrplb8iIFRpcHM9IiIgRXh0SUQgPSJXZWwwNDAwNyIgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MTgiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOWOi+ijguawtOW5s+S6lSjlnYfljIDmtYHph48pIiBUaXBzPSIiIEV4dElEID0iV2VsMDQwMDgiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcxOSIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5Y6L6KOC5rC05bmz5LqVKOaXoOmZkOWvvOa1gSkt562J6Ze06Led562J5Y2K6ZW/IiBUaXBzPSIiIEV4dElEID0iV2VsMDQwMDkiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcyMCIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5Y6L6KOC5rC05bmz5LqVKOaXoOmZkOWvvOa1gSkiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNDAxMCIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzIxIiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDljovoo4LmsLTlubPkupUo5pyJ6ZmQ5a+85rWBKS3nrYnpl7Tot53nrYnljYrplb8iIFRpcHM9IiIgRXh0SUQgPSJXZWwwNDAxMSIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzIyIiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDljovoo4LmsLTlubPkupUo5pyJ6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA0MDEyIiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KDQogICAgICAgIDwhLS08T3B0aW9uIElEPSIyMDYiIE5hbWU9IldlbGxQRkNNIiBBbGlhcz0i5aSa57qn5Y6L6KOC5rC05bmz5LqVIiBGdWxsQWxpYXM9IlvlkI3np7DlvoXlrppd5aSa57qn5Y6L6KOC5rC05bmz5LqVIiBUaXBzPSLlvoXlrpoiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+LS0+DQogICAgICAgIDxPcHRpb24gSUQ9IjIwNyIgTmFtZT0iV2VsbFBJQ00iIEFsaWFzPSLkuI3lnYfljIDmtYHph48iICAgRmlnPSJXZWxfMjA3IiBUaXBzPSIiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQoNCiAgICAgICAgPCEtLeaWnOS6lS0tPg0KICAgICAgICA8T3B0aW9uIElEPSItMSIgTmFtZT0iIiBBbGlhcz0i5pac5LqVIiBUaXBzPSIiIEljb249IldlbGxPaWwiIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjMwMCIgTmFtZT0iIiBBbGlhcz0i5a6M5YWo5omT5byA5pac5LqVIiBCYXNlUGFyYXM9IuaWnOS6lemVv+W6pjtoO0RldiIgVGlwcz0iIiBFeHRJRCA9IldlbDA1MDAxIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcyNCIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5pac5LqVIiBUaXBzPSIiIEV4dElEID0iV2VsMDUwMDIiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQoNCiAgICAgICAgPCEtLeWOi+ijguaWnOS6lS0tPg0KICAgICAgICA8T3B0aW9uIElEPSItMSIgTmFtZT0iIiBBbGlhcz0i5Y6L6KOC5pac5LqVIiBUaXBzPSIiIEljb249IldlbGxHYXMiIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcyNSIgTmFtZT0iIiBBbGlhcz0i5a6M5YWo5omT5byA5Y6L6KOC5pac5LqVKOWdh+WMgOa1gemHjykiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNjAwMSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MjYiIE5hbWU9IiIgQWxpYXM9IuWujOWFqOaJk+W8gOWOi+ijguaWnOS6lSjml6DpmZDlr7zmtYEpIiBUaXBzPSIiIEV4dElEID0iV2VsMDYwMDIiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzI3IiBOYW1lPSIiIEFsaWFzPSLlrozlhajmiZPlvIDljovoo4LmlpzkupUo5pyJ6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA2MDAzIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcyOCIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5Y6L6KOC5pac5LqVKOWdh+WMgOa1gemHjykiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNjAwNCIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzI5IiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDljovoo4LmlpzkupUo5peg6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA2MDA1IiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzAiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOWOi+ijguaWnOS6lSjmnInpmZDlr7zmtYEpIiBUaXBzPSIiIEV4dElEID0iV2VsMDYwMDYiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQoNCiAgICAgICAgPCEtLeWIhuaUr+awtOW5s+S6lS0tPg0KICAgICAgICA8T3B0aW9uIElEPSItMSIgTmFtZT0iIiBBbGlhcz0i5YiG5pSv5rC05bmz5LqVIiBUaXBzPSIiIEljb249IldlbGxPaWwiIC8+DQogICAgICAgIDxPcHRpb24gSUQ9IjczMSIgTmFtZT0iV2VsbFYiIEFsaWFzPSLkuozliIbmlK/msLTlubPkupUiIFRpcHM9IiIgRXh0SUQgPSJXZWwwNzAwMSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzIiIE5hbWU9IldlbGxQIiBBbGlhcz0i5LiJ5YiG5pSv5rC05bmz5LqVIiBUaXBzPSIiIEV4dElEID0iV2VsMDcwMDIiLz4NCgkJDQogICAgICAgIDwhLS3ljovoo4LliIbmlK/msLTlubPkupUtLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9IuWOi+ijguWIhuaUr+awtOW5s+S6lSIgVGlwcz0iIiBJY29uPSJXZWxsR2FzIiAvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzMiIE5hbWU9IiIgQWxpYXM9IuWujOWFqOaJk+W8gOS6jOWIhuaUr+WOi+ijguawtOW5s+WIhuaUr+S6lSjlnYfljIDmtYHph48pIiBUaXBzPSIiIEV4dElEID0iV2VsMDgwMDEiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM0IiBOYW1lPSIiIEFsaWFzPSLlrozlhajmiZPlvIDkuozliIbmlK/ljovoo4LmsLTlubPliIbmlK/kupUo5peg6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA4MDAyIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjczNSIgTmFtZT0iIiBBbGlhcz0i5a6M5YWo5omT5byA5LqM5YiG5pSv5Y6L6KOC5rC05bmz5YiG5pSv5LqVKOaciemZkOWvvOa1gSkiIFRpcHM9IiIgRXh0SUQgPSJXZWwwODAwMyIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzYiIE5hbWU9IiIgQWxpYXM9IuWujOWFqOaJk+W8gOS4ieWIhuaUr+WOi+ijguawtOW5s+WIhuaUr+S6lSjlnYfljIDmtYHph48pIiBUaXBzPSIiIEV4dElEID0iV2VsMDgwMDQiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM3IiBOYW1lPSIiIEFsaWFzPSLlrozlhajmiZPlvIDkuInliIbmlK/ljovoo4LmsLTlubPliIbmlK/kupUo5peg6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA4MDA1Ii8+DQogICAgICAgIDxPcHRpb24gSUQ9IjczOCIgTmFtZT0iIiBBbGlhcz0i5a6M5YWo5omT5byA5LiJ5YiG5pSv5Y6L6KOC5rC05bmz5YiG5pSv5LqVKOaciemZkOWvvOa1gSkiIFRpcHM9IiIgRXh0SUQgPSJXZWwwODAwNiIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzkiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOS6jOWIhuaUr+WOi+ijguawtOW5s+WIhuaUr+S6lSjlnYfljIDmtYHph48pIiBUaXBzPSIiIEV4dElEID0iV2VsMDgwMDciICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQogICAgICAgIDxPcHRpb24gSUQ9Ijc0MCIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5LqM5YiG5pSv5Y6L6KOC5rC05bmz5YiG5pSv5LqVKOaXoOmZkOWvvOa1gSkiIFRpcHM9IiIgRXh0SUQgPSJXZWwwODAwOCIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzQxIiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDkuozliIbmlK/ljovoo4LmsLTlubPliIbmlK/kupUo5pyJ6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA4MDA5IiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3NDIiIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gOS4ieWIhuaUr+WOi+ijguawtOW5s+WIhuaUr+S6lSjlnYfljIDmtYHph48pIiBUaXBzPSIiIEV4dElEID0iV2VsMDgwMTAiICBGbGFncz0iNCIgRmxhZ0Rlc2NzPSI06aG25bqV6L6555WMIi8+DQogICAgICAgIDxPcHRpb24gSUQ9Ijc0MyIgTmFtZT0iIiBBbGlhcz0i6YOo5YiG5omT5byA5LiJ5YiG5pSv5Y6L6KOC5rC05bmz5YiG5pSv5LqVKOaXoOmZkOWvvOa1gSkiIFRpcHM9IiIgRXh0SUQgPSJXZWwwODAxMSIgIEZsYWdzPSI0IiBGbGFnRGVzY3M9IjTpobblupXovrnnlYwiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzQ0IiBOYW1lPSIiIEFsaWFzPSLpg6jliIbmiZPlvIDkuInliIbmlK/ljovoo4LmsLTlubPliIbmlK/kupUo5pyJ6ZmQ5a+85rWBKSIgVGlwcz0iIiBFeHRJRCA9IldlbDA4MDEyIiAgRmxhZ3M9IjQiIEZsYWdEZXNjcz0iNOmhtuW6lei+ueeVjCIvPg0KDQogICAgPC9XRUxNb2RlbD4NCg0KICAgIDwhLS0g5YKo5bGC5qih5Z6L77yI6L+Z5piv5YKo5bGC57G75Z6L55qE5Z+65pys6K6+5a6a77yJLS0+DQogICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IiIgVGlwcz0iIiA+DQoNCiAgICAgICAgPCEtLeadg+WunOS5i+iuoe+8jOS6p+iDveivleS6leS5n+aUvuWcqOatpOWkhC0tPg0KICAgICAgICA8T3B0aW9uIElEPSIxMTAwIiBOYW1lPSJXRFRSZXNPIiBBbGlhcz0i5rK55LqVIiBUaXBzPSIiIEZsYWdzPSIyNTYiIEZsYWdEZXNjcz0iMjU25Lqn6IO9IiAvPg0KICAgICAgICA8T3B0aW9uIElEPSIxMTAxIiBOYW1lPSJXRFRSZXNHIiBBbGlhcz0i5rCU5LqVIiBUaXBzPSIiIEZsYWdzPSIyNTYiIEZsYWdEZXNjcz0iMjU25Lqn6IO9IiAvPg0KDQogICAgICAgIDwhLS3ljZXkuIDku4votKgtLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9IuWNleS4gOS7i+i0qCIgVGlwcz0iVE9ETyIgLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMTAwIiBOYW1lPSIiIEFsaWFzPSJIb21vZ2VuZW91cyIgVGlwcz0iIiBFeHRJRCA9IlJlczAxMDAxIiBGbGFncz0iNDMiIEZsYWdEZXNjcz0iMeWkmuWxgisy5bmy5omwKzjlkK/liqjljovlipvmoq/luqYrMzLlsI/kv6Hlj7ciLz4NCg0KICAgICAgICA8T3B0aW9uIElEPSIxMDIiIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgcGVzdWRvIHN0ZWFkeSIgVGlwcz0iIiBFeHRJRCA9IlJlczAxMDAyIiBGbGFncz0iMTMwIiBGbGFnRGVzY3M9IjLlubLmibArMTI45ZC46ZmEIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjEwMyIgTmFtZT0iUmVzVHdvUG9yX1BMQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNsYWIpIiBUaXBzPSIiICBGbGFncz0iMTMwIiBGbGFnRGVzY3M9IjLlubLmibArMTI45ZC46ZmEIiBFeHRJRCA9IlJlczAxMDA0Ii8+DQogICAgICAgIDxPcHRpb24gSUQ9IjEwNCIgTmFtZT0iUmVzVHdvUG9yX0JBTCIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiBUaXBzPSIiICBGbGFncz0iMTMwIiBGbGFnRGVzY3M9IjLlubLmibArMTI45ZC46ZmEIiBFeHRJRCA9IlJlczAxMDA2Ii8+DQogICAgICAgIDxPcHRpb24gSUQ9IjEwNSIgTmFtZT0iUmVzVHdvUG9yX0NZTCIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNwaGVyZSkiIFRpcHM9IiIgIEZsYWdzPSIxMzAiIEZsYWdEZXNjcz0iMuW5suaJsCsxMjjlkLjpmYQiIEV4dElEID0iUmVzMDEwMDUiLz4NCg0KICAgICAgICA8T3B0aW9uIElEPSI3MjkiIE5hbWU9IiIgQWxpYXM9IkR1YWwgcGVybWVhYmlsaXR5IiBUaXBzPSIiIEV4dElEID0iUmVzMDEwMDMiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iMTE2IiBOYW1lPSIiIEFsaWFzPSLkuInlrZTmi5/nqLPmgIEiIFRpcHM9IiIgIEZsYWdzPSIyIiBGbGFnRGVzY3M9IjLlubLmibAiIEV4dElEID0iUmVzMDEwMDciLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM0IiBOYW1lPSIiIEFsaWFzPSLkuInlrZTmi5/nqLPmgIHlj4zmuJciIFRpcHM9IiIgRXh0SUQgPSJSZXMwMTAwOCIvPg0KDQogICAgICAgIDwhLS08T3B0aW9uIElEPSIxMTciIE5hbWU9IlJlc1RyaUtFeCIgQWxpYXM9IuS4ieWtlOWNlea4l+W1jOWll+aLn+eos+aAgSIgVGlwcz0iIiBFeHRJRCA9IiIvPi0tPg0KDQogICAgICAgIDwhLS3pkojlr7nmsLTlubPkupXvvIwxMDLnmoTmqKHlnovvvIzotbAzMDDnmoTnrpfms5UtLT4NCg0KICAgICAgICA8IS0tICBPcHRpb24gSUQ9IjMwMCIgTmFtZT0iUmVzVHdvUG9yUG9zU3JjIiBBbGlhcz0i5Y+M6YeN5a2U6ZqZKOeCuea6kCkiIFRpcHM9IiIvLS0+DQoNCg0KICAgICAgICA8IS0t57q/5oCn5aSN5ZCILS0+DQogICAgICAgIDxPcHRpb24gSUQ9Ii0xIiBOYW1lPSIiIEFsaWFzPSLnur/mgKflpI3lkIgiIFRpcHM9IlRPRE8iIC8+DQoNCiAgICAgICAgPE9wdGlvbiBJRD0iOTAxIiBOYW1lPSIiIEFsaWFzPSLnur/mgKflpI3lkIgiIFRpcHM9IiIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MDgiIE5hbWU9IiIgQWxpYXM9IuWdh+i0qOS6jOWMuue6v+aAp+WkjeWQiCIgVGlwcz0iIiBFeHRJRCA9IlJlczAyMDAxIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcxMiIgTmFtZT0iIiBBbGlhcz0i5Z2H6LSo5LiJ5Yy657q/5oCn5aSN5ZCIIiBUaXBzPSIiIEV4dElEID0iUmVzMDIwMDUiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzE2IiBOYW1lPSIiIEFsaWFzPSLlnYfotKjlm5vljLrnur/mgKflpI3lkIgiIFRpcHM9IiIgRXh0SUQgPSJSZXMwMjAwOSIvPg0KDQogICAgICAgIDwhLS3lvoTlkJHlpI3lkIgtLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9IuW+hOWQkeWkjeWQiCIgVGlwcz0iVE9ETyIgLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzIwIiBOYW1lPSIiIEFsaWFzPSLkuozljLrlvoTlkJHlpI3lkIgiIFRpcHM9IiIgRXh0SUQgPSJSZXMwMzAwMSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MjIiIE5hbWU9IiIgQWxpYXM9IuS4ieWMuuW+hOWQkeWkjeWQiCIgVGlwcz0iIiBFeHRJRCA9IlJlczAzMDAzIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjcyNCIgTmFtZT0iIiBBbGlhcz0i5Zub5Yy65b6E5ZCR5aSN5ZCIIiBUaXBzPSIiIEV4dElEID0iUmVzMDMwMDUiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzI2IiBOYW1lPSIiIEFsaWFzPSLkupTljLrlvoTlkJHlpI3lkIgiIFRpcHM9IiIgRXh0SUQgPSJSZXMwMzAwNyIvPg0KDQogICAgICAgIDwhLS3nvJ3mtJ4tLT4NCiAgICAgICAgPE9wdGlvbiBJRD0iLTEiIE5hbWU9IiIgQWxpYXM9Iue8nea0niIgVGlwcz0iVE9ETyIgLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM1IiBOYW1lPSIiIEFsaWFzPSLnvJ3mtJ4xIiBGaWc9IlJlc183MzUiICBUaXBzPSLnvJ3mtJ4x5qih5Z6LLeS6le+Clee8nS7mtJ4iIEV4dElEID0iUmVzMDQwMDgiLz4NCiAgICAgICAgPE9wdGlvbiBJRD0iNzM2IiBOYW1lPSIiIEFsaWFzPSLnvJ3mtJ4yIiBGaWc9IlJlc183MzYiICAgVGlwcz0i57yd5rSeMuaooeWeiy3mtJ4xLue8nTEu5LqVLue8nTIu5rSeMu+8iSIgRXh0SUQgPSJSZXMwNDAwOSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzciIE5hbWU9IiIgQWxpYXM9Iue8nea0njMiIEZpZz0iUmVzXzczNyIgICBUaXBzPSLnvJ3mtJ4z5qih5Z6LLea0njEu57ydLua0njIgKOS6leWcqOa0njIpIiBFeHRJRCA9IlJlczA0MDEwIi8+DQogICAgICAgIDxPcHRpb24gSUQ9IjczOCIgTmFtZT0iIiBBbGlhcz0i57yd5rSeNCIgRmlnPSJSZXNfNzM4IiAgIFRpcHM9Iue8nea0njTmqKHlnost5rSeMS7nvJ0xLua0njIu57ydMi7kupUu57ydMyIgRXh0SUQgPSJSZXMwNDAxMSIvPg0KICAgICAgICA8T3B0aW9uIElEPSI3MzkiIE5hbWU9IiIgQWxpYXM9Iue8nea0njUiIEZpZz0iUmVzXzczOSIgICBUaXBzPSLnvJ3mtJ415qih5Z6LLeWtlC7nvJ0u5rq25rSe77yI5LqV5Zyo5rq25rSe5YaF77yJIiBFeHRJRCA9IlJlczA0MDEyIi8+DQoNCiAgICA8L1JFU01vZGVsPg0KDQogICAgPCEtLSDku47mnKzooYzlvoDkuIvvvIzmmK/lrp7pmYXphY3nva7nmoTor5XkupXmqKHlnovvvIzkuZ/lsLHmmK/nrpfms5XmlK/mjIHnmoTmqKHlnovpgInpobktLT4NCg0KICAgIDwhLS0g5YWx5oCn5Y+C5pWw77yM5p2l5rqQ5LqOIFNoZWV077ya5YWx5oCn5Y+C5pWwIC0tPg0KICAgIDwhLS0g5YW25Lit77yMT3V0cHV0c+WFseaAp+WPguaVsOi/mOimgeiAg+iZkSDovrnnlYzmqKHlnosg5LitIFBhcmFzIOaVsOaNrumhuSAtLT4NCiAgICA8Q29tbW9uUGFyYXM+DQoNCiAgICAgICAgPExQIElucHV0cz0i5LqV5b6EO2g75a2U6ZqZ5bqmO+S9k+enr+ezu+aVsDvmsrnnm7jpu4/luqY75rC055u46buP5bqmO+e7vOWQiOWOi+e8qeezu+aVsDvliJ3lp4vljovlipsiIC8+DQogICAgICAgIDxMUCBPdXRwdXRzPSLlnLDlsYLljovlips75rWL6K+V5pe26Ze0O+aOoua1i+WNiuW+hDvlnLDlsYLns7vmlbA75rWB5bqmO+a3t+WQiOm7j+W6piIgLz4NCg0KICAgICAgICA8SFcgSW5wdXRzPSLkupXlvoQ7aDvlrZTpmpnluqY75L2T56ev57O75pWwO+ayueS9k+enr+ezu+aVsDvmsJTkvZPnp6/ns7vmlbA75rC05L2T56ev57O75pWwO+ayueebuOm7j+W6pjvmsLTnm7jpu4/luqY757u85ZCI5Y6L57yp57O75pWwO+WIneWni+WOi+WKmyIgLz4NCiAgICAgICAgPEhXIE91dHB1dHM9IuWcsOWxguWOi+WKmztLaDtLdjvlnLDlsYLns7vmlbA7TDvmtYHluqY75re35ZCI6buP5bqmIiAvPg0KDQogICAgICAgIDxTUiBJbnB1dHM9IuS6leW+hDtoO+WtlOmameW6pjvkvZPnp6/ns7vmlbA75rK555u46buP5bqmO+awtOebuOm7j+W6pjvnu7zlkIjljovnvKnns7vmlbA75Yid5aeL5Y6L5YqbIiAvPg0KICAgICAgICA8U1IgT3V0cHV0cz0i5Zyw5bGC5Y6L5YqbO+a1i+ivleaXtumXtDvmjqLmtYvljYrlvoQ75Zyw5bGC57O75pWwO+a1geW6pjvmt7flkIjpu4/luqYiIC8+DQoNCiAgICAgICAgPFBGIElucHV0cz0i5LqV5b6EO2g75a2U6ZqZ5bqmO+S9k+enr+ezu+aVsDvmsrnnm7jpu4/luqY75rC055u46buP5bqmO+e7vOWQiOWOi+e8qeezu+aVsDvms6jlhaXph4876IGa5ZCI54mp5Yid5aeL5rWT5bqmO+aJqeaVo+ezu+aVsDvliJ3lp4vljovlipsiIC8+DQogICAgICAgIDxQRiBPdXRwdXRzPSLlnLDlsYLljovlips75re35ZCI6buP5bqmIiAvPg0KDQogICAgICAgIDxYRCBJbnB1dHM9IuS6leW+hDtoO+WtlOmameW6pjvkvZPnp6/ns7vmlbA75rK555u46buP5bqmO+awtOebuOm7j+W6pjvnu7zlkIjljovnvKnns7vmlbA75Yid5aeL5Y6L5YqbIiAvPg0KICAgICAgICA8WEQgT3V0cHV0cz0i5Zyw5bGC5Y6L5YqbO+a1i+ivleaXtumXtDvmjqLmtYvljYrlvoQ75Zyw5bGC57O75pWwO+a1geW6pjvmt7flkIjpu4/luqYiIC8+DQoNCiAgICAgICAgPFhBIElucHV0cz0i5LqV5b6EO2g75a2U6ZqZ5bqmO+S9k+enr+ezu+aVsDvmsrnnm7jpu4/luqY75rC055u46buP5bqmO+e7vOWQiOWOi+e8qeezu+aVsDvliJ3lp4vljovlipsiIC8+DQogICAgICAgIDxYQSBPdXRwdXRzPSLlnLDlsYLljovlips75rWL6K+V5pe26Ze0O+aOoua1i+WNiuW+hDvlnLDlsYLns7vmlbA75rWB5bqmO+a3t+WQiOm7j+W6piIgLz4NCg0KICAgIDwvQ29tbW9uUGFyYXM+DQoNCiAgICA8IS0tIOWunumZhemFjee9rueahOivleS6leaooeWei++8jOS5n+WwseaYr+eul+azleaUr+aMgeeahOaooeWei+mAiemhuSAtLT4NCiAgICA8IS0tIOWmguaenOWQjOS4gOS4quaooeWei+mFjee9ruS4pOmBje+8jOWImemAmuW4uOaYr++8jOWQuOmZhOS4uuilv+WuieaooeWeiy/pnZ7lkLjpmYTkuLrljJfkuqzmqKHlnosgLS0+DQogICAgPE1vZGVsSW9EZXNjcyBOYW1lPSIiIEFsaWFzPSLlpITnkIbop6Pph4rmqKHlnosiIFRpcHM9IiIgPg0KDQoNCiAgICAgICAgPCEtLeadg+WunOS5i+iuoe+8jOS6p+iDveivleS6leS5n+aUvuWcqOatpOWkhC0tPg0KICAgICAgICA8IS0tVmVydGljYWwtLT4NCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IlZlcnRpY2FsIiBJRD0iMTEwMCIgU2VyaWVzPSJXRFQiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iV0RUUmVzTyIgQWxpYXM9IuayueS6lSIgT3V0cHV0cz0iSztTIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iV0RUUmVzRyIgQWxpYXM9IuawlOS6lSIgT3V0cHV0cz0iSztTO+awlOS9k+enr+ezu+aVsDtsYW1iZGE7b21lZ2FmO3BoaTFEO0N0bSIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLeawtOW5s+S6lS0tPg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0iSG9yaXpvbnRhbCIgSUQ9IjExMDEiIFNlcmllcz0iV0RUIj4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IldEVFJlc08iIEFsaWFzPSLmsrnkupUiIE91dHB1dHM9Iks7UztMO0toO0t2O+a1geW6pjvmt7flkIjpu4/luqYiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSJXRFRSZXNHIiBBbGlhcz0i5rCU5LqVIiBPdXRwdXRzPSJLO1M75rCU5L2T56ev57O75pWwO0N0bTtMO0toO0t2O+a1geW6pjvmt7flkIjpu4/luqYiLz4NCg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQoNCiAgICAgICAgPCEtLVZlcnRpY2FsLS0+DQoNCiAgICAgICAgPCEtLVZlcnRpY2FsLVZlcnRpY2FsLS0+DQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSJWZXJ0aWNhbCIgSUQ9IjEwMCIgU2VyaWVzPSJMUCI+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSJIb21vZ2VuZW91cyIgT3V0cHV0cz0iSztTIi8+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBJRD0iLTk5IiBOYW1lPSIiIEFsaWFzPSItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iLz4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgcGVzdWRvIHN0ZWFkeSIgICAgT3V0cHV0cz0iSztTO2xhbWJkYTtvbWVnYWY7cGhpMUQ7Q3RtIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoc2xhYikiIE91dHB1dHM9Iks7UztsYW1iZGE7b21lZ2FmO3BoaTFEO0N0bSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNwaGVyZSkiIE91dHB1dHM9Iks7UztsYW1iZGE7b21lZ2FmO3BoaTFEO0N0bSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiBPdXRwdXRzPSJLO1M7bGFtYmRhO29tZWdhZjtwaGkxRDtDdG0iLz4NCg0KICAgICAgICAgICAgPCEtLeWMl+S6rOS4juilv+WuieaooeWei+S4gOagt++8jOaUr+aMgeeahOi+ueeVjOexu+Wei+S4jeWQjO+8jOWPpuWkluWwseaYr++8jOWQuOmZhO+8jOmAieilv+Wuie+8jOmdnuWQuOmZhOmAieWMl+S6rC0tPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgcGVzdWRvIHN0ZWFkeSIgT3V0cHV0cz0iSztTO29tZWdhZjtsYW1iZGF2ZiIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNsYWIpIiBPdXRwdXRzPSJLO1M7b21lZ2FmO2xhbWJkYW1mIiBTZWxCZHkgPSAiQ2lyY2xlO0luZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoc3BoZXJlKSIgT3V0cHV0cz0iSztTO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiBPdXRwdXRzPSJLO1M7b21lZ2FmO2xhbWJkYW1mIiBTZWxCZHkgPSAiQ2lyY2xlO0luZmluaXRlIi8+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBJRD0iLTk5IiBOYW1lPSIiIEFsaWFzPSItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBlcm1lYWJpbGl0eSIgT3V0cHV0cz0iSztTO29tZWdhZjtsYW1iZGF2ZjtLUmZ2IiBTZWxCZHkgPSAiQ2lyY2xlO0luZmluaXRlIi8+DQoNCiAgICAgICAgICAgIDwhLS3ljJfkuqzkuI7opb/lronmqKHlnovkuIDmoLfvvIzmlK/mjIHnmoTovrnnlYznsbvlnovkuI3lkIzvvIzlj6blpJblsLHmmK/vvIzlkLjpmYTvvIzpgInopb/lronvvIzpnZ7lkLjpmYTpgInljJfkuqwtLT4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLkuInlrZTmi5/nqLPmgIEiIE91dHB1dHM9Iks7UztvbWVnYWY7RDE7bGFtYmRhMTtsYW1iZGEyIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5LiJ5a2U5ouf56iz5oCBIiBPdXRwdXRzPSJLO1M7b21lZ2FmO29tZWdhdjtsYW1iZGF2ZjtsYW1iZGFwZiIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5LiJ5a2U5ouf56iz5oCB5Y+M5riXIiBPdXRwdXRzPSJLO1M7b21lZ2FmO29tZWdhdjtsYW1iZGF2ZjtsYW1iZGFwZjtLUmZ2IiBTZWxCZHkgPSAiQ2lyY2xlO0luZmluaXRlIi8+DQoNCiAgICAgICAgICAgIDwhLS08UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5LiJ5a2U5Y2V5riX5bWM5aWX5ouf56iz5oCBIiBPdXRwdXRzPSJLO1M7b21lZ2FmO0QxO2xhbWJkYTE7bGFtYmRhMiIvPg0KICAgICAgICAgICAgICAgIC0tPg0KICAgICAgICAgICAgPFJFU01vZGVsIElEPSItOTkiIE5hbWU9IiIgQWxpYXM9Ii0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IuS6jOWMuuW+hOWQkeWkjeWQiCIgT3V0cHV0cz0iSztTO00yMTtzaWdtYTIxO3IyMSIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIgLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLkuInljLrlvoTlkJHlpI3lkIgiIE91dHB1dHM9Iks7UztNMjE7c2lnbWEyMTtyMjE7TTMxO3NpZ21hMzE75aSN5ZCI5Y2K5b6EMzIiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLlm5vljLrlvoTlkJHlpI3lkIgiIE91dHB1dHM9Iks7UztNMjE7c2lnbWEyMTtyMjE7TTMxO3NpZ21hMzE75aSN5ZCI5Y2K5b6EMzI7TTQxO3NpZ21hNDE75aSN5ZCI5Y2K5b6ENDMiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIElEPSItOTkiIE5hbWU9IiIgQWxpYXM9Ii0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9Iue8nea0njEiIE91dHB1dHM9Iuijgue8nUs76KOC57yd6L+H5rWB6Z2i56evO+a6tua0nuS9k+enrzvoo4LnvJ3plb/luqY7b21lZ2FmIiBTZWxCZHkgPSAiSW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLnvJ3mtJ4yIiBPdXRwdXRzPSLoo4LnvJ0xSzvoo4LnvJ0x6L+H5rWB6Z2i56evO+a6tua0njHkvZPnp6876KOC57ydMemVv+W6pjvoo4LnvJ0ySzvoo4LnvJ0y6L+H5rWB6Z2i56evO+a6tua0njLkvZPnp6876KOC57ydMumVv+W6pjvoo4LnvJ0x5by55oCn5YKo5a655q+UO+ijgue8nTLlvLnmgKflgqjlrrnmr5Q75rq25rSeMeW8ueaAp+WCqOWuueavlCIgU2VsQmR5ID0gIkluZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i57yd5rSeMyIgT3V0cHV0cz0i5rq25rSeMeWQkea6tua0njLnqpzmtYHns7vmlbA75rq25rSeMeS9k+enrzvmurbmtJ4y5L2T56evIiBTZWxCZHkgPSAiSW5maW5pdGUiIFNlbFdicyA9ICJOb25lIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i57yd5rSeNCIgT3V0cHV0cz0i5rq25rSeMeWQkea6tua0njLnqpzmtYHns7vmlbA75rq25rSeMeWQkeS6leetkueqnOa1geezu+aVsDvmurbmtJ4y5ZCR5LqV562S56qc5rWB57O75pWwO+a6tua0njHkvZPnp6875rq25rSeMuS9k+enryIgU2VsQmR5ID0gIkluZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i57yd5rSeNSIgT3V0cHV0cz0iSzvmurbmtJ7ljYrlvoQ75rq25rSe5by55oCn5YKo5a655q+UO29tZWdhZjtsYW1iZGF2ZiIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIgU2VsV2JzID0gIk5vbmUiLz4NCiAgICAgICAgICAgIDwhLS0NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWE4iIEFsaWFzPSLnur/mgKflpI3lkIgiICAgICBPdXRwdXRzPSJLO1M7eGY7RmM7d2Y75a+85Y6L57O75pWw5q+URjEiIFNlbEJkeSA9ICJJbmZpbml0ZSIvPi0tPg0KDQoNCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8IS0tVmVydGljYWwt6YOo5YiG5omT5byALS0+DQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSJWZXJ0aWNhbCBsaW1pdGVkIiBJRD0iMTAxIiBTZXJpZXM9IlhBIj4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkhvbW9nZW5lb3VzIiAgICAgICAgIE91dHB1dHM9IktoO0t2O3p3O2h3O1MiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLkuozljLrlvoTlkJHlpI3lkIgiICBPdXRwdXRzPSJLaDtLdjt6dztodztTO00yMTtzaWdtYTIxO3IyMSIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgcGVzdWRvIHN0ZWFkeSIgICAgT3V0cHV0cz0iS2g7S3Y7enc7aHc7UztvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChzbGFiKSIgICAgT3V0cHV0cz0iS2g7S3Y7enc7aHc7UztvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChzcGhlcmUpIiAgICBPdXRwdXRzPSJLaDtLdjt6dztodztTO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiAgICBPdXRwdXRzPSJLaDtLdjt6dztodztTO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLeWOi+ijglZlcnRpY2FsLS0+DQoNCiAgICAgICAgPCEtLeWOi+ijglZlcnRpY2FsLeWdh+WMgOa1gemHjy0tPg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0iVW5pZm9ybSBmbHV4IiBJRD0iMTAyIiBTZXJpZXM9IkxQIj4NCiAgICAgICAgDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0iSG9tb2dlbmVvdXMiIE91dHB1dHM9Iks7UztTdDt4ZiIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgcGVzdWRvIHN0ZWFkeSIgT3V0cHV0cz0iSztTO1N0O3hmO0Q7bGFtYmRhIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoc2xhYikiIE91dHB1dHM9Iks7UztTdDt4ZjtEO2xhbWJkYSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNwaGVyZSkiIE91dHB1dHM9Iks7UztTdDt4ZjtEO2xhbWJkYSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiBPdXRwdXRzPSJLO1M7U3Q7eGY7RDtsYW1iZGEiLz4NCiAgICAgICAgICAgIDwhLS08UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5LiJ5a2U5Y2V5riX5bWM5aWX5ouf56iz5oCBIiBPdXRwdXRzPSJLO1M7U3Q7eGY7RDE7bGFtYmRhMTtsYW1iZGEyO0Q75bGC5LiA5YKo5bGC5Y6a5bqmO+WxguS4gEs7b21lZ2FmIi8+LS0+DQoNCiAgICAgICAgICAgIDwhLS3ljJfkuqzkuI7opb/lronmqKHlnovkuIDmoLfvvIzmlK/mjIHnmoTovrnnlYznsbvlnovkuI3lkIzvvIzlj6blpJblsLHmmK/vvIzlkLjpmYTvvIzpgInopb/lronvvIzpnZ7lkLjpmYTpgInljJfkuqwtLT4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSLkuozljLrlvoTlkJHlpI3lkIgiICAgICBPdXRwdXRzPSJLO1M7eGY7TTIxO3NpZ21hMjE7cjIxIiBTZWxCZHkgPSAiQ2lyY2xlO0luZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSBwZXN1ZG8gc3RlYWR5IiAgICAgICAgT3V0cHV0cz0iSztTO3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNsYWIpIiAgICBPdXRwdXRzPSJLO1M7eGY7b21lZ2FmO2xhbWJkYW1mIiBTZWxCZHkgPSAiQ2lyY2xlO0luZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoc3BoZXJlKSIgICAgT3V0cHV0cz0iSztTO3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiAgICBPdXRwdXRzPSJLO1M7eGY7b21lZ2FmO2xhbWJkYW1mIiBTZWxCZHkgPSAiQ2lyY2xlO0luZmluaXRlIi8+DQoNCiAgICAgICAgPC9XRUxNb2RlbD4JDQoJDQogICAgICAgIDwhLS3ljovoo4JWZXJ0aWNhbC3ml6DpmZDlr7zmtYEtLT4NCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IkluZmluaXRlIGNvbmQiIElEPSIxMDMiIFNlcmllcz0iTFAiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0iSG9tb2dlbmVvdXMiIE91dHB1dHM9Iks7UztTdDt4ZiIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgcGVzdWRvIHN0ZWFkeSIgT3V0cHV0cz0iSztTO1N0O3hmO0Q7bGFtYmRhIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoc2xhYikiIE91dHB1dHM9Iks7UztTdDt4ZjtEO2xhbWJkYSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNwaGVyZSkiIE91dHB1dHM9Iks7UztTdDt4ZjtEO2xhbWJkYSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiBPdXRwdXRzPSJLO1M7U3Q7eGY7RDtsYW1iZGEiLz4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuS4ieWtlOaLn+eos+aAgSIgT3V0cHV0cz0iSztTO1N0O3hmO29tZWdhZjtEMTtsYW1iZGExO2xhbWJkYTIiLz4NCiAgICAgICAgICAgIDwhLS08UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5LiJ5a2U5Y2V5riX5bWM5aWX5ouf56iz5oCBIiBPdXRwdXRzPSJLO1M7U3Q7eGY7b21lZ2FmO0QxO2xhbWJkYTE7bGFtYmRhMiIvPi0tPg0KDQogICAgICAgICAgICA8IS0t5YyX5Lqs5LiO6KW/5a6J5qih5Z6L5LiA5qC377yM5pSv5oyB55qE6L6555WM57G75Z6L5LiN5ZCM77yM5Y+m5aSW5bCx5piv77yM5ZC46ZmE77yM6YCJ6KW/5a6J77yM6Z2e5ZC46ZmE6YCJ5YyX5LqsLS0+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5LqM5Yy65b6E5ZCR5aSN5ZCIIiAgICAgT3V0cHV0cz0iSztTO3hmO00yMTtzaWdtYTIxO3IyMSIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgcGVzdWRvIHN0ZWFkeSIgICAgICAgIE91dHB1dHM9Iks7Uzt4ZjtvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChzbGFiKSIgICAgT3V0cHV0cz0iSztTO3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNwaGVyZSkiICAgIE91dHB1dHM9Iks7Uzt4ZjtvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChiYWxsKSIgICAgT3V0cHV0cz0iSztTO3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+CQ0KCQ0KICAgICAgICA8IS0t5Y6L6KOCVmVydGljYWwt5pyJ6ZmQ5a+85rWBLS0+DQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSJGaW5pdGUgY29uZCIgSUQ9IjExMCIgU2VyaWVzPSJMUCI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0iSG9tb2dlbmVvdXMiIE91dHB1dHM9Iks7UztTdDt4Zjvoo4LnvJ3lr7zmtYHog73lipsiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHBlc3VkbyBzdGVhZHkiIE91dHB1dHM9Iks7UztTdDt4ZjtGYzvml6Dph4/nurLoo4LnvJ3lr7zmtYHog73lips7RDtsYW1iZGEiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChzbGFiKSIgT3V0cHV0cz0iSztTO1N0O3hmO0ZjO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmztEO2xhbWJkYSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNwaGVyZSkiIE91dHB1dHM9Iks7UztTdDt4ZjtGYzvml6Dph4/nurLoo4LnvJ3lr7zmtYHog73lips7RDtsYW1iZGEiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChiYWxsKSIgT3V0cHV0cz0iSztTO1N0O3hmO0ZjO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmztEO2xhbWJkYSIvPg0KDQogICAgICAgICAgICA8IS0t5YyX5Lqs5LiO6KW/5a6J5qih5Z6L5LiA5qC377yM5pSv5oyB55qE6L6555WM57G75Z6L5LiN5ZCM77yM5Y+m5aSW5bCx5piv77yM5ZC46ZmE77yM6YCJ6KW/5a6J77yM6Z2e5ZC46ZmE6YCJ5YyX5LqsLS0+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5LqM5Yy65b6E5ZCR5aSN5ZCIIiAgICAgICAgIE91dHB1dHM9Iks7Uzt4ZjtGYztNMjE7c2lnbWEyMTtyMjEiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHBlc3VkbyBzdGVhZHkiIEFkc29ycHRpb25Pbmx5PSIxIiBPdXRwdXRzPSJLO1M7eGY7RmM7b21lZ2FmO2xhbWJkYW1mIiBTZWxCZHkgPSAiQ2lyY2xlO0luZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoc2xhYikiIEFkc29ycHRpb25Pbmx5PSIxIiBPdXRwdXRzPSJLO1M7eGY7RmM7b21lZ2FmO2xhbWJkYW1mIiBTZWxCZHkgPSAiQ2lyY2xlO0luZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoc3BoZXJlKSIgQWRzb3JwdGlvbk9ubHk9IjEiICAgIE91dHB1dHM9Iks7Uzt4ZjtGYztvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChiYWxsKSIgQWRzb3JwdGlvbk9ubHk9IjEiICAgIE91dHB1dHM9Iks7Uzt4ZjtGYztvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrflj4znur/mgKfmtYEiIElEPSI3NDgiPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkhvbW9nZW5lb3VzIiBPdXRwdXRzPSJLO1M7eGY7RmM7d2Y75a+85Y6L57O75pWw5q+URjEiIFNlbEJkeSA9ICJJbmZpbml0ZTtSZWN0YW5nbGUiLz4NCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8V0VMTW9kZWwgTmFtZT0iIiBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfkuInnur/mgKfmtYEiIElEPSI3NTAiPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkhvbW9nZW5lb3VzIiBPdXRwdXRzPSJLO1M7eGY7RmM7d2Y7c2lnbWFGMTtzaWdtYTMxO00zMSIgU2VsQmR5ID0gIkluZmluaXRlO1JlY3RhbmdsZSIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S6lOe6v+aAp+a1gSIgSUQ9Ijc0OSI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iSG9tb2dlbmVvdXMiIE91dHB1dHM9Iks7Uzt4ZjtGYzt3ZjtzaWdtYUYxO3NpZ21hMjE7TTIxO3NpZ21hMzE7TTMxO3NpZ21hNDE7TTQxO3IyMSIgU2VsQmR5ID0gIkluZmluaXRlO1JlY3RhbmdsZSIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgICAgIDwhLS1YSDExLjI25re75YqgIOWOi+ijguS6leKAlOKAlOaciemZkOWvvOa1ge+8iOW/q++8ieaUueS4uiDljovoo4LkupXigJTigJTmnInpmZDlr7zmtYHvvIjlhajop6PmnpDvvIktLT4NCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gcK35YWo6Kej5p6QIiBJRD0iMTA2IiBTZXJpZXM9IkxQIj4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSJIb21vZ2VuZW91cyIgT3V0cHV0cz0iSztTO1N0O3hmO0ZjO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmyIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgcGVzdWRvIHN0ZWFkeSIgT3V0cHV0cz0iSztTO1N0O3hmO0ZjO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmztEO2xhbWJkYSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNsYWIpIiBPdXRwdXRzPSJLO1M7U3Q7eGY7RmM75peg6YeP57qy6KOC57yd5a+85rWB6IO95YqbO0Q7bGFtYmRhIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoc3BoZXJlKSIgT3V0cHV0cz0iSztTO1N0O3hmO0ZjO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmztEO2xhbWJkYSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiBPdXRwdXRzPSJLO1M7U3Q7eGY7RmM75peg6YeP57qy6KOC57yd5a+85rWB6IO95YqbO0Q7bGFtYmRhIi8+DQoNCiAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuS4ieWtlOaLn+eos+aAgSIgT3V0cHV0cz0iSztTO1N0O3hmO0ZjO+aXoOmHj+e6suijgue8neWvvOa1geiDveWKmztvbWVnYWY7RDE7bGFtYmRhMTtsYW1iZGEyIi8+DQogICAgICAgICAgIDwhLS08UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5LiJ5a2U5Y2V5riX5bWM5aWX5ouf56iz5oCBIiBPdXRwdXRzPSJLO1M7U3Q7eGY7RmM75peg6YeP57qy6KOC57yd5a+85rWB6IO95YqbO29tZWdhZjtEMTtsYW1iZGExO2xhbWJkYTIiLz4tLT4NCg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiICBBbGlhcz0i5pyJ6ZmQ5a+85rWBwrfkuKTmrrXoo4LnvJ0iIElEPSIxMDciIFNlcmllcz0iTFAiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0iSG9tb2dlbmVvdXMiIE91dHB1dHM9Iks7Uzvoo4LnvJ3plb/luqYxO+ijgue8nemVv+W6pjI75oC76KOC57yd6ZW/5bqmO+i/keS6leautea1gemHj+avlCIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gcK35LiJ5q616KOC57ydIiBJRD0iMTA4IiBTZXJpZXM9IkxQIj4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkhvbW9nZW5lb3VzIiBPdXRwdXRzPSJLO1M76KOC57yd6ZW/5bqmMTvoo4LnvJ3plb/luqYyO+ijgue8nemVv+W6pjM75oC76KOC57yd6ZW/5bqmO+i/keS6leautea1gemHj+avlDE76L+R5LqV5q615rWB6YeP5q+UMiIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLTxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLljovoo4Lnm7TkupUo5pyJ6ZmQ5a+85rWBKS3kuKTmrrUiIElEPSIxMDkiIFNlcmllcz0iTFAiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0iSG9tb2dlbmVvdXMiIE91dHB1dHM9Iks7Uzvoo4LnvJ3plb/luqYxO+ijgue8nemVv+W6pjI75oC76KOC57yd6ZW/5bqmO+ijgue8neWvvOa1geiDveWKmzE76KOC57yd5a+85rWB6IO95YqbMiIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+LS0+DQogICAgICAgIDwhLS3ljovoo4Lnm7TkupUt6YOo5YiG5omT5byAwrflnYfljIDmtYHph48tLT4NCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gMK35Z2H5YyA5rWB6YePIiBJRD0iNzA1IiA+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iSG9tb2dlbmVvdXMiICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXRzPSJLaDtLdjt6dztodztTO3hmIiBTZWxCZHkgPSAiQ2lyY2xlO0luZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSBwZXN1ZG8gc3RlYWR5IiAgICAgICAgT3V0cHV0cz0iS2g7S3Y7enc7aHc7Uzt4ZjtvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChzbGFiKSIgICAgT3V0cHV0cz0iS2g7S3Y7enc7aHc7Uzt4ZjtvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChzcGhlcmUpIiAgICBPdXRwdXRzPSJLaDtLdjt6dztodztTO3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiAgICBPdXRwdXRzPSJLaDtLdjt6dztodztTO3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDwhLS3ljovoo4Lnm7TkupUt6YOo5YiG5omT5byAwrfml6DpmZDlr7zmtYEtLT4NCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gMK35peg6ZmQ5a+85rWBIiBJRD0iNzA2IiA+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iSG9tb2dlbmVvdXMiICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXRzPSJLaDtLdjt6dztodztTO3hmIiBTZWxCZHkgPSAiQ2lyY2xlO0luZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSBwZXN1ZG8gc3RlYWR5IiAgICAgICAgT3V0cHV0cz0iS2g7S3Y7enc7aHc7Uzt4ZjtvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChzbGFiKSIgICAgT3V0cHV0cz0iS2g7S3Y7enc7aHc7Uzt4ZjtvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChzcGhlcmUpIiAgICBPdXRwdXRzPSJLaDtLdjt6dztodztTO3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiAgICBPdXRwdXRzPSJLaDtLdjt6dztodztTO3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDwhLS3ljovoo4Lnm7TkupUt6YOo5YiG5omT5byAwrfmnInpmZDlr7zmtYEtLT4NCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IumDqOWIhuaJk+W8gMK35pyJ6ZmQ5a+85rWBIiBJRD0iNzA3IiA+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iSG9tb2dlbmVvdXMiICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXRzPSJLaDtLdjt6dztodztTO3hmO+ijgue8neWvvOa1geiDveWKmyIgU2VsQmR5ID0gIkNpcmNsZTtJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgcGVzdWRvIHN0ZWFkeSIgICAgICAgIE91dHB1dHM9IktoO0t2O3p3O2h3O1M7eGY7RmM7b21lZ2FmO2xhbWJkYW1mIiBTZWxCZHkgPSAiQ2lyY2xlO0luZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoc2xhYikiICAgIE91dHB1dHM9IktoO0t2O3p3O2h3O1M7eGY7RmM7b21lZ2FmO2xhbWJkYW1mIiBTZWxCZHkgPSAiQ2lyY2xlO0luZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoc3BoZXJlKSIgICAgT3V0cHV0cz0iS2g7S3Y7enc7aHc7Uzt4ZjtGYztvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChiYWxsKSIgICAgT3V0cHV0cz0iS2g7S3Y7enc7aHc7Uzt4ZjtGYztvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCiAgICAgICAgPC9XRUxNb2RlbD4NCg0KICAgICAgICA8IS0t5rC05bmz5LqVLS0+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuW4uOinhCIgSUQ9IjIwMSIgU2VyaWVzPSJIVyI+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSJIb21vZ2VuZW91cyIgT3V0cHV0cz0iUzt6dzvpobbovrnnlYw75bqV6L6555WMIi8+DQogICAgICAgICAgICA8IS0tWEgxMS4yNua3u+WKoC0tPiAgDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSBwZXN1ZG8gc3RlYWR5IiBPdXRwdXRzPSJTO0w7enc7RDtsYW1iZGE76aG26L6555WMO+W6lei+ueeVjCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNsYWIpIiBPdXRwdXRzPSJTO0w7enc7RDtsYW1iZGE76aG26L6555WMO+W6lei+ueeVjCIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNwaGVyZSkiIE91dHB1dHM9IlM7TDt6dztEO2xhbWJkYTvpobbovrnnlYw75bqV6L6555WMIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoYmFsbCkiIE91dHB1dHM9IlM7TDt6dztEO2xhbWJkYTvpobbovrnnlYw75bqV6L6555WMIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0i5LqM5Yy65b6E5ZCR5aSN5ZCIIiBPdXRwdXRzPSJLaDtLdjt6dztTO0w7TTIxO3NpZ21hMjE7cjIxO+mhtui+ueeVjDvlupXovrnnlYwiIFNlbEJkeSA9ICJDaXJjbGU7SW5maW5pdGUiLz4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IuS4ieWtlOaLn+eos+aAgSIgT3V0cHV0cz0iS2g7S3Y7UztMO3p3O29tZWdhZjtEMTtsYW1iZGExO2xhbWJkYTI76aG26L6555WMO+W6lei+ueeVjCIvPg0KICAgICAgICAgICAgPCEtLTxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSLkuInlrZTljZXmuJfltYzlpZfmi5/nqLPmgIEiIE91dHB1dHM9IktoO0t2O1M7TDt6dztvbWVnYWY7RDE7bGFtYmRhMTtsYW1iZGEyO+mhtui+ueeVjDvlupXovrnnlYwiLz4tLT4NCg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuS4pOautea1gemHjyIgSUQ9IjIwMiIgU2VyaWVzPSJIVyI+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSJIb21vZ2VuZW91cyIgT3V0cHV0cz0iUzvkuqfph4/mrrXmlbA7enciIFNlbFdicyA9ICJDb25zdGFudCIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuS4pOautea1gemHj8K35bqV5rC0IiBJRD0iMjAzIiBTZXJpZXM9IkhXIj4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkhvbW9nZW5lb3VzIiBPdXRwdXRzPSJTO+S6p+mHj+auteaVsDvlupXmsLTns7vmlbAiIFNlbFdicyA9ICJDb25zdGFudCIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuS4ieautea1gemHjyIgSUQ9IjIwNCIgU2VyaWVzPSJIVyI+DQoNCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIEFsaWFzPSJIb21vZ2VuZW91cyIgT3V0cHV0cz0iUzvkuqfph4/mrrXmlbA7enciIFNlbFdicyA9ICJDb25zdGFudCIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuS4ieautea1gemHj8K35bqV5rC0IiBJRD0iMjA1IiBTZXJpZXM9IkhXIj4NCg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgQWxpYXM9IkhvbW9nZW5lb3VzIiBPdXRwdXRzPSJTO+S6p+mHj+auteaVsDvlupXmsLTns7vmlbAiIFNlbFdicyA9ICJDb25zdGFudCIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLeWOi+ijguawtOW5s+S6lS0tPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLlnYfljIDmtYHph4/Ct+eugOWMliIgSUQ9IjcxMSIgPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkhvbW9nZW5lb3VzIiAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0cz0iSztuZjtTO0N4ZiIgU2VsQmR5ID0gIkluZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSBwZXN1ZG8gc3RlYWR5IiAgICAgICAgT3V0cHV0cz0iSztuZjtTO0N4ZjtvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNsYWIpIiAgICBPdXRwdXRzPSJLO25mO1M7Q3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkluZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoc3BoZXJlKSIgICAgT3V0cHV0cz0iSztuZjtTO0N4ZjtvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiAgICBPdXRwdXRzPSJLO25mO1M7Q3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkluZmluaXRlIi8+DQogICAgICAgIDwvV0VMTW9kZWw+DQoJDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSJVbmlmb3JtIGZsdXgiIElEPSI3MTIiPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkhvbW9nZW5lb3VzIiAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0cz0iSztuZjtTO0N4ZiIgU2VsQmR5ID0gIkluZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSBwZXN1ZG8gc3RlYWR5IiAgICAgICAgT3V0cHV0cz0iSztuZjtTO0N4ZjtvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNsYWIpIiAgICBPdXRwdXRzPSJLO25mO1M7Q3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkluZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoc3BoZXJlKSIgICAgT3V0cHV0cz0iSztuZjtTO0N4ZjtvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiAgICBPdXRwdXRzPSJLO25mO1M7Q3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkluZmluaXRlIi8+DQogICAgICAgIDwvV0VMTW9kZWw+DQoJDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLml6DpmZDlr7zmtYHCt+eugOWMliIgSUQ9IjcxMyI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iSG9tb2dlbmVvdXMiICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXRzPSJLO25mO1M7Q3hmIiBTZWxCZHkgPSAiSW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHBlc3VkbyBzdGVhZHkiICAgICAgICBPdXRwdXRzPSJLO25mO1M7Q3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkluZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoc2xhYikiICAgIE91dHB1dHM9Iks7bmY7UztDeGY7b21lZ2FmO2xhbWJkYW1mIiBTZWxCZHkgPSAiSW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChzcGhlcmUpIiAgICBPdXRwdXRzPSJLO25mO1M7Q3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkluZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoYmFsbCkiICAgIE91dHB1dHM9Iks7bmY7UztDeGY7b21lZ2FmO2xhbWJkYW1mIiBTZWxCZHkgPSAiSW5maW5pdGUiLz4NCiAgICAgICAgPC9XRUxNb2RlbD4NCgkNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IkluZmluaXRlIGNvbmQiIElEPSI3MTQiPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkhvbW9nZW5lb3VzIiAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0cz0iSztuZjtTO0N4ZiIgU2VsQmR5ID0gIkluZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSBwZXN1ZG8gc3RlYWR5IiAgICAgICAgT3V0cHV0cz0iSztuZjtTO0N4ZjtvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KHNsYWIpIiAgICBPdXRwdXRzPSJLO25mO1M7Q3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkluZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSB0cmFuc2llbnQoc3BoZXJlKSIgICAgT3V0cHV0cz0iSztuZjtTO0N4ZjtvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiAgICBPdXRwdXRzPSJLO25mO1M7Q3hmO29tZWdhZjtsYW1iZGFtZiIgU2VsQmR5ID0gIkluZmluaXRlIi8+DQogICAgICAgIDwvV0VMTW9kZWw+DQoJDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+eugOWMliIgSUQ9IjcxNSI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iSG9tb2dlbmVvdXMiICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXRzPSJLO25mO1M7Q3hmO0NGYyIgU2VsQmR5ID0gIkluZmluaXRlIi8+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iRHVhbCBwb3Jvc2l0eSBwZXN1ZG8gc3RlYWR5IiAgICAgICAgT3V0cHV0cz0iSztuZjtTO0N4ZjtDRmM7b21lZ2FmO2xhbWJkYW1mIiBTZWxCZHkgPSAiSW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChzbGFiKSIgICAgT3V0cHV0cz0iSztuZjtTO0N4ZjtDRmM7b21lZ2FmO2xhbWJkYW1mIiBTZWxCZHkgPSAiSW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChzcGhlcmUpIiAgICBPdXRwdXRzPSJLO25mO1M7Q3hmO0NGYztvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiAgICBPdXRwdXRzPSJLO25mO1M7Q3hmO0NGYztvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJJbmZpbml0ZSIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSJGaW5pdGUgY29uZCIgSUQ9IjcxNiI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iSG9tb2dlbmVvdXMiICAgICAgICAgICAgT3V0cHV0cz0iSztuZjtTO0N4ZjtDRmMiIFNlbEJkeSA9ICJJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgcGVzdWRvIHN0ZWFkeSIgICAgICAgT3V0cHV0cz0iSztuZjtTO0N4ZjtDRmM7b21lZ2FmO2xhbWJkYW1mIiBTZWxCZHkgPSAiSW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChzbGFiKSIgICAgT3V0cHV0cz0iSztuZjtTO0N4ZjtDRmM7b21lZ2FmO2xhbWJkYW1mIiBTZWxCZHkgPSAiSW5maW5pdGUiLz4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJEdWFsIHBvcm9zaXR5IHRyYW5zaWVudChzcGhlcmUpIiAgICBPdXRwdXRzPSJLO25mO1M7Q3hmO0NGYztvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJJbmZpbml0ZSIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgU2VyaWVzPSJYQSIgQWxpYXM9IkR1YWwgcG9yb3NpdHkgdHJhbnNpZW50KGJhbGwpIiAgICBPdXRwdXRzPSJLO25mO1M7Q3hmO0NGYztvbWVnYWY7bGFtYmRhbWYiIFNlbEJkeSA9ICJJbmZpbml0ZSIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+WPjOe6v+aAp+a1gSIgSUQ9Ijc0NSI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iSG9tb2dlbmVvdXMiIE91dHB1dHM9Iks7bmY7Uzt4ZjtGYzt3Zjvlr7zljovns7vmlbDmr5RGMSIgU2VsQmR5ID0gIlJlY3RhbmdsZSIvPg0KICAgICAgICA8L1dFTE1vZGVsPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmnInpmZDlr7zmtYHCt+S4iee6v+aAp+a1gSIgSUQ9Ijc0NiI+DQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBTZXJpZXM9IlhBIiBBbGlhcz0iSG9tb2dlbmVvdXMiIE91dHB1dHM9Iks7bmY7Uzt4ZjtGYzt3ZjtzaWdtYUYxO3NpZ21hMzE7TTMxIiBTZWxCZHkgPSAiUmVjdGFuZ2xlIi8+DQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPFdFTE1vZGVsIE5hbWU9IiIgQWxpYXM9IuaciemZkOWvvOa1gcK35LqU57q/5oCn5rWBIiBJRD0iNzQ3Ij4NCiAgICAgICAgICAgIDxSRVNNb2RlbCBOYW1lPSIiIFNlcmllcz0iWEEiIEFsaWFzPSJIb21vZ2VuZW91cyIgT3V0cHV0cz0iSztuZjtTO3hmO0ZjO3dmO3NpZ21hRjE7c2lnbWEyMTtNMjE7c2lnbWEzMTtNMzE7c2lnbWE0MTtNNDE7cjIxIiBTZWxCZHkgPSAiUmVjdGFuZ2xlIi8+DQogICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLTxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLlpJrnuqfljovoo4LmsLTlubPkupUiIElEPSIyMDYiIFNlcmllcz0iSFciPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0iSG9tb2dlbmVvdXMiIE91dHB1dHM9IlM7eGY7RmM7d2Y7TmY7enciLz4NCg0KICAgICAgICA8L1dFTE1vZGVsPi0tPi0tPg0KDQogICAgICAgIDxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLkuI3lnYfljIDmtYHph48iIElEPSIyMDciIFNlcmllcz0iSFciPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0iSG9tb2dlbmVvdXMiIE91dHB1dHM9IlM7U3Q7TmY7eGY7RmM7d2Y7enciLz4NCg0KICAgICAgIDwvV0VMTW9kZWw+DQoNCiAgICAgICAgPCEtLTxXRUxNb2RlbCBOYW1lPSIiIEFsaWFzPSLmlpzkupUiIFNlcmllcz0iU1IiPg0KDQogICAgICAgICAgICA8UkVTTW9kZWwgTmFtZT0iIiBBbGlhcz0i5Z2H6LSo5rK56JePIiBJbnB1dHM9IuaWnOS6lemVv+W6piIgT3V0cHV0cz0iSztTO2g75pac5LqV6ZW/5bqmO0RldiIvPg0KICAgICAgICAgICAgPFJFU01vZGVsIE5hbWU9IiIgSUQ9IjEwMiIgQWxpYXM9IuWPjOmHjeWtlOmameKAlOKAlOaLn+eos+aAgSIgSW5wdXRzPSLmlpzkupXplb/luqYiIE91dHB1dHM9Iks7UztvbWVnYWY7bGFtYmRhO2g7enc75pac5LqV6ZW/5bqmO0RldiIvPg0KDQogICAgICAgIDwvV0VMTW9kZWw+LS0+DQoNCiAgICA8L01vZGVsSW9EZXNjcz4NCjwvUm9vdD4NCg== \ No newline at end of file diff --git a/Bin/Config/Common/ModelFunWxdDefines.dat b/Bin/Config/Common/ModelFunWxdDefines.dat deleted file mode 100644 index 4ef465a..0000000 --- a/Bin/Config/Common/ModelFunWxdDefines.dat +++ /dev/null @@ -1 +0,0 @@ -77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLSAgICDmnKzmlofmoaPnmoTnm67nmoTmmK/phY3nva7njovmmZPkuJzmlZnmjojmj5DkvpvnmoTop6PmnpDnrpfms5XmjqXlj6MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEF1dGhvcihzKTogd2FuZ3pnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgRGF0ZTogMjAyNDA1MTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQoNCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLSBGdW5jdGlvbiDlh73mlbAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIE5hbWXvvJogIOWHveaVsOWQjeensO+8jOS7o+eggeS4reWQjeensO+8jOWHveaVsOWFpeWPo+WHveaVsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEFsaWFz77yaIOWIq+WQje+8jOmAmuW4uOWvueW6lOWHveaVsOWQjeensOeahOebuOWFs+ivtOaYjiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgT3V0cHV0c++8miAg6L6T5Ye66YeP77yM6Ieq5Y+Y6YePICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIHNSZW1hcmvvvJogIOWHveaVsOaOpeWPo+ivtOaYjuS/oeaBryAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCg0KPCEtLSBQYXJhIOi+k+WFpeWPguaVsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgTmFtZSAg6Iux5paH5o+P6L+w77yM5LiN5LiA5a6a6Z2e5b6X5LiO5Ye95pWw5Luj56CB5Lit5Y+C5pWw5Y+Y6YeP5LiA6Ie0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEFsaWFz77ya5Lit5paH5Y+C5pWw5ZCN77yM6Z2e5bi46YeN6KaB77yM5L2G5aaC5p6c6YWN572u5LiO5LqM5qyh6Kej6YeK6KGo5Lit5a2X5q615LiA5qC377yM5bCG5Lya6Ieq5Yqo5Z2H5YC85Y+W5YC8ICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIFVuaXTvvJrljZXkvY0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgVmFsdWU65o6o6I2Q5YC877yMb3Lpu5jorqTlgLzvvIzlpoLmnpzkuozmrKHop6Pph4rmnInvvIzliJnoh6rliqjku47kuozmrKHop6Pph4rlj5YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgTWF477ya5pyA5aSn5YC8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIE1pbu+8muacgOWwj+WAvCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KDQo8Um9vdD4NCjxGdW5jdGlvbiBJRD0id3hkODkwMCIgTmFtZT0iRlB3RDg5MCIgQWxpYXM9IuefqeW9ouWwgemXreWcsOWxguaciemZkOWvvOa1geWeguebtOijgue8nee6v+a6kOinoyIgT2JqZWN0PSLpgILnlKjojIPlm7QiDQogICAgICAgICAgICBPdXRwdXQ9IlB3ZCINCiAgICAgICAgICAgIElucHV0cz0i5a+85rWB57O75pWwO+S6leS9jee9rng75LqV5L2N572ueTvlnLDlsYLplb/luqY75Zyw5bGC5a695bqmIj4NCg0KPC9GdW5jdGlvbj4NCg0KDQo8L1Jvb3Q+DQo= \ No newline at end of file diff --git a/Bin/Config/Common/ModelParaDefinesLP.dat b/Bin/Config/Common/ModelParaDefinesLP.dat deleted file mode 100644 index e4c8471..0000000 --- a/Bin/Config/Common/ModelParaDefinesLP.dat +++ /dev/null @@ -1 +0,0 @@ -77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu5/nmoTlj4LmlbDlrprkuYkgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBBdXRob3Iocyk6IHdhbmd6ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgRGF0ZTogMjAyNDA3MTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLQ0KICAgIFBhcmFHcm91cCDnuqfliKsNCiAgICAgICAgSUQ6ICAgICAgICAgIOWUr+S4gOagh+ivhg0KICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KICAgICAgICBEZXNj77yaICAgICAgIOi+heWKqeivtOaYjg0KDQogICAgICAgIFBhcmFJdGVtIOe6p+WIqw0KICAgICAgICAgICAgTmFtZe+8miAgICAgICDlkI3np7DvvIzpgJrluLjoi7HmlocNCiAgICAgICAgICAgIEFsaWFz77yaICAgICAg5Yir5ZCN77yM6YCa5bi45Lit5paHDQogICAgICAgICAgICBVbml0ICAgICAgICAg5Y2V5L2N77yM6buY6K6kDQogICAgICAgICAgICBEZWZhdWx0ICAgICAg6buY6K6k5YC8DQogICAgICAgICAgICBNYXggICAgICAgICAg5pyA5aSn5YC8DQogICAgICAgICAgICBNYXggICAgICAgICAg5pyA5bCP5YC8DQogICAgICAgICAgICBEaWdpdCAgICAgICAg5bCP5pWw5L2N5pWwDQogICAgICAgICAgICBTY2llbnRpZmljICAg5piv5ZCm5Lul56eR5a2m6K6h5pWw5rOV6KGo56S677yIMjAyNjA0MTMgQWRkZWTvvIkNCiAgICAgICAgICAgIFJlYWRvbmx5ICAgICDmmK/lkKblj6ror7sNCg0KICAgICAgICAgICAgUGFyYVR5cGU6ICAgIOWPguaVsOaJgOWxnuexu+Wei+WMuuWIhu+8jOm7mOiupOS4ujIoZG91YmxlKToNCiAgICAgICAgICAgICAgICAgICAgICAgICAw4oCU4oCU5a2X56ym5Liy77yI5paH5pys77yJIFRleHTlsZ7mgKcNCiAgICAgICAgICAgICAgICAgICAgICAgICAx4oCU4oCU5pW05b2iDQogICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlERvdWJsZeaVsOWAvA0KICAgICAgICAgICAgICAgICAgICAgICAgIDPigJTigJTlm77lg48gVGV4dOWxnuaApyDlrZjmlL7ot6/lvoQNCiAgICAgICAgICAgICAgICAgICAgICAgICA04oCU4oCU5LqM6L+b5Yi2IFRPRE8NCiAgICAgICAgICAgICAgICAgICAgICAgICA14oCU4oCU5pe26Ze057G75Z6LICJUZXh0IuWtmOaUvuaXtumXtO+8jCJGb3JtYXQi5a2Y5pS+5qC85byPDQogICAgICAgICAgICAgICAgICAgICAgICAgNuKAlOKAlOS4i+aLiUNtYiDlhbfmnIkiSXRlbU9wdGlvbnMi5bGe5oCnDQogICAgICAgICAgICAgICAgICAgICAgICAgN+KAlOKAlFNlZ+a1geWKqOauteaooeW8jyDlhbfmnIkiU3ViSXRlbXMi5bGe5oCn77yM5YW35pyJ57Sv56ev6ZW/5bqm44CB5Lqn6YeP562J5YaF5a65DQogICAgICAgICAgICAgICAgICAgICAgICAgOOKAlOKAlFNlZ+a1geWKqOauteaooeW8j++8jOaJqeWxleaooeW8jyDlhbfmnIkiU3ViSXRlbXMi5bGe5oCn77yMDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg5bm25LiU5LulTW9yZeaMiemSruW9ouW8j+W8ueWHuuWPr+inhuWMlueql+WPow0KICAgICAgICAgICAgICAgICAgICAgICAgIDnigJTigJTlj4zkuIvmi4nvvIjmiaPlnosr5YWs5q+N77yJ77yM5rS+55Sf6IeqIFBJVF9DYnjvvIwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICDlhbfmnIkiSXRlbU9wdGlvbnMiKyJJdGVtT3B0aW9uRXhzIuWxnuaApw0KICAgICAgICAgICAgICAgICAgICAgICAgIDEw4oCU4oCU5YW35pyJIlN1Ykl0ZW1zIuWxnuaAp++8jOaZrumAmueahOaooeW8j++8jOavlOWmgiDlsYLmlbDmja7vvIxDTzINCiAgICAgICAgICAgICAgICAgICAgICAgICAxMeKAlOKAlFvlup/lvINd5LiL5ouJQ21i77yM6ZKI5a+55qih5Z6L6YCJ6aG555qE6L+b5LiA5q2l5omp5bGV77yM6ZyA6KaB5Yqo5oCB5aGr5YWF55qEICJJdGVtT3B0aW9ucyLlsZ7mgKflj6/mnInlj6/ml6ANCiAgICAgICAgICAgICAgICAgICAgICAgICAxMuKAlOKAlOaMiemSruexu++8jOeCueWHu+WQju+8jOW8ueWHuuihqOagvOaVsOaNru+8iOazqOaEj++8jOacrOi6q+WPquaYr+WNlee6r+eahOihqOagvO+8ieWPr+S7peeUseWklumDqOaIquiOt+a2iOaBr+i/m+ihjOiHquihjOWumuWItg0KDQogICAgICAgICAgICBVc2VNb2RlOiAgIOino+mHiuWPguaVsOW6lOeUqOWcuuWQiDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAw4oCU4oCU6YCC55So5omA5pyJ77yM5LiN6ZyA6YWN572uDQogICAgICAgICAgICAgICAgICAgICAgICAgMeKAlOKAlOS7heS7hemAgueUqOWkhOeQhuaLn+WQiA0KICAgICAgICAgICAgICAgICAgICAgICAgIDLigJTigJTku4Xku4XpgILnlKjor5XkupXorr7orqENCiAgICAgICAgICAgICAgICAgICAgICAgICAz4oCU4oCU5Y+v5Lul5pi+56S65Y+v5Lul5LiN5pi+56S677yM6YCa6L+H5oyJ6ZKu5o6n5Yi2DQogICAgICAgICAgICAgICAgICAgICAgICAgNOKAlOKAlOaYvuekuu+8jOS4jeWPguS4juaLn+WQiCDmmL7npLrliLDnu5PmnpzvvIjnlYzpnaLmmL7npLrvvIzmi5/lkIjkuI3mi5/lkIjvvIznu5PmnpzmmL7npLrvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICA14oCU4oCU5LiN5pi+56S677yM5LiN5Y+C5LiO5ouf5ZCI77yM5LiN5pi+56S65Yiw57uT5p6c5Lit77yI5aaCIOa3t+WQiOm7j+W6pu+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgIDbigJTigJTmmL7npLrvvIzkuI3lj4LkuI7mi5/lkIjvvIzkuI3mmL7npLrliLDnu5PmnpzkuK3vvIjlrZTpmpnvvIzljprluqbpnZ5qb2Lph4zpnaLvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICA34oCU4oCU5LiN5pi+56S677yM5LiN5Y+C5LiO5ouf5ZCI77yM5pi+56S65Yiw57uT5p6c5Lit77yI5o6i5rWL5Y2K5b6E44CB5YiG5rWB546H77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgOOKAlOKAlOWvueS6juWkmuebuOaYvuekuu+8jOWNleebuOS4jeaYvuekuueahOaDheWGtQ0KDQogICAgICAgICAgICBCZHlUeXBlOiAgICAg6L6555WM57G75Z6L77yM6buY6K6k5Li6MijlubbpnZ7ovrnnlYwpOg0KICAgICAgICAgICAgICAgICAgICAgICAgIDDigJTigJTluLjop4TovrnnlYzlj4LmlbDvvIzljIXmi6zmlbDlgLzjgIHku6Xlj4rnsbvlnovvvIjlsIHpl63jgIHlrprljovjgIHml6DpmZDlpKfvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAx4oCU4oCU5Y2V57qv55qE57G75Z6L77yM5bqV5rC044CB562J77yM5peg5pWw5a2XDQogICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlOW5tumdnui+ueeVjA0KICAgICAgICAgICAgICAgICAgICAgICAgIDPigJTigJTlhbblroPvvIzlvoXmianlsZUNCg0KICAgICAgICAgICAgTGF5ZXJNb2RlOiAgIOWcqOWkmuWxguaooeWei+aDheW9ouS4i+eahOaYvuekuuS4jumakOiXj+mAu+i+ke+8iDIwMjYwMTA15paw5aKe77yJOg0KICAgICAgICAgICAgICAgICAgICAgICAgIDDigJTigJTpu5jorqTvvIzmmL7npLrlnKjlsYLlhoUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOWPguaVsOekuuS+i++8mua4l+mAj+eOh+OAgeihqOearuOAgeaooeWei+mAiemhue+8iOS6leWeiy/lgqjlsYLnsbvlnovvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAx4oCU4oCU5pi+56S65Zyo5bGC5aSW77yM5L2c5Li6IOmAmueUqOWPguaVsOexuw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg5Y+C5pWw56S65L6L77ya5LqV5YKo57O75pWw44CB5Yid5aeL5Y6L5Yqb562JDQogICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlOS6pOabv+aYvuekuu+8jOeqnOa1geaooeW8j+S4i++8jOaYvuekuuWcqOWxguWkllvmr4/lsYLlhoXkuI3mmL7npLpd77ybDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDpnZ7nqpzmtYHmqKHlvI/kuIvvvIzmmL7npLrlnKjlsYLlhoVb5q+P5bGC5YaF5Z2H5pi+56S6Xe+8jA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg5Y+C5pWw56S65L6L77ya5aaC6L6555WM57G75Z6L44CB6L6555WM6Led56a7DQogICAgICAgICAgICAgICAgICAgICAgICAgM+KAlOKAlOWFtuWug++8jOW+heaJqeWxlQ0KDQoNCiAgICAgICAgICAgIFN1Ykl0ZW1z77yaICAg6YWN572u5a2Q6aG577yM5q+U5aaC5Lqn5ray5q615pWwDQogICAgICAgICAgICBGb3JtYXTvvJogICAgIOaXpeacn+Wei+WPguaVsO+8jOaYvuekuueahOagt+W8j++8jOaaguacquWQr+eUqA0KICAgICAgICAgICAgSXRlbU9wdGlvbnPvvJrlrZDpobnvvIzlr7nkuo7kuIvmi4nmoYbvvIzmr5TlpoIg5bCB6Zet44CB5a6a5Y6L562J5Zu65a6a55qE5YaF5a65DQogICAgICAgICAgICBUZXh077yaICAgICAgIOWtl+espuS4suWPguaVsOOAgeaIluiAhSDlm77lg4/nmoTot6/lvoQNCiAgICAgICAgICAgIERlc2PvvJogICAgICAg6L6F5Yqp6K+05piODQotLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQoNCjxSb290Pg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i5LqV5YKo5Y+C5pWwIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQyIgQWxpYXM9IuS6leetkuWCqOmbhuezu+aVsCIgTGF5ZXJNb2RlPSIxIiBVbml0PSJtXjMvTVBhIiBEZWZhdWx0PSIwLjEiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjMiIFNjaWVudGlmaWM9IjEiIERlc2M9IndlbGxib3JlIHN0b3JhZ2UgZmFjdG9yIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkNpZFJhdGlvIiBBbGlhcz0i5Yid5pyr5LqV562S5YKo6ZuG57O75pWw5q+UIiBMYXllck1vZGU9IjEiIFVuaXQ9IiIgRGVmYXVsdD0iMC40IiBNYXg9IjEwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IlJhdGlvIG9mIGluaXRpYWwgYW5kIGZpbmFsIHdlbGxib3JlIHN0b3JhZ2UiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iYWxwaGEiIEFsaWFzPSLlj5jkupXlgqjml7bpl7QiIExheWVyTW9kZT0iMSIgVW5pdD0iaCIgRGVmYXVsdD0iMSIgTWF4PSIxZSszMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iY2hhbmdpbmcgd2VsbGJvcmUgc3RvcmFnZSB0aW1lIi8+DQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i5Z+656GA5Y+C5pWwIj4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJydyIgQWxpYXM9IuS6leW+hCIgVW5pdD0ibSIgRGVmYXVsdD0iMC4xMDgiIE1heD0iMSIgTWluPSIwLjAxIiBEaWdpdD0iNSIgRGVzYz0id2VsbCByYWRpdXMiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0id2VsbERpcyIgQWxpYXM9IuS6lemXtOi3neemuyIgVW5pdD0ibSIgRGVmYXVsdD0iMTAzNCIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0id2VsbCBpbnRlciBkaXN0YW5jZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ3ZWxsQW5nbGUiIEFsaWFzPSLkupXpl7TlgL7op5IiIFVuaXQ9IsKwIiBEZWZhdWx0PSIwIiBNYXg9IjM2MCIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0id2VsbCBpbnRlciBhbmdsZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJMIiBBbGlhcz0i5rC05bmz5LqV6ZW/5bqmIiBVbml0PSJtIiBEZWZhdWx0PSI2MDAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJob3Jpem9udGFsIHdlbGwgbGVuZ3RoIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ikx3IiBBbGlhcz0i5pac5LqV6ZW/5bqmIiBVbml0PSJtIiBEZWZhdWx0PSIyOC44IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0id2VsbCBsZW5ndGgiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iRGV2IiBBbGlhcz0i5LqV5pac6KeS5bqmIiBVbml0PSLCsCIgRGVmYXVsdD0iODAiIE1heD0iMTgwIiBNaW49IjAiIERpZ2l0PSIzIiBEZXNjPSJXZWxsIE9yaWVudGF0aW9uIEFuZ2xlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBvc1giIEFsaWFzPSLlnZDmoIdYIiBVbml0PSJtIiBEZWZhdWx0PSIwIiBEaWdpdD0iMyIgRGVzYz0iV2VsbCBQb3MgWCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQb3NZIiBBbGlhcz0i5Z2Q5qCHWSIgVW5pdD0ibSIgRGVmYXVsdD0iMCIgRGlnaXQ9IjMiIERlc2M9IldlbGwgUG9zIFkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icndfMSIgQWxpYXM9IuWCqOWxgjHkupXlvoQiIFVuaXQ9Im0iIERlZmF1bHQ9IjAuMTA4IiBNYXg9IjEiIE1pbj0iMC4wMSIgRGlnaXQ9IjUiIERlc2M9IndlbGwgcmFkaXVzIi8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9InJ3XzIiIEFsaWFzPSLlgqjlsYIy5LqV5b6EIiBVbml0PSJtIiBEZWZhdWx0PSIwLjEwOCIgTWF4PSIxIiBNaW49IjAuMDEiIERpZ2l0PSI1IiBEZXNjPSJ3ZWxsIHJhZGl1cyIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJyd18zIiBBbGlhcz0i5YKo5bGCM+S6leW+hCIgVW5pdD0ibSIgRGVmYXVsdD0iMC4xMDgiIE1heD0iMSIgTWluPSIwLjAxIiBEaWdpdD0iNSIgRGVzYz0id2VsbCByYWRpdXMiLz4NCiAgICA8IS0tWEEtLT4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJoIiBBbGlhcz0i5YKo5bGC5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9InBheSB6b25lIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkgxRFBFIiBBbGlhcz0i5bGC5LiA5YKo5bGC5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMXN0IHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkgyRFBFIiBBbGlhcz0i5bGC5LqM5YKo5bGC5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkgxTVAiIEFsaWFzPSLlgqjlsYLljprluqYxIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMXN0IHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkgyTVAiIEFsaWFzPSLlgqjlsYLljprluqYyIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImgxIiBBbGlhcz0i5bGC5LiA5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMXN0IHBheSB6b25lIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImgyIiBBbGlhcz0i5bGC5LqM5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImhfMSIgQWxpYXM9IuWCqOWxgjHljprluqYiIFVuaXQ9Im0iIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIxc3QgcGF5IHpvbmUiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iaF8yIiBBbGlhcz0i5YKo5bGCMuWOmuW6piIgVW5pdD0ibSIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjJuZCBwYXkgem9uZSIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJoXzMiIEFsaWFzPSLlgqjlsYIz5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIi8+DQogICAgPCEtLVhBLS0+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpIiBBbGlhcz0i5a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0icG9yb3NpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpMU1QIiBBbGlhcz0i5a2U6ZqZ5bqmMSIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IjFzdCBwb3Jvc2l0eSBvZiBkdWFsIHBlcm1lYWJpbGl0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkyTVAiIEFsaWFzPSLlrZTpmpnluqYyIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0iMm5kIHBvcm9zaXR5IG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9InBoaWYiIEFsaWFzPSLljovoo4LnvJ3lrZTpmpnluqYiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBVc2VNb2RlPSI1IiBEZXNjPSJwb3Jvc2l0eSBvZiBmcmFjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkyRCIgQWxpYXM9Iuijgue8neWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIFVzZU1vZGU9IjUiIERlc2M9InBvcm9zaXR5IG9mIG5hdHVyZSBmcmFjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkxRCIgQWxpYXM9IuWfuui0qOWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIFVzZU1vZGU9IjUiIERlc2M9InBvcm9zaXR5IG9mIHN0cm9tYSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkxIiBBbGlhcz0i5YaF5Yy65a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgVXNlTW9kZT0iNSIgRGVzYz0iSW5uZXIgcG9yb3NpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpMiIgQWxpYXM9IuWkluWMuuWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIFVzZU1vZGU9IjUiIERlc2M9Ik91dGVyIHBvcm9zaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9InBoaTFEUEUiIEFsaWFzPSLlsYLkuIDlrZTpmpnluqYiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBVc2VNb2RlPSI1IiBEZXNjPSIxc3QgcG9yb3NpdHkgb2YgZHVhbCBwZXJtZWFiaWxpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpMkRQRSIgQWxpYXM9IuWxguS6jOWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIFVzZU1vZGU9IjUiIERlc2M9IjJuZCBwb3Jvc2l0eSBvZiBkdWFsIHBlcm1lYWJpbGl0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJmYWkxMSIgQWxpYXM9IuWxguS4gDHljLrlrZTpmpnluqYiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0iMXN0IHBlcm1lYWJpbGl0eSBvZiBpbm5lciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iZmFpMTIiIEFsaWFzPSLlsYLkuIAy5Yy65a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IjFzdCBwZXJtZWFiaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImZhaTIxIiBBbGlhcz0i5bGC5LqMMeWMuuWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjI1IiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBEZXNjPSIybmQgcGVybWVhYmlsaXR5IG9mIGlubmVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJmYWkyMiIgQWxpYXM9IuWxguS6jDLljLrlrZTpmpnluqYiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0iMm5kIHBlcm1lYWJpbGl0eSBvZiBvdXRlciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpXzEiIEFsaWFzPSLlgqjlsYIx5a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0icG9yb3NpdHkiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpXzIiIEFsaWFzPSLlgqjlsYIy5a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0icG9yb3NpdHkiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpXzMiIEFsaWFzPSLlgqjlsYIz5a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0icG9yb3NpdHkiLz4NCiAgICA8IS0tWEEtLT4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJCIiBBbGlhcz0i5L2T56ev57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQm8iIEFsaWFzPSLmsrnkvZPnp6/ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJmb3JtYXRpb24gdm9sdW1lIGZhY3RvciIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJCZyIgQWxpYXM9IuawlOS9k+enr+ezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9ImZvcm1hdGlvbiB2b2x1bWUgZmFjdG9yIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkJ3IiBBbGlhcz0i5rC05L2T56ev57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQl8xIiBBbGlhcz0i5YKo5bGCMeS9k+enr+ezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9ImZvcm1hdGlvbiB2b2x1bWUgZmFjdG9yIi8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IkJfMiIgQWxpYXM9IuWCqOWxgjLkvZPnp6/ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJmb3JtYXRpb24gdm9sdW1lIGZhY3RvciIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJCXzMiIEFsaWFzPSLlgqjlsYIz5L2T56ev57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiLz4NCiAgICA8IS0tWEEtLT4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXUiIEFsaWFzPSLpu4/luqYozrwpIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIxNTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0idmlzY29zaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1pdW8iIEFsaWFzPSLmsrnnm7jpu4/luqYiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjE1MCIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9Im9pbCB2aXNjb3NpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1bzEiIEFsaWFzPSLlhoXljLrmsrnnm7jpu4/luqYiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjUwIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0ib2lsIHZpc2Nvc2l0eSBvZiBDb21wbGV4IElubmVyIHpvbmUiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1bzIiIEFsaWFzPSLlpJbljLrmtYHkvZPpu4/luqYiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjUwIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0ib2lsIHZpc2Nvc2l0eSBvZiBDb21wbGV4IG91dGVyIHpvbmUiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1ZyIgQWxpYXM9IuawlOm7j+W6piIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMiIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9ImdhcyB2aXNjb3NpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1dyIgQWxpYXM9IuawtOebuOm7j+W6piIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMiIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IndhdGVyIHZpc2Nvc2l0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXV4IiBBbGlhcz0i5re35ZCI6buP5bqmIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMi40IiBNYXg9IjUwIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgVXNlTW9kZT0iNSIgRGVzYz0iTWl4IHZpc2Nvc2l0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXVfMSIgQWxpYXM9IuWCqOWxgjHpu4/luqYozrwpIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIxNTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0idmlzY29zaXR5Ii8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1pdV8yIiBBbGlhcz0i5YKo5bGCMum7j+W6pijOvCkiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjE1MCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJ2aXNjb3NpdHkiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1XzMiIEFsaWFzPSLlgqjlsYIz6buP5bqmKM68KSIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMTUwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9InZpc2Nvc2l0eSIvPg0KICAgIDwhLS1YQS0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IkN0IiBBbGlhcz0i57u85ZCI5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBEZXNjPSJ0b3RhbCBjb21wcmVzc2liaWxpdHkgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkNmIiBBbGlhcz0i5bKp55+z5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBEZXNjPSJyb2NrIGNvbXByZXNzaWJpbGl0eSAiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3RmRiIgQWxpYXM9IuWOi+ijgue8nee7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIGZyYWN0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0ZiIgQWxpYXM9Iuijgue8nee7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIG5hdHVyZSBmcmFjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdG0iIEFsaWFzPSLln7rotKjnu7zlkIjljovnvKnns7vmlbAiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMDQzIiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjUiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eSBvZiBzdHJvbWEgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MURQRSIgQWxpYXM9IuWxguS4gOe7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0iMXN0IHRvdGFsIGNvbXByZXNzaWJpbGl0eSBvZiBkdWFsIHBlcm1lYWJpbGl0eSAiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3QyRFBFIiBBbGlhcz0i5bGC5LqM57u85ZCI5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBVc2VNb2RlPSI1IiBEZXNjPSIybmQgdG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIGR1YWwgcGVybWVhYmlsaXR5ICIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdDEiIEFsaWFzPSLkuIDlsYLnu7zlkIjljovnvKnns7vmlbAiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMDQzIiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjYiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eTEgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MiIgQWxpYXM9IuS6jOWxgue7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDM2IiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjYiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eTIgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MyIgQWxpYXM9IuS4ieWxgue7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDM2IiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjYiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eTMgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MTEiIEFsaWFzPSLlsYLkuIAx5Yy657u85ZCI5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBVc2VNb2RlPSI1IiBEZXNjPSIxc3QgdG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIGlubmVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdDIxIiBBbGlhcz0i5bGC5LqMMeWMuue7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0iMm5kIHRvdGFsIGNvbXByZXNzaWJpbGl0eSBvZiBpbm5lciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3QxMiIgQWxpYXM9IuWxguS4gDLljLrnu7zlkIjljovnvKnns7vmlbAiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMDQzIiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjUiIERlc2M9IjFzdCB0b3RhbCBjb21wcmVzc2liaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MjIiIEFsaWFzPSLlsYLkuowy5Yy657u85ZCI5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBVc2VNb2RlPSI1IiBEZXNjPSIybmQgdG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIG91dGVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdF8xIiBBbGlhcz0i5YKo5bGCMee7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5ICIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdF8yIiBBbGlhcz0i5YKo5bGCMue7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5ICIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdF8zIiBBbGlhcz0i5YKo5bGCM+e7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5ICIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQZSIgQWxpYXM9IuWOn+Wni+WcsOWxguWOi+WKmyIgTGF5ZXJNb2RlPSIxIiBVbml0PSJNUGEiIERlZmF1bHQ9IjMwIiBNYXg9IjUwMCIgTWluPSIwLjEiIERpZ2l0PSI1IiBEZXNjPSJpbml0aWFsIGZvcm1hdGlvbiBwcmVzc3VyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQcmVmIiBBbGlhcz0i5Y+C6ICD5Y6L5YqbIiBMYXllck1vZGU9IjEiIFVuaXQ9Ik1QYSIgRGVmYXVsdD0iMzAiIE1heD0iNTAwIiBNaW49IjAuMSIgRGlnaXQ9IjUiIERlc2M9IlJlZmVyZW5jZSBwcmVzc3VyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQaSIgQWxpYXM9IuWIneWni+WOi+WKmyIgTGF5ZXJNb2RlPSIxIiBVbml0PSJNUGEiIERlZmF1bHQ9IjMwIiBNYXg9IjUwMCIgTWluPSIwLjEiIERpZ2l0PSI1IiBEZXNjPSJpbml0aWFsIHByZXNzdXJlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBpdCIgQWxpYXM9IuWcsOWxguWOi+WKmyIgTGF5ZXJNb2RlPSIxIiBVbml0PSJNUGEiIERlZmF1bHQ9IjMwIiBNYXg9IjEwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjUiIERlc2M9ImluaXRpYWwgcHJlc3N1cmUxIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iTiIgQWxpYXM9IuWCqOmHjyIgVW5pdD0ibV4zIiBEZWZhdWx0PSIxMDAwMDAiIE1heD0iMWUrMzAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJyZXNlcnZlcyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJnYW1tYSIgQWxpYXM9Iua4l+mAj+eOh+aooemHjyIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAxIiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJzdHJlc3Mgc2Vuc2l0aXZpdHkgY29lZmZpY2llbnQiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iZGVscGF0IiBBbGlhcz0i6KOC57yd5Y2K6ZW/5Y+Y5YyW5Zug5a2QIiBVbml0PSIiIERlZmF1bHQ9IjUiIE1heD0iMTAwMCIgTWluPSIwLjEiIERpZ2l0PSIzIiBEZXNjPSJmcmFjdHVyZSBzaHJpbmthZ2UgY29lZmZpY2llbnQiLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJOcSIgQWxpYXM9IuS6p+mHj+auteaVsCIgRGVmYXVsdD0iMiIgTWF4PSI2IiBNaW49IjIiIFBhcmFUeXBlPSI4IiBEZXNjPSJudW1iZXIgb2YgbGlxdWlkIHNlY3Rpb25zIiBTdWJJdGVtcz0iTnFBO05xWDtOcUw7TnFRIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik5xQSIgQWxpYXM9IuinkuW6piIgTWluPSIxZS0wNSIgTWF4PSIzNjAiIFVuaXQ9IsKwIiBEZWZhdWx0PSI5MCIgRGlnaXQ9IjMiIFRpcHM9IiIgRGVzYz0ibG9jYXRpb24gb2YgbGlxdWlkIHNlY3Rpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik5xWCIgQWxpYXM9IuS9jee9riIgVW5pdD0ibSIgRGVmYXVsdD0iMzAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJsb2NhdGlvbiBvZiBsaXF1aWQgc2VjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJOcUwiIEFsaWFzPSLplb/luqYiIFVuaXQ9Im0iIERlZmF1bHQ9IjYwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0ibGVuZ2ggb2YgbGlxdWlkIHNlY3Rpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTnFRIiBBbGlhcz0i5Lqn6YePIiBVbml0PSJtXjMiIERlZmF1bHQ9IjEwIiBNYXg9IjEwMDAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJsaXF1aWQgcHJvZHVjdGlvbiBvZiBsaXF1aWQgc2VjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJOZiIgQWxpYXM9IuWOi+ijguauteaVsCIgRGVmYXVsdD0iNCIgTWF4PSI2IiBNaW49IjEiIFVzZU1vZGU9IjQiIERlc2M9Im51bWJlciBvZiBmcmFjdHVyZSBzZWN0aW9ucyIgU3ViSXRlbXM9Ik5xUSIvPg0KDQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i5YKo5bGC5Y+C5pWwIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iVHJhbnNtaXNzaWJpbGl0eSIgQWxpYXM9IuWcsOWxguezu+aVsCIgVW5pdD0ibUQubSIgRGVmYXVsdD0iMTAwIiBNYXg9IjFlKzMwIiBNaW49IjAiIERpZ2l0PSI2IiBVc2VNb2RlPSI3IiBEZXNjPSJUcmFuc21pc3NpYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlJjIiBBbGlhcz0i5o6i5rWL5Y2K5b6EIiBVbml0PSJtIiBEZWZhdWx0PSIxMDAiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjMiIFVzZU1vZGU9IjciIERlc2M9InJhZGl1cyBvZiBpbnZlc3RpZ2F0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImR0IiBBbGlhcz0i5rWL6K+V5pe26Ze0IiBVbml0PSJoIiBEZWZhdWx0PSIxMDAiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjYiIFVzZU1vZGU9IjciIERlc2M9InRlc3QgdGltZSIvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IksiIEFsaWFzPSLmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iSzFNUCIgQWxpYXM9Iua4l+mAj+eOhzEiIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iNiIgRGVzYz0iMXN0IHBlcm1lYWJpbGl0eSBvZiBkdWFsIHBlcm1lYWJpbGl0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLMk1QIiBBbGlhcz0i5riX6YCP546HMiIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSI2IiBEZXNjPSIybmQgcGVybWVhYmlsaXR5IG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IksxRFBFIiBBbGlhcz0i5bGC5LiA5riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjYiIERlc2M9IjFzdCBwZXJtZWFiaWxpdHkgb2YgZHVhbCBwZXJtZWFiaWxpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iSzJEUEUiIEFsaWFzPSLlsYLkuozmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iNiIgRGVzYz0iMm5kIHBlcm1lYWJpbGl0eSBvZiBkdWFsIHBlcm1lYWJpbGl0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLMTEiIEFsaWFzPSLlsYLkuIAx5Yy65riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjYiIERlc2M9IjFzdCBwZXJtZWFiaWxpdHkgb2YgaW5uZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IksxMiIgQWxpYXM9IuWxguS4gDLljLrmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iNiIgRGVzYz0iMXN0IHBlcm1lYWJpbGl0eSBvZiBvdXRlciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iSzIxIiBBbGlhcz0i5bGC5LqMMeWMuua4l+mAj+eOhyIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSI2IiBEZXNjPSIybmQgcGVybWVhYmlsaXR5IG9mIGlubmVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLMjIiIEFsaWFzPSLlsYLkuowy5Yy65riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjYiIERlc2M9IjJuZCBwZXJtZWFiaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IktvIiBBbGlhcz0i5rK555u45riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iOCIgRGVzYz0icGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IktnIiBBbGlhcz0i5rCU55u45riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iOCIgRGVzYz0icGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ikt3IiBBbGlhcz0i5rC055u45riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iOCIgRGVzYz0icGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IktoIiBBbGlhcz0i5rC05bmz5riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iaG9yaXpvbnRhbCBwZXJtZWFiaWxpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3YiIEFsaWFzPSLlnoLlkJHmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSIwLjUiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9InZlcnRpY2FsIHBlcm1lYWJpbGl0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLeCIgQWxpYXM9InjmlrnlkJHmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkgeCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLeSIgQWxpYXM9InnmlrnlkJHmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkgeSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLeXoiIEFsaWFzPSJ5euW5s+mdoua4l+mAj+eOhyIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9InBlcm1lYWJpbGl0eSB5eiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLMSIgQWxpYXM9IjHljLrmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJJbm5lciBwZXJtZWFiaWxpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iSzIiIEFsaWFzPSIy5Yy65riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iT3V0ZXIgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkszIiBBbGlhcz0iM+WMuua4l+mAj+eOhyIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9Ik91dGVyIHBlcm1lYWJpbGl0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLZiIgQWxpYXM9Iuijgue8nea4l+mAj+eOhyIgVW5pdD0ibUQiIERlZmF1bHQ9IjUwMDAiIE1heD0iMWUzMCIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iMyIgRGVzYz0iZnJhY3R1cmUgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkthIiBBbGlhcz0i5YaF5Yy65riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjYiIERlc2M9InJwZXJtZWFiaWxpdHkgb2YgaW5uZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IktfMSIgQWxpYXM9IuWCqOWxgjHmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IktfMiIgQWxpYXM9IuWCqOWxgjLmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IktfMyIgQWxpYXM9IuWCqOWxgjPmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IktmMSIgQWxpYXM9Iuijgue8nTHmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1MDAwIiBNYXg9IjFlMzAiIE1pbj0iMCIgRGlnaXQ9IjYiIFVzZU1vZGU9IjMiIERlc2M9ImZyYWN0dXJlIHBlcm1lYWJpbGl0eSIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS2YyIiBBbGlhcz0i6KOC57ydMua4l+mAj+eOhyIgVW5pdD0ibUQiIERlZmF1bHQ9IjUwMDAiIE1heD0iMWUzMCIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iMyIgRGVzYz0iZnJhY3R1cmUgcGVybWVhYmlsaXR5Ii8+DQogICAgPCEtLVhBIi0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IlMiIEFsaWFzPSLooajnmq7ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMS4wIiBNYXg9IjUwMDAiIE1pbj0iLTEwMDAiIERpZ2l0PSI4IiBEZXNjPSJza2luIGZhY3RvciIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTaW5mIiBBbGlhcz0i55WM6Z2i6KGo55quIiBVbml0PSIiIERlZmF1bHQ9IjUiIE1heD0iMWUzMCIgTWluPSIwLjAiIERpZ2l0PSI4IiBEZXNjPSJJbnRlcmZhY2Ugc2tpbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTMSIgQWxpYXM9IuWxguS4gOihqOearuezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjAxIiBNYXg9IjUwMDAiIE1pbj0iLTEwMDAiIERpZ2l0PSI4IiBEZXNjPSJza2luIGZhY3RvciBvZiBsYXllcjEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUzIiIEFsaWFzPSLlsYLkuozooajnmq7ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMC4wMSIgTWF4PSI1MDAwIiBNaW49Ii0xMDAwIiBEaWdpdD0iOCIgRGVzYz0ic2tpbiBmYWN0b3Igb2YgbGF5ZXIyIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlNmcyIgQWxpYXM9Iuijgue8nemdouihqOearuezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxLjAiIE1heD0iNTAwMCIgTWluPSItMTAwMCIgRGlnaXQ9IjYiIERlc2M9ImZyYWN0dXJlIGZhY2Ugc2tpbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTY2hva2UiIEFsaWFzPSLkupXnrZIt6KOC57yd6Ze06KGo55qu57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEuMCIgTWF4PSI1MDAwIiBNaW49Ii0xMDAwIiBEaWdpdD0iNiIgRGVzYz0iY2hva2VkLWZyYWN0dXJlIHNraW4iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU2xlYWsiIEFsaWFzPSLms4TmvI/ooajnmq7ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMS4wIiBNYXg9IjUwMDAiIE1pbj0iLTEwMDAiIERpZ2l0PSI2IiBEZXNjPSJsZWFrIHNraW4gZmFjdG9yIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlNfMSIgQWxpYXM9IuWCqOWxgjHooajnmq7ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMC4wIiBNYXg9IjUwMDAiIE1pbj0iLTEwMDAiIERpZ2l0PSI2IiBEZXNjPSJza2luIGZhY3RvciIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU18yIiBBbGlhcz0i5YKo5bGCMuihqOearuezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjAiIE1heD0iNTAwMCIgTWluPSItMTAwMCIgRGlnaXQ9IjYiIERlc2M9InNraW4gZmFjdG9yIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTXzMiIEFsaWFzPSLlgqjlsYIz6KGo55qu57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuMCIgTWF4PSI1MDAwIiBNaW49Ii0xMDAwIiBEaWdpdD0iNiIgRGVzYz0ic2tpbiBmYWN0b3IiLz4NCiAgICA8IS0tWEEiLS0+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iUmkiIEFsaWFzPSLlpI3lkIjljYrlvoQiIFVuaXQ9Im0iIERlZmF1bHQ9IjUwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iY29tcG9zaXRlIHJhZGl1cyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJyMjEiIEFsaWFzPSLlpI3lkIjljYrlvoQyMSIgVW5pdD0ibSIgRGVmYXVsdD0iMTAwIiBNYXg9IjEwMDAwIiBNaW49IjEiIERpZ2l0PSIzIiBEZXNjPSJjb21wb3NpdGUgcmFkaXVzMjEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icjMyIiBBbGlhcz0i5aSN5ZCI5Y2K5b6EMzIiIFVuaXQ9Im0iIERlZmF1bHQ9IjIwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgRGVzYz0iY29tcG9zaXRlIHJhZGl1czMyIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InI0MyIgQWxpYXM9IuWkjeWQiOWNiuW+hDQzIiBVbml0PSJtIiBEZWZhdWx0PSIzMDAiIE1heD0iMTAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIERlc2M9ImNvbXBvc2l0ZSByYWRpdXM0MyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSMSIgQWxpYXM9IuS4gOWMuuWNiuW+hCIgVW5pdD0ibSIgRGVmYXVsdD0iNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJyZWdpb24xIHJhZGl1cyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSMiIgQWxpYXM9IuS6jOWMuuWNiuW+hCIgVmFsaWRhdGVTdHI9IkdUOlIxIiBVbml0PSJtIiBEZWZhdWx0PSI1MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiICBEZXNjPSJyZWdpb24yIHJhZGl1cyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSMUwiIEFsaWFzPSLlsYLkuIDkupXmjqfljYrlvoQiIFVuaXQ9Im0iIERlZmF1bHQ9IjYwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0ibGF5ZXIxIHJhZGl1cyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSMkwiIEFsaWFzPSLlsYLkuozkupXmjqfljYrlvoQiIFZhbGlkYXRlU3RyPSJHVDpSMUwiIFVuaXQ9Im0iIERlZmF1bHQ9IjEwMCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImxheWVyMiByYWRpdXMiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUjExIiBBbGlhcz0i5bGC5LiAMeWMuuWNiuW+hCIgVW5pdD0ibSIgRGVmYXVsdD0iNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIxc3QgcmFkaXVzIG9mIGlubmVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSMTIiIEFsaWFzPSLlsYLkuIAy5Yy65Y2K5b6EIiBVbml0PSJtIiBEZWZhdWx0PSI1MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjFzdCByYWRpdXMgb2Ygb3V0ZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlIyMSIgQWxpYXM9IuWxguS6jDHljLrljYrlvoQiIFVuaXQ9Im0iIERlZmF1bHQ9IjUwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHJhZGl1cyBvZiBpbm5lciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUjIyIiBBbGlhcz0i5bGC5LqMMuWMuuWNiuW+hCIgVW5pdD0ibSIgRGVmYXVsdD0iNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIybmQgcmFkaXVzIG9mIG91dGVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSaW4iIEFsaWFzPSLlhoXljLrljYrlvoQiIFVuaXQ9Im0iIERlZmF1bHQ9IjUwIiBNYXg9IjEwMDAwIiBNaW49IjAuMDEiIERpZ2l0PSIzIiBEZXNjPSJyYWRpdXMgb2YgaW5uZXIgcmVnaW9uIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0ic2lnbWEiIEFsaWFzPSLlr7zljovns7vmlbDmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0iUHJlc3N1cmUgY29uZHVjdGlvbiByYXRpbyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJzaWdtYTExIiBBbGlhcz0i5a+85Y6L57O75pWw5q+UMTEiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0iY29uZHVjdGl2aXR5IGZhY3RvciByYXRpbzExIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InNpZ21hRjEiIEFsaWFzPSLlr7zljovns7vmlbDmr5RGMSIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSJjb25kdWN0aXZpdHkgZmFjdG9yIHJhdGlvZjEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ic2lnbWEyMSIgQWxpYXM9IuWvvOWOi+ezu+aVsOavlDIxIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9ImNvbmR1Y3Rpdml0eSBmYWN0b3IgcmF0aW8yMSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJzaWdtYTMxIiBBbGlhcz0i5a+85Y6L57O75pWw5q+UMzEiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0iY29uZHVjdGl2aXR5IGZhY3RvciByYXRpbzMxIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InNpZ21hNDEiIEFsaWFzPSLlr7zljovns7vmlbDmr5Q0MSIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSJjb25kdWN0aXZpdHkgZmFjdG9yIHJhdGlvNDEiLz4NCiAgPC9QYXJhR3JvdXA+DQoNCiAgPFBhcmFHcm91cCBOYW1lPSIiIEFsaWFzPSLmuJfmtYHop4Tlvovmm7Lnur8iPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJhMSIgQWxpYXM9Iuezu+aVsDEiIFVuaXQ9IiIgRGVmYXVsdD0iMTAwIiBNYXg9IjEwMDAwMCIgTWluPSIxMDAwMDAiIERpZ2l0PSIzIiBEZXNjPSJjdXJ2ZSBvZiB2ZWxvY2l0eS1wcmVzc3VyZSBncmFkaWVudCBmYWN0b3IxIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImEyIiBBbGlhcz0i57O75pWwMiIgVW5pdD0iIiBEZWZhdWx0PSIxMDAiIE1heD0iMTAwMDAwIiBNaW49IjEwMDAwMCIgRGlnaXQ9IjMiIERlc2M9ImN1cnZlIG9mIHZlbG9jaXR5LXByZXNzdXJlIGdyYWRpZW50IGZhY3RvcjIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iYTMiIEFsaWFzPSLns7vmlbAzIiBVbml0PSIiIERlZmF1bHQ9IjEwMCIgTWF4PSIxMDAwMDAiIE1pbj0iMTAwMDAwIiBEaWdpdD0iMyIgRGVzYz0iY3VydmUgb2YgdmVsb2NpdHktcHJlc3N1cmUgZ3JhZGllbnQgZmFjdG9yMyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJhNCIgQWxpYXM9Iuezu+aVsDQiIFVuaXQ9IiIgRGVmYXVsdD0iMTAwIiBNYXg9IjEwMDAwMCIgTWluPSIxMDAwMDAiIERpZ2l0PSIzIiBEZXNjPSJjdXJ2ZSBvZiB2ZWxvY2l0eS1wcmVzc3VyZSBncmFkaWVudCBmYWN0b3I0Ii8+DQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i54m55q6K5YKo5bGC5Y+C5pWwIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iRCIgQWxpYXM9IuW8ueaAp+WCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMTAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9InN0b3JhdGl2aXR5IHJhdGlvIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkQxIiBBbGlhcz0i5by55oCn5YKo5a655q+UMSIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMTAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9InN0b3JhdGl2aXR5IHJhdGlvMSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJEMiIgQWxpYXM9IuW8ueaAp+WCqOWuueavlDIiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSJzdG9yYXRpdml0eSByYXRpbzIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2FmIiBBbGlhcz0i6KOC57yd5by55oCn5YKo5a655q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJlbGFzdGljaXR5IHN0b3JhdGl2aXR5IHJhdGlvIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Im9tZWdhdiIgQWxpYXM9IuWtlOa0nuW8ueaAp+WCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciB2dWciLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2F2MSIgQWxpYXM9IuWGheWMuuWtlOa0nuW8ueaAp+WCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciB2dWciLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2F2MiIgQWxpYXM9IuWkluWMuuWtlOa0nuW8ueaAp+WCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBvdXRlciB2dWciLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2FGMSIgQWxpYXM9IuWGheWMuuijgue8neW8ueaAp+WCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciBmcmFjdHVyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYW0iIEFsaWFzPSLln7rotKjlvLnmgKflgqjlrrnmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIFVzZU1vZGU9IjUiIERlc2M9ImVsYXN0aWNpdHkgc3RvcmF0aXZpdHkgcmF0aW8gb2YgaW5uZXIgbWF0cml4Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9Im9tZWdhbTEiIEFsaWFzPSLlhoXljLrln7rotKjlvLnmgKflgqjlrrnmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIFVzZU1vZGU9IjUiIERlc2M9ImVsYXN0aWNpdHkgc3RvcmF0aXZpdHkgcmF0aW8gb2YgaW5uZXIgbWF0cml4Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9Im9tZWdhbTIiIEFsaWFzPSLlpJbljLrln7rotKjlvLnmgKflgqjlrrnmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIFVzZU1vZGU9IjUiIERlc2M9ImVsYXN0aWNpdHkgc3RvcmF0aXZpdHkgcmF0aW8gb2Ygb3V0ZXIgbWF0cml4Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9Im9tZWdhRjIiIEFsaWFzPSLlpJbljLroo4LnvJ3lvLnmgKflgqjlrrnmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9ImVsYXN0aWNpdHkgc3RvcmF0aXZpdHkgcmF0aW8gb2Ygb3V0ZXIgZnJhY3R1cmUiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2FmMSIgQWxpYXM9Iuijgue8nTHlvLnmgKflgqjlrrnmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9ImVsYXN0aWNpdHkgc3RvcmF0aXZpdHkgcmF0aW8iLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9Im9tZWdhZjIiIEFsaWFzPSLoo4LnvJ0y5by55oCn5YKo5a655q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJlbGFzdGljaXR5IHN0b3JhdGl2aXR5IHJhdGlvIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYXYiIEFsaWFzPSLmurblrZTlvLnmgKflgqjlrrnmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9ImVsYXN0aWNpdHkgc3RvcmF0aXZpdHkgcmF0aW8gb2YgaW5uZXIgdnVnIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYVYiIEFsaWFzPSLmurbmtJ7lvLnmgKflgqjlrrnmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9ImVsYXN0aWNpdHkgc3RvcmF0aXZpdHkgcmF0aW8gb2YgaW5uZXIgdnVnIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYVYxIiBBbGlhcz0i5rq25rSeMeW8ueaAp+WCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciB2dWciLz4NCiAgICA8IS0tWEEiLS0+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0idzExIiBBbGlhcz0i5bGC5LiAMeWMuuWCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjI1IiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIxc3Qgc3RvcmF0aXZpdHkgcmF0aW8gb2YgaW5uZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IncxMiIgQWxpYXM9IuWxguS4gDLljLrlgqjlrrnmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMXN0IHN0b3JhdGl2aXR5IHJhdGlvIG9mIG91dGVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ3MjEiIEFsaWFzPSLlsYLkuowx5Yy65YKo5a655q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjJuZCBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0idzIyIiBBbGlhcz0i5bGC5LqMMuWMuuWCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjI1IiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIybmQgc3RvcmF0aXZpdHkgcmF0aW8gb2Ygb3V0ZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IncxIiBBbGlhcz0i5YaF5Yy65bGC5LiA5YKo5a655q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9InN0b3JhdGl2aXR5IHJhdGlvIG9mIGlubmVyIHJlZ2lvbiBsYXllcjEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0idzIiIEFsaWFzPSLlpJbljLrlsYLkuIDlgqjlrrnmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0ic3RvcmF0aXZpdHkgcmF0aW8gb2Ygb3V0ZXIgcmVnaW9uIGxheWVyMiIvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYSIgQWxpYXM9IueqnOa1geezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJsYW1iZGExIiBBbGlhcz0i56qc5rWB57O75pWwMSIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJsYW1iZGEyIiBBbGlhcz0i56qc5rWB57O75pWwMiIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJsYW1iZGFtZiIgQWxpYXM9IuWfuui0qOWQkeijgue8neeqnOa1geezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCBvZiBpbm5lciB2dWciLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhbXYiIEFsaWFzPSLln7rotKjlkJHlrZTmtJ7nqpzmtYHns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMC4wMDAwMDEiIE1heD0iMSIgTWluPSIwIiBTY2llbnRpZmljPSIxIiBEaWdpdD0iMTAiIERlc2M9ImNyb3NzIGZsb3cgY29lZmZpY2llbnQgb2YgaW5uZXIgdnVnIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYXZmIiBBbGlhcz0i5a2U5rSe5ZCR6KOC57yd56qc5rWB57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuMDAwMDAxIiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJjcm9zcyBmbG93IGNvZWZmaWNpZW50IG9mIGlubmVyIHZ1ZyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJsYW1iZGF2MSIgQWxpYXM9IuWGheWMuuWtlOa0nueqnOa1geezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCBvZiBpbm5lciB2dWciLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhbTEiIEFsaWFzPSLlhoXljLrln7rotKjnqpzmtYHns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMC4wMDAwMDEiIE1heD0iMSIgTWluPSIwIiBTY2llbnRpZmljPSIxIiBEaWdpdD0iMTAiIERlc2M9ImNyb3NzIGZsb3cgY29lZmZpY2llbnQgb2Ygb3V0ZXIgbWF0cml4Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYXYyIiBBbGlhcz0i5aSW5Yy65a2U5rSe56qc5rWB57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjFlLTgiIE1heD0iMSIgTWluPSIwIiBTY2llbnRpZmljPSIxIiBEaWdpdD0iMTAiIERlc2M9ImNyb3NzIGZsb3cgY29lZmZpY2llbnQgb2Ygb3V0ZXIgdnVnIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYW0yIiBBbGlhcz0i5aSW5Yy65Z+66LSo56qc5rWB57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjFlLTEwIiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJjcm9zcyBmbG93IGNvZWZmaWNpZW50IG9mIG91dGVyIG1hdHJpeCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJsYW1iZGFQRjEiIEFsaWFzPSIx5Yy65bGC56qc57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjFlLTUiIE1heD0iMSIgTWluPSIxZS0xNSIgRGlnaXQ9IjMiIERlc2M9ImxheWVyIGNyb3NzZmxvdyBjb2VmZmljaWVudCBvZiBpbm5lciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhUEYyIiBBbGlhcz0iMuWMuuWxgueqnOezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxZS01IiBNYXg9IjEiIE1pbj0iMWUtMTUiIERpZ2l0PSIzIiBEZXNjPSJsYXllciBjcm9zc2Zsb3cgY29lZmZpY2llbnQgb2Ygb3V0ZXIgcmVnaW9uIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhcGYiIEFsaWFzPSLlrZTpmpnlkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMC4wMDAwMDEiIE1heD0iMSIgTWluPSIwIiBTY2llbnRpZmljPSIxIiBEaWdpdD0iMTAiIERlc2M9ImNyb3NzIGZsb3cgY29lZmZpY2llbnQgb2YgaW5uZXIgdnVnIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJsYW1iZGF2ZiIgQWxpYXM9Iua6tuWtlOWQkeijgue8neeqnOa1geezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCBvZiBpbm5lciB2dWciLz4NCiAgICA8IS0tWEEiLS0+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iTUt1IiBBbGlhcz0i5rWB5bqmIiBVbml0PSJtRC8obVBhLnMpIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIFVzZU1vZGU9IjciIERlc2M9Im1vYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik0iIEFsaWFzPSLmtYHluqbmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0ibW9iaWxpdHkgcmF0aW8iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTUwxIiBBbGlhcz0i5bGC5LiA5rWB5bqm5q+UIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9Im1vYmlsaXR5IHJhdGlvIG9mIGxheWVyMSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNTDIiIEFsaWFzPSLlsYLkuozmtYHluqbmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0ibW9iaWxpdHkgcmF0aW8gb2YgbGF5ZXIyIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik0xMSIgQWxpYXM9Iua1geW6puavlDExIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMSIgTWluPSIxIiBEaWdpdD0iMyIgRGVzYz0ibW9iaWxpdHkgcmF0aW8xMSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNRjEiIEFsaWFzPSLmtYHluqbmr5RGMSIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwMDAiIE1pbj0iMWUtMDMiIERpZ2l0PSIzIiBEZXNjPSJtb2JpbGl0eSByYXRpb2YxIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik0yMSIgQWxpYXM9Iua1geW6puavlDIxIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwMCIgTWluPSIxZS0wMyIgRGlnaXQ9IjMiIERlc2M9Im1vYmlsaXR5IHJhdGlvMjEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTTMxIiBBbGlhcz0i5rWB5bqm5q+UMzEiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMDAwIiBNaW49IjFlLTAzIiBEaWdpdD0iMyIgRGVzYz0ibW9iaWxpdHkgcmF0aW8zMSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNNDEiIEFsaWFzPSLmtYHluqbmr5Q0MSIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwMDAiIE1pbj0iMWUtMDMiIERpZ2l0PSIzIiBEZXNjPSJtb2JpbGl0eSByYXRpbzQxIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlgxMSIgQWxpYXM9IuWxguS4gDHljLrmtYHliqjns7vmlbDmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0iMXN0IHRyYW5zbWlzc2liaWxpdHkgb2YgaW5uZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlgxMiIgQWxpYXM9IuWxguS4gDLljLrmtYHliqjns7vmlbDmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0iMXN0IHRyYW5zbWlzc2liaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlgyMSIgQWxpYXM9IuWxguS6jDHljLrmtYHliqjns7vmlbDmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0iMm5kIHRyYW5zbWlzc2liaWxpdHkgb2YgaW5uZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlgyMiIgQWxpYXM9IuWxguS6jDLljLrmtYHliqjns7vmlbDmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0iMm5kIHRyYW5zbWlzc2liaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlgxIiBBbGlhcz0i5YaF5Yy65bGC5LiA5rWB5Yqo57O75pWw5q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9InRyYW5zbWlzc2liaWxpdHkgb2YgaW5uZXIgcmVnaW9uIGxheWVyMSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJYMiIgQWxpYXM9IuWkluWMuuWxguS4gOa1geWKqOezu+aVsOavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjI1IiBNYXg9IjEiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSJ0cmFuc21pc3NpYmlsaXR5IG9mIG91dGVyIHJlZ2lvbiBsYXllcjIiLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJnYW1tYSIgQWxpYXM9IuW6lOWKm+aVj+aEn+ezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAxIiBNYXg9IjAuMSIgTWluPSIxZS0xMCIgRGlnaXQ9IjUiIERlc2M9InN0cmVzcyBzZW5zaXRpdml0eSBjb2VmZmljaWVudCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJHIiBBbGlhcz0i5ZCv5Yqo5Y6L5Yqb5qKv5bqmIiBVbml0PSJNUGEvbSIgRGVmYXVsdD0iMC4wMDEiIE1heD0iMTAiIE1pbj0iMC4wIiBTY2llbnRpZmljPSIxIiBEaWdpdD0iMTAiIERlc2M9InN0YXJ0aW5nIHByZXNzdXJlIGdyYWRpZW50Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImJ3ZiIgQWxpYXM9IuW6leawtOezu+aVsCIgVW5pdD0iJSIgRGVmYXVsdD0iMC41IiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJib3R0b20gd2F0ZXIgY29lZmZpY2llbnQiLz4NCg0KICAgIDxQYXJhSXRlbSAJTmFtZT0iS1JmdiIgQWxpYXM9Iuijgue8nea6tuWtlOa4l+mAj+eOh+avlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iUGVybWVhYmlsaXR5IHJhdGlvIChmcmFjdHVyZS8obWF0cml4K2ZyYWN0dXJlKSkgIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDwhLS08UGFyYUl0ZW0gCU5hbWU9IktSZnYiIEFsaWFzPSLoo4LnvJ3murbmtJ7muJfpgI/njofmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC41IiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IlBlcm1lYWJpbGl0eSByYXRpbyAoZnJhY3R1cmUvKGNhdmUrZnJhY3R1cmUpKSAiLz4gWEEiLS0+DQogICAgPFBhcmFJdGVtIAlOYW1lPSJBZiIgQWxpYXM9Iuijgue8nei/h+a1gemdouenryIgVW5pdD0ibV4yIiBEZWZhdWx0PSIwLjUiIE1heD0iMTAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJGbG93IGFyZWEgKGZyYWN0dXJlKSAiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIAlOYW1lPSJBZjEiIEFsaWFzPSLoo4LnvJ0x6L+H5rWB6Z2i56evIiBVbml0PSJtXjIiIERlZmF1bHQ9IjAuNSIgTWF4PSIxMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IkZsb3cgYXJlYSAoZnJhY3R1cmUxKSAiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIAlOYW1lPSJBZjIiIEFsaWFzPSLoo4LnvJ0y6L+H5rWB6Z2i56evIiBVbml0PSJtXjIiIERlZmF1bHQ9IjAuNSIgTWF4PSIxMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IkZsb3cgYXJlYSAoZnJhY3R1cmUyKSAiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIAlOYW1lPSJMZiIgQWxpYXM9Iuijgue8nemVv+W6piIgVW5pdD0ibSIgRGVmYXVsdD0iMTAwIiBNYXg9IjEwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9Ikxlbmd0aCAoZnJhY3R1cmUpICIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gCU5hbWU9IkxmMSIgQWxpYXM9Iuijgue8nTHplb/luqYiIFVuaXQ9Im0iIERlZmF1bHQ9IjEwMCIgTWF4PSIxMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJMZW5ndGggKGZyYWN0dXJlMSkgIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSAJTmFtZT0iTGYyIiBBbGlhcz0i6KOC57ydMumVv+W6piIgVW5pdD0ibSIgRGVmYXVsdD0iMjAwIiBNYXg9IjEwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9Ikxlbmd0aCAoZnJhY3R1cmUyKSAiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIAlOYW1lPSJWdiIgQWxpYXM9Iua6tua0nuS9k+enryIgVW5pdD0ibV4zIiBEZWZhdWx0PSIxMDAwMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJWb2x1bWUgKGNhdmUpICIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gCU5hbWU9IlZ2MSIgQWxpYXM9Iua6tua0njHkvZPnp68iIFVuaXQ9Im1eMyIgRGVmYXVsdD0iNTAwMDAiIE1heD0iMTAwMDAwMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iVm9sdW1lIChjYXZlMSkgIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSAJTmFtZT0iVnYyIiBBbGlhcz0i5rq25rSeMuS9k+enryIgVW5pdD0ibV4zIiBEZWZhdWx0PSIxMDAwMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJ2b2x1bWUgKGNhdmUyKSAiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIAlOYW1lPSJSdiIgQWxpYXM9Iua6tua0nuWNiuW+hCIgVW5pdD0ibSIgRGVmYXVsdD0iMSIgTWF4PSIxMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IlJhZGl1cyAoY2F2ZSkgIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSAJTmFtZT0ibGFtYmRhdjF3IiBBbGlhcz0i5rq25rSeMeWQkeS6leetkueqnOa1geezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iQ3Jvc3NmbG93IGNvZWZmaWNpZW50IChjYXZlMS0gd2VsbGJvcmUpICIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gCU5hbWU9ImxhbWJkYXYxdjIiIEFsaWFzPSLmurbmtJ4x5ZCR5rq25rSeMueqnOa1geezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iQ3Jvc3NmbG93IGNvZWZmaWNpZW50IChjYXZlMS0gY2F2ZTIpICIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gCU5hbWU9ImxhbWJkYXYydyIgQWxpYXM9Iua6tua0njLlkJHkupXnrZLnqpzmtYHns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMC41IiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IkNyb3NzZmxvdyBjb2VmZmljaWVudCAoY2F2ZTItIHdlbGxib3JlKSIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8IS0tPFBhcmFJdGVtIAlOYW1lPSJLUmYxZjIiIEFsaWFzPSLoo4LnvJ0x6KOC57ydMua4l+mAj+eOh+avlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iVGhlIHJhdGlvIG9mIHRoZSBwcm9kdWN0IG9mIHBlcm1lYWJpbGl0eSBhbmQgZmxvdyBhcmVhIChmcmFjdHVyZSAxLyhmcmFjdHVyZSAxK2ZyYWN0dXJlIDIpKSIvPiBYQSItLT4NCg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IiIgQWxpYXM9IuWFtuS7luWPguaVsCI+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iaHciIEFsaWFzPSLlsITlrZTpq5jluqYiIFVuaXQ9Im0iIERlZmF1bHQ9IjEiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJsZW5ndGggb2YgY29ubmVjdGVkIHNlY3Rpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iWmEiIEFsaWFzPSLlsITlvIDmrrXpobbpg6jkvY3nva4iIFVuaXQ9Im0iIERlZmF1bHQ9IjIuNSIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9InRvcCBwb3NpdGlvbiBvZiBjb25uZWN0ZWQgc2VjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ6dyIgQWxpYXM9IuWeguWQkeS6leS9jSIgVW5pdD0ibSIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IueUn+S6p+auteS4reW/g+i3neWCqOWxguW6lemDqOi3neemuyh2ZXJ0aWNhbCB3ZWxsIHBvc2l0aW9uKSIvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9InhmIiBBbGlhcz0i6KOC57yd5Y2K6ZW/IiBVbml0PSJtIiBEZWZhdWx0PSI1MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjYiIERlc2M9ImZyYWN0dXJlIGhhbGYtbGVuZ3RoIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IndmIiBBbGlhcz0i6KOC57yd5a695bqmIiBVbml0PSJtIiBEZWZhdWx0PSIwLjAwMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNiIgRGVzYz0iZnJhY3R1cmUgd2lkdGgiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iRmMiIEFsaWFzPSLoo4LnvJ3lr7zmtYHog73lipsiIFVuaXQ9Im1ELm0iIERlZmF1bHQ9IjEwMDAwIiBNYXg9IjFlKzMwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZnJhY3R1cmUgY29uZHVjdGl2aXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkZjMSIgQWxpYXM9Iuijgue8neWvvOa1geiDveWKmzEiIFVuaXQ9Im1ELm0iIERlZmF1bHQ9IjE1MDAwIiBNYXg9IjFlKzMwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZnJhY3R1cmUgY29uZHVjdGl2aXR5MSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJGYzIiIEFsaWFzPSLoo4LnvJ3lr7zmtYHog73lipsyIiBVbml0PSJtRC5tIiBEZWZhdWx0PSIxMDAwMCIgTWF4PSIxZSszMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImZyYWN0dXJlIGNvbmR1Y3Rpdml0eTIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iRmMzIiBBbGlhcz0i6KOC57yd5a+85rWB6IO95YqbMyIgVW5pdD0ibUQubSIgRGVmYXVsdD0iNTAwMCIgTWF4PSIxZSszMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImZyYWN0dXJlIGNvbmR1Y3Rpdml0eTMiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iRmNEIiBBbGlhcz0i5peg6YeP57qy6KOC57yd5a+85rWB6IO95YqbIiBVbml0PSIiIERlZmF1bHQ9IjUwMDAiIE1heD0iMWUrMzAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBVc2VNb2RlPSIzIiBEZXNjPSJmcmFjdHVyZSBjb25kdWN0aXZpdHkgZGltZW5zaW9ubGVzcyIvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9InhmMSIgQWxpYXM9Iuijgue8nemVv+W6pjEiIFVuaXQ9Im0iIERlZmF1bHQ9IjIwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iNiIgRGVzYz0iZnJhY3R1cmUgaGFsZi1sZW5ndGgxIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InhmMiIgQWxpYXM9Iuijgue8nemVv+W6pjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjQwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iNiIgRGVzYz0iZnJhY3R1cmUgaGFsZi1sZW5ndGgyIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InhmMyIgQWxpYXM9Iuijgue8nemVv+W6pjMiIFVuaXQ9Im0iIERlZmF1bHQ9IjYwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iNiIgRGVzYz0iZnJhY3R1cmUgaGFsZi1sZW5ndGgzIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Inhmc3VtIiBBbGlhcz0i5oC76KOC57yd6ZW/5bqmIiBVbml0PSJtIiBEZWZhdWx0PSI2MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgVXNlTW9kZT0iMyIgRGlnaXQ9IjMiIERlc2M9InRvdGFsIGZyYWN0dXJlIGhhbGYtbGVuZ3RoIi8+DQogICAgDQogICAgPFBhcmFJdGVtIE5hbWU9IkN4ZiIgQWxpYXM9Iuijgue8neWNiumVv+aUvue8qeezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwMCIgTWluPSIxZS0wMiIgRGlnaXQ9IjMiIERlc2M9ImZyYWN0dXJlIGhhbGYtbGVuZ3RoMyIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ0ZjIiBBbGlhcz0i6KOC57yd5a+85rWB6IO95Yqb5pS+57yp57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwIiBNaW49IjFlLTAyIiBEaWdpdD0iMyIgRGVzYz0iZnJhY3R1cmUgaGFsZi1sZW5ndGgzIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJGY18xIiBBbGlhcz0i5YKo5bGCMeijgue8neWvvOa1geiDveWKmyIgVW5pdD0ibUQubSIgRGVmYXVsdD0iMTUwMDAiIE1heD0iMWUrMzAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJmcmFjdHVyZSBjb25kdWN0aXZpdHkxIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJGY18yIiBBbGlhcz0i5YKo5bGCMuijgue8neWvvOa1geiDveWKmyIgVW5pdD0ibUQubSIgRGVmYXVsdD0iMTAwMDAiIE1heD0iMWUrMzAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJmcmFjdHVyZSBjb25kdWN0aXZpdHkyIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJGY18zIiBBbGlhcz0i5YKo5bGCM+ijgue8neWvvOa1geiDveWKmyIgVW5pdD0ibUQubSIgRGVmYXVsdD0iNTAwMCIgTWF4PSIxZSszMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImZyYWN0dXJlIGNvbmR1Y3Rpdml0eTMiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9InhmXzEiIEFsaWFzPSLlgqjlsYIx6KOC57yd5Y2K6ZW/IiBVbml0PSJtIiBEZWZhdWx0PSIyMCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjYiIERlc2M9ImZyYWN0dXJlIGhhbGYtbGVuZ3RoMSIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieGZfMiIgQWxpYXM9IuWCqOWxgjLoo4LnvJ3ljYrplb8iIFVuaXQ9Im0iIERlZmF1bHQ9IjQwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iNiIgRGVzYz0iZnJhY3R1cmUgaGFsZi1sZW5ndGgyIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ4Zl8zIiBBbGlhcz0i5YKo5bGCM+ijgue8neWNiumVvyIgVW5pdD0ibSIgRGVmYXVsdD0iNjAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSI2IiBEZXNjPSJmcmFjdHVyZSBoYWxmLWxlbmd0aDMiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9InEiIEFsaWFzPSLov5HkupXmrrXmtYHph4/mr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC41IiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjMiIERlc2M9InJhdGUgcmF0aW8iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icTEiIEFsaWFzPSLov5HkupXmrrXmtYHph4/mr5QxIiBVbml0PSIiIERlZmF1bHQ9IjAuNCIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSIzIiBEZXNjPSJyYXRlIHJhdGlvMSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJxMiIgQWxpYXM9Iui/keS6leautea1gemHj+avlDIiIFVuaXQ9IiIgRGVmYXVsdD0iMC4zIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjMiIERlc2M9InJhdGUgcmF0aW8yIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkUiIEFsaWFzPSLlubPpnaLlvLnmgKfmqKHph48iIFVuaXQ9Ik1QYSIgRGVmYXVsdD0iMTAwMDAiIE1heD0iMTAwMDAwIiBNaW49IjEwMDAiIERpZ2l0PSIzIiBEZXNjPSJwbGFuZS1zdHJhaW4gbW9kdWx1cyIvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IkRpZmZkcCIgQWxpYXM9IuWHneaekOS9k+ezu+S4pOebuOWBj+W3ruezu+aVsCIgVW5pdD0iTVBhIiBEZWZhdWx0PSIxMDAwMCIgTWF4PSIxMDAwMDAiIE1pbj0iMTAwMCIgRGlnaXQ9IjMiIERlc2M9IiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJEZXdQIiBBbGlhcz0i5Yed5p6Q5rCU6Zyy54K55Y6L5YqbIiBVbml0PSJNUGEiIERlZmF1bHQ9IjEwMDAwIiBNYXg9IjEwMDAwMCIgTWluPSIxMDAwIiBEaWdpdD0iMyIgRGVzYz0iIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImtzdGFyZnYiIEFsaWFzPSLoo4LnvJ3lrZTmtJ7muJfpgI/njofmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC41IiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjUiIERlc2M9IiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJrc3RhcmZtIiBBbGlhcz0i6KOC57yd5Z+66LSo5riX6YCP546H5q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuNSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI1IiBEZXNjPSIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iYSIgQWxpYXM9IuWQuOmZhOezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNSIgRGVzYz0iIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImJldGEiIEFsaWFzPSLlubLmibDns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iLTEiIERpZ2l0PSI1IiBEZXNjPSIiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQXJlYSIgQWxpYXM9IuayueiXj+mdouenryIgVW5pdD0ibV4yIiBEZWZhdWx0PSIxMDAwMCIgTWF4PSIxZSszMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9InJlc2Vydm9pciBhcmVhIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iWGZQb3NYIiBBbGlhcz0i6KOC57yd5Z2Q5qCHWCIgVW5pdD0ibSIgRGVmYXVsdD0iMCIgRGlnaXQ9IjMiIERlc2M9IlhmIFBvcyBYIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlhmUG9zWSIgQWxpYXM9Iuijgue8neWdkOagh1kiIFVuaXQ9Im0iIERlZmF1bHQ9IjAiIERpZ2l0PSIzIiBEZXNjPSJYZiBQb3MgWSIvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9Im5mIiBBbGlhcz0i6KOC57yd5p2h5pWwIiBEZWZhdWx0PSIyIiBNaW49IjIiIE1heD0iMTAwMCIgUGFyYVR5cGU9IjciIERlc2M9Im51bWJlciBvZiBsaXF1aWQgc2VjdGlvbnMiIFN1Ykl0ZW1zPSJYZlBvc1g7WGZQb3NZO3hmO0ZjIi8+DQoNCiAgPC9QYXJhR3JvdXA+DQoNCiAgPFBhcmFHcm91cCBOYW1lPSJCZHkiIEFsaWFzPSLovrnnlYwiID4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ0b3AiIEFsaWFzPSLpobbovrnnlYwiIExheWVyTW9kZT0iMiIgRGVmYXVsdD0iMCIgUGFyYVR5cGU9IjYiIEJkeVR5cGU9IjEiIEl0ZW1PcHRpb25zPSLkuI3muJfpgI875a6a5Y6LIiBEZXNjPSJ0b3AgYm91bmRhcnkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iYm90dG9tIiBBbGlhcz0i5bqV6L6555WMIiBMYXllck1vZGU9IjIiIERlZmF1bHQ9IjEiIFBhcmFUeXBlPSI2IiBCZHlUeXBlPSIxIiBJdGVtT3B0aW9ucz0i5LiN5riX6YCPO+WumuWOiyIgRGVzYz0iYm90dG9tIGJvdW5kYXJ5Ii8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0ieDEiIEFsaWFzPSLovrnnlYzot53nprsxIiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjUwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0iYm91bmRhcnkgZGlzdGFuY2UxIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IngyIiBBbGlhcz0i6L6555WM6Led56a7MiIgTGF5ZXJNb2RlPSIyIiBVbml0PSJtIiBEZWZhdWx0PSI1MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIEJkeVR5cGU9IjAiIERlc2M9ImJvdW5kYXJ5IGRpc3RhbmNlMiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ4MyIgQWxpYXM9Iui+ueeVjOi3neemuzMiIExheWVyTW9kZT0iMiIgVW5pdD0ibSIgRGVmYXVsdD0iNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBCZHlUeXBlPSIwIiBEZXNjPSJib3VuZGFyeSBkaXN0YW5jZTMiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieDQiIEFsaWFzPSLovrnnlYzot53nprs0IiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjUwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0iYm91bmRhcnkgZGlzdGFuY2U0Ii8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0ibmUiIEFsaWFzPSLljJfovrnnlYwiIExheWVyTW9kZT0iMiIgVW5pdD0ibSIgRGVmYXVsdD0iNDAwIiBNYXg9IjEwMDAwIiBNaW49IjEiIERpZ2l0PSIzIiBCZHlUeXBlPSIwIiBEZXNjPSJzcXVhcmUgYm91bmRhcnkgZGlzdGFuY2Uobm9ydGgpIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InNlIiBBbGlhcz0i5Y2X6L6555WMIiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjQwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0ic3F1YXJlIGJvdW5kYXJ5IGRpc3RhbmNlKHNvdXRoKSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ3ZSIgQWxpYXM9Iuilv+i+ueeVjCIgTGF5ZXJNb2RlPSIyIiBVbml0PSJtIiBEZWZhdWx0PSI0MDAiIE1heD0iMTAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIEJkeVR5cGU9IjAiIERlc2M9InNxdWFyZSBib3VuZGFyeSBkaXN0YW5jZSh3ZXN0KSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJlZSIgQWxpYXM9IuS4nOi+ueeVjCIgTGF5ZXJNb2RlPSIyIiBVbml0PSJtIiBEZWZhdWx0PSI0MDAiIE1heD0iMTAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIEJkeVR5cGU9IjAiIERlc2M9InNxdWFyZSBib3VuZGFyeSBkaXN0YW5jZShlYXN0KSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJyZSIgQWxpYXM9IuWchuW9oui+ueeVjCIgTGF5ZXJNb2RlPSIyIiBVbml0PSJtIiBEZWZhdWx0PSI0MDAiIE1heD0iMTAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIEJkeVR5cGU9IjAiIERlc2M9ImNpcmN1bGFyIGJvdW5kYXJ5IGRpc3RhbmNlIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3Jvc3NBbmdsZSIgQWxpYXM9Iui+ueeVjOWkueinkiIgTGF5ZXJNb2RlPSIyIiBNaW49IjAiIE1heD0iMTgwIiBVbml0PSLCsCIgRGVmYXVsdD0iOTAiIERpZ2l0PSIxIiBUaXBzPSIiIERlc2M9ImFuZ2xlIG9mIGJvdW5kYXJ5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJyZV8xIiBBbGlhcz0i5YKo5bGCMeWchuW9oui+ueeVjCIgTGF5ZXJNb2RlPSIyIiBVbml0PSJtIiBEZWZhdWx0PSI0MDAiIE1heD0iMTAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIEJkeVR5cGU9IjAiIERlc2M9ImNpcmN1bGFyIGJvdW5kYXJ5IGRpc3RhbmNlIi8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9InJlXzIiIEFsaWFzPSLlgqjlsYIy5ZyG5b2i6L6555WMIiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjQwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0iY2lyY3VsYXIgYm91bmRhcnkgZGlzdGFuY2UiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icmVfMyIgQWxpYXM9IuWCqOWxgjPlnIblvaLovrnnlYwiIExheWVyTW9kZT0iMiIgVW5pdD0ibSIgRGVmYXVsdD0iNDAwIiBNYXg9IjEwMDAwIiBNaW49IjEiIERpZ2l0PSIzIiBCZHlUeXBlPSIwIiBEZXNjPSJjaXJjdWxhciBib3VuZGFyeSBkaXN0YW5jZSIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ0aGV0YSIgQWxpYXM9IuinkuW6piIgTGF5ZXJNb2RlPSIyIiBVbml0PSLCsCIgRGVmYXVsdD0iOTAiIE1heD0iMTgwIiBNaW49IjAiIERpZ2l0PSIxIiBEZXNjPSJhbmdsZSBvZiBib3VuZGFyeSIvPg0KDQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i5rWB5L2T5oCn6LSoIj4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJaZyIgQWxpYXM9IuawlOS9k+WBj+W3ruWboOWtkCIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwIiBEaWdpdD0iNCIgRGVzYz0iWiBmYWN0b3IiLz4NCiAgICA8IS0tPFBhcmFJdGVtIE5hbWU9IkJnIiBBbGlhcz0i5rCU5L2T56ev57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiLz4tLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ2ciIEFsaWFzPSLmsJTkvZPljovnvKnns7vmlbAiIFVuaXQ9IjEvTVBhIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlJob2ciIEFsaWFzPSLmsJTkvZPlr4bluqYiIFVuaXQ9ImtnL21eMyIvPg0KICAgIDwhLS08UGFyYUl0ZW0gTmFtZT0iTWl1ZyIgQWxpYXM9IuawlOm7j+W6piIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMiIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImdhcyB2aXNjb3NpdHkiLz4tLT4NCiAgICA8IS0tPFBhcmFJdGVtIE5hbWU9IkRpZmZkcCIgQWxpYXM9IuWHneaekOS9k+ezu+S4pOebuOWBj+W3ruezu+aVsCIgVW5pdD0iTVBhIiBEZWZhdWx0PSIxMDAwMCIgTWF4PSIxMDAwMDAiIE1pbj0iMTAwMCIgRGlnaXQ9IjMiIERlc2M9IiIvPi0tPg0KICAgIDwhLS08UGFyYUl0ZW0gTmFtZT0iRGV3UCIgQWxpYXM9IuWHneaekOawlOmcsueCueWOi+WKmyIgVW5pdD0iTVBhIiBEZWZhdWx0PSIxMDAwMCIgTWF4PSIxMDAwMDAiIE1pbj0iMTAwMCIgRGlnaXQ9IjMiIERlc2M9IiIvPi0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IlBiIiBBbGlhcz0i5rOh54K55Y6L5YqbIiBVbml0PSJNUGEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUnMiIEFsaWFzPSLmsJTmsrnmr5QiIFVuaXQ9Im1eMy9tXjMiIERlZmF1bHQ9IjEwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZ2FzIG9pbCByYXRpbyIvPg0KICAgIDwhLS08UGFyYUl0ZW0gTmFtZT0iQm8iIEFsaWFzPSLmsrnkvZPnp6/ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJmb3JtYXRpb24gdm9sdW1lIGZhY3RvciIvPi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDbyIgQWxpYXM9IuayueWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUmhvbyIgQWxpYXM9IuayueWvhuW6piIgVW5pdD0ia2cvbV4zIi8+DQogICAgPCEtLTxQYXJhSXRlbSBOYW1lPSJNaXVvIiBBbGlhcz0i5rK555u46buP5bqmIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIxNTAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJvaWwgdmlzY29zaXR5Ii8+LS0+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iUnN3IiBBbGlhcz0i5rCU5rC05q+UIiBVbml0PSJtXjMvbV4zIiBEZWZhdWx0PSIyLjAzIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZ2FzIHdhdGVyIHJhdGlvIi8+DQogICAgPCEtLTxQYXJhSXRlbSBOYW1lPSJCdyIgQWxpYXM9IuawtOS9k+enr+ezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9ImZvcm1hdGlvbiB2b2x1bWUgZmFjdG9yIi8+LS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IkJ3IiBBbGlhcz0i5rC05L2T56ev57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3ciIEFsaWFzPSLmsLTljovnvKnns7vmlbAiIFVuaXQ9IjEvTVBhIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlJob3ciIEFsaWFzPSLmsLTlr4bluqYiIFVuaXQ9ImtnL21eMyIvPg0KICAgIDwhLS08UGFyYUl0ZW0gTmFtZT0iTWl1dyIgQWxpYXM9IuawtOebuOm7j+W6piIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMiIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IndhdGVyIHZpc2Nvc2l0eSIvPi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXV3IiBBbGlhcz0i5rC055u46buP5bqmIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIyIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0id2F0ZXIgdmlzY29zaXR5Ii8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0icm8iIEFsaWFzPSLmsrnnm7jmr5Tph40iIFVuaXQ9IiIgRGVmYXVsdD0iMC44IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0ib2lsIGdyYXZpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icmciIEFsaWFzPSLmsJTnm7jmr5Tph40iIFVuaXQ9IiIgRGVmYXVsdD0iMC43IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZ2FzIGdyYXZpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUHNlcCIgQWxpYXM9IuWIhuemu+WZqOWOi+WKmyIgVW5pdD0iTVBhIiBEZWZhdWx0PSIwLjc5MTExIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0ic2VwYXJhdG9yIHByZXNzdXJlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlRzZXAiIEFsaWFzPSLliIbnprvlmajmuKnluqYiIFVuaXQ9IkYiIERlZmF1bHQ9IjYwIiBNYXg9IjEwMDAwIiBNaW49Ii00NjAiIERpZ2l0PSIzIiBEZXNjPSJzZXBhcmF0b3IgdGVtcGVyYXR1cmUiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icnQiIEFsaWFzPSLmsrnol4/muKnluqYiIFVuaXQ9IuKEgyIgRGVmYXVsdD0iMTAwIiBNYXg9IjEwMDAwIiBNaW49Ii0yNzQiIERpZ2l0PSIzIiBEZXNjPSJyZXNlcnZvaXIgdGVtcGVyYXR1cmUiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieWciIEFsaWFzPSLmsJTkvZPmkanlsJTliIbmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMC41MDI0NSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSIzIiBEZXNjPSJnYXMgbW9sZSBmcmFjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ0YiIgQWxpYXM9IuayuOeCuea4qeW6piIgVW5pdD0i4oSDIiBEZWZhdWx0PSI4OC4yIiBNYXg9IjEwMDAwIiBNaW49Ii0yNzQiIERpZ2l0PSIzIiBEZXNjPSJidWJibGUgdGVtcGVyYXR1cmUiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icHdTQyIgQWxpYXM9Iuagh+WGteS4i+awtOWvhuW6piIgVW5pdD0ia2cvbV4zIiBEZWZhdWx0PSIxMDAwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTUiIERpZ2l0PSIzIiBEZXNjPSJ3YXRlciBkZW5zaXR5IFNDIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InBnU0MiIEFsaWFzPSLmoIflhrXkuIvnqbrmsJTlr4bluqYiIFVuaXQ9ImtnL21eMyIgRGVmYXVsdD0iMS4yOTMiIE1heD0iMTAwMDAiIE1pbj0iMWUtNSIgRGlnaXQ9IjMiIERlc2M9ImFpciBkZW5zaXR5IFNDIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InlDTzIiIEFsaWFzPSLkuozmsKfljJbnorPmkanlsJTliIbmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjMiIERlc2M9IkNPMiBtb2xlIGZyYWN0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InlOMiIgQWxpYXM9IuawruawlOaRqeWwlOWIhuaVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0iTjIgbW9sZSBmcmFjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ5SDJTIiBBbGlhcz0i56Gr5YyW5rCi5pGp5bCU5YiG5pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSIzIiBEZXNjPSJIMlMgbW9sZSBmcmFjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ0YyIgQWxpYXM9IuS4tOeVjOa4qeW6piIgVW5pdD0i4oSDIiBEZWZhdWx0PSItNjAuNSIgTWF4PSIxMDAwMCIgTWluPSItMjc0IiBEaWdpdD0iMyIgRGVzYz0iY3JpdGljYWwgdGVtcGVyYXR1cmUiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0idHByIiBBbGlhcz0i5a+55q+U5rip5bqmIiBVbml0PSIiIERlZmF1bHQ9IjIuMSIgTWF4PSIxMDAwMCIgTWluPSIxZS01IiBEaWdpdD0iMyIgRGVzYz0iY29ycmVzcG9uZGluZyB0ZW1wZXJhdHVyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQYyIgQWxpYXM9IuS4tOeVjOWOi+WKmyIgVW5pdD0iTVBhIiBEZWZhdWx0PSI0LjYiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJjcml0aWNhbCBwcmVzc3VyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQcHIiIEFsaWFzPSLlr7nmr5TljovlipsiIFVuaXQ9Ik1QYSIgRGVmYXVsdD0iNy4yIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iY29ycmVzcG9uZGluZyBwcmVzc3VyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNZyIgQWxpYXM9IuawlOS9k+aRqeWwlOi0qOmHjyIgVW5pdD0iZy9tb2wiIERlZmF1bHQ9IjE2IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZ2FzIG1vbGUgbWFzcyIvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IndzIiBBbGlhcz0i55+/5YyW5bqmIiBVbml0PSJtZy9MIiBEZWZhdWx0PSI1MDAwMDAiIE1heD0iMTAwMDAwMCIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0ibWFzcyBmcmFjdHVyZSBvZiBzYWx0Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9InJwIiBBbGlhcz0i5rK56JeP5Y6L5YqbIiBVbml0PSJNUGEiIERlZmF1bHQ9IjMzLjQiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJyZXNlcnZvaXIgcHJlc3N1cmUiLz4NCiAgPC9QYXJhR3JvdXA+DQoNCiAgPFBhcmFHcm91cCBOYW1lPSIiIEFsaWFzPSJUT0RPX3d4ZCI+DQogICAgPFBhcmFJdGVtIE5hbWU9IlFnIiBBbGlhcz0i5LiA54K55rOV5Lqn6YePIiBVbml0PSIxMF40Km1eMy9kIiBEZWZhdWx0PSI0NSIgTWF4PSIxZSszMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0icHJvZHVjdGl2aXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlB3ZiIgQWxpYXM9IuS4gOeCueazlea1geWOiyIgVW5pdD0iTVBhIiBEZWZhdWx0PSIyOS4xIiBNYXg9IjFlKzMwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJCb3R0b20gaG9sZSBwcmVzc3VyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSc3EiIEFsaWFzPSJkUy9kUSIgVW5pdD0iMS9tXjMvZCIgRGVmYXVsdD0iMC4wMDAwMSIgTWF4PSIxMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IlJhdGlvIG9mIFMgdG8gUSIvPg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IiIgQWxpYXM9IlRPRE9fd3hkIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieHciIEFsaWFzPSLkupXkvY3nva54IiBVbml0PSJtIiBEZWZhdWx0PSIyNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieXciIEFsaWFzPSLkupXkvY3nva55IiBVbml0PSJtIiBEZWZhdWx0PSIyNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieGUiIEFsaWFzPSLlnLDlsYLplb/luqYiIFVuaXQ9Im0iIERlZmF1bHQ9IjUwMCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ5ZSIgQWxpYXM9IuWcsOWxguWuveW6piIgVW5pdD0ibSIgRGVmYXVsdD0iNTAwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImNkcyIgQWxpYXM9Iue7hOWQiOWPguaVsENEZTJTIiBVbml0PSJtIiBEZWZhdWx0PSIxLjAiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSIiLz4NCiAgPC9QYXJhR3JvdXA+DQoNCg0KICA8UGFyYUdyb3VwIE5hbWU9Ik1vZGVsT3B0aW9uIiBBbGlhcz0i5qih5Z6L6YCJ6aG5Ij4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTW9XZWwiIEFsaWFzPSLkupXlnovnsbvlnosiIERlZmF1bHQ9IjEiIFBhcmFUeXBlPSIxMSIgSXRlbU9wdGlvbnM9IuWujOWFqOaJk+W8gOebtOS6lTvpg6jliIbmiZPlvIDnm7TkupU75a6M5YWo5omT5byA5Y6L6KOC55u05LqVKOWdh+WMgOa1gemHjyk75a6M5YWo5omT5byA5Y6L6KOC55u05LqVKOaXoOmZkOWvvOa1gSkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTW9SZXMiIEFsaWFzPSLlgqjlsYLnsbvlnosiIERlZmF1bHQ9IjAiIFBhcmFUeXBlPSIxMSIgSXRlbU9wdGlvbnM9IuWdh+i0qDvlj4zph43lrZTpmpnku4votKjmi5/nqLPmgIHljZXmuJc75Y+M6YeN5a2U6ZqZ5LuL6LSo5ouf56iz5oCB5Y+M5riXO+S4ieWtlOWNlea4l+aLn+eos+aAgSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNb1dicyIgQWxpYXM9IuS6leWCqOexu+WeiyIgTGF5ZXJNb2RlPSIxIiBEZWZhdWx0PSIwIiBQYXJhVHlwZT0iMTEiIEl0ZW1PcHRpb25zPSLml6DkupXlgqg75a6a5LqV5YKoO+WPmOS6leWCqChGYWlyKTvlj5jkupXlgqgoSGVnZW1hbikiLz4NCiAgPC9QYXJhR3JvdXA+DQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i6L6555WMIiA+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1vQmR5IiBBbGlhcz0i6L6555WM57G75Z6LIiBMYXllck1vZGU9IjIiIERlZmF1bHQ9IjAiIFBhcmFUeXBlPSIxMSIgSXRlbU9wdGlvbnM9IuaXoOmZkOWkpzvljZXkuIDovrnnlYw75bmz6KGM6L6555WMO1XlnovovrnnlYw75Lqk5Y+J6L6555WMO+WchuW9oui+ueeVjDvnn6nlvaLovrnnlYwiLz4NCiAgPC9QYXJhR3JvdXA+DQoNCg0KICA8UGFyYUdyb3VwIE5hbWU9IktLMSIgQWxpYXM9IuayueawtOebuOWvuea4l+mAj+eOhyI+DQogICAgPFBhcmFJdGVtIE5hbWU9IlN3aSIgQWxpYXM9Iuadn+e8muawtOmlseWSjOW6piIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU29ydyIgQWxpYXM9Iuaui+S9meayuemlseWSjOW6piIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3JvY3ciIEFsaWFzPSLmnIDlpKfmsrnnm7jnm7jlr7nmuJfpgI/njociIERlZmF1bHQ9IjEuMCIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSLmnZ/nvJrmsLTppbHlkozluqbkuIvnmoTmsrnnm7jnm7jlr7nmuJfpgI/njociLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3J3cm8iIEFsaWFzPSLmnIDlpKfmsLTnm7jnm7jlr7nmuJfpgI/njociIERlZmF1bHQ9IjEuMCIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSLmrovkvZnmsrnppbHlkozluqbkuIvnmoTmsLTnm7jnm7jlr7nmuJfpgI/njociLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3Jvd01vZGVsIiBBbGlhcz0iS3Jvd+aooeWeiyIgRGVmYXVsdD0iMCIgUGFyYVR5cGU9IjYiIEl0ZW1PcHRpb25zPSLkuZjluYI75oyH5pWwIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Iktyb3dJbmRleCIgQWxpYXM9Iktyb3fmjIfmlbAiIERlZmF1bHQ9IjIuMCIgTWF4PSIxMDAiIE1pbj0iMCIgRGlnaXQ9IjMiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3J3b01vZGVsIiBBbGlhcz0iS3J3b+aooeWeiyIgRGVmYXVsdD0iMCIgUGFyYVR5cGU9IjYiIEl0ZW1PcHRpb25zPSLkuZjluYI75oyH5pWwIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Iktyd29JbmRleCIgQWxpYXM9Iktyd2/mjIfmlbAiIERlZmF1bHQ9IjIuMCIgTWF4PSIxMDAiIE1pbj0iMCIgRGlnaXQ9IjMiLz4NCiAgPC9QYXJhR3JvdXA+DQoNCiAgPFBhcmFHcm91cCBOYW1lPSJLSzIiIEFsaWFzPSLmsrnmsJTnm7jlr7nmuJfpgI/njociPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTb2NnIiBBbGlhcz0i5rK555u46aWx5ZKM5bqm77yI5p2f57ya77yJIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTZ3JvIiBBbGlhcz0i5rCU55u46aWx5ZKM5bqm77yI5q6L5L2Z77yJIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcm9yZyIgQWxpYXM9IuacgOWkp+ayueebuOebuOWvuea4l+mAj+eOhyIgRGVmYXVsdD0iMS4wIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IlNnPVNncm/kuIvlr7nlupTnmoTmnIDlpKfmsrnnm7jnm7jlr7nmuJfpgI/njociLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3Jncm8iIEFsaWFzPSLmnIDlpKfmsJTnm7jnm7jlr7nmuJfpgI/njociIERlZmF1bHQ9IjEuMCIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJTZz0xLjAtU29jZ+S4i+WvueW6lOeahOacgOWkp+awlOebuOebuOWvuea4l+mAj+eOhyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcm9nTW9kZWwiIEFsaWFzPSJLcm9n5qih5Z6LIiBEZWZhdWx0PSIwIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IuS5mOW5gjvmjIfmlbAiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3JvZ0luZGV4IiBBbGlhcz0iS3JvZ+aMh+aVsCIgRGVmYXVsdD0iMi4wIiBNYXg9IjEwMCIgTWluPSIwIiBEaWdpdD0iMyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcmdvTW9kZWwiIEFsaWFzPSJLcmdv5qih5Z6LIiBEZWZhdWx0PSIwIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IuS5mOW5gjvmjIfmlbAiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3Jnb0luZGV4IiBBbGlhcz0iS3Jnb+aMh+aVsCIgRGVmYXVsdD0iMi4wIiBNYXg9IjEwMCIgTWluPSIwIiBEaWdpdD0iMyIvPg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IktLMyIgQWxpYXM9IuawlOawtOebuOWvuea4l+mAj+eOhyI+DQogICAgPFBhcmFJdGVtIE5hbWU9IlN3aWd3IiBBbGlhcz0i5p2f57ya5rC06aWx5ZKM5bqmIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTZ2MiIEFsaWFzPSLmrovkvZnmsJTppbHlkozluqYiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IktyZ2N3IiBBbGlhcz0i5pyA5aSn5rCU55u455u45a+55riX6YCP546HIiBEZWZhdWx0PSIxLjAiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0i5p2f57ya5rC06aWx5ZKM5bqm5LiL55qE5rCU55u455u45a+55riX6YCP546H77yI5pyA5aSn5rCU55u455u45a+55riX6YCP546H77yJIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Iktyd2djIiBBbGlhcz0i5pyA5aSn5rC055u455u45a+55riX6YCP546HIiBEZWZhdWx0PSIxLjAiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0i5pyA5aSn5ZCr5rC06aWx5ZKM5bqmMS4wLVNnY+WvueW6lOeahOacgOWkp+awtOebuOebuOWvuea4l+mAj+eOhyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcmd3TW9kZWwiIEFsaWFzPSJLcmd35qih5Z6LIiBEZWZhdWx0PSIwIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IuS5mOW5gjvmjIfmlbAiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3Jnd0luZGV4IiBBbGlhcz0iS3Jnd+aMh+aVsCIgRGVmYXVsdD0iMi4wIiBNYXg9IjEwMCIgTWluPSIwIiBEaWdpdD0iMyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcndnTW9kZWwiIEFsaWFzPSJLcndn5qih5Z6LIiBEZWZhdWx0PSIwIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IuS5mOW5gjvmjIfmlbAiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3J3Z0luZGV4IiBBbGlhcz0iS3J3Z+aMh+aVsCIgRGVmYXVsdD0iMi4wIiBNYXg9IjEwMCIgTWluPSIwIiBEaWdpdD0iMyIvPg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IktLNCIgQWxpYXM9IuS4ieebuOebuOWvuea4l+mAj+eOhyI+DQogICAgPFBhcmFJdGVtIE5hbWU9Iktyb2d3TW9kZWwiIEFsaWFzPSJLcm9nd+aooeWeiyIgRGVmYXVsdD0iMCIgUGFyYVR5cGU9IjYiIEl0ZW1PcHRpb25zPSJTdG9uZSAxO1N0b25lIDIiLz4NCiAgPC9QYXJhR3JvdXA+DQoNCiAgPFBhcmFHcm91cCBOYW1lPSJTUyIgQWxpYXM9IuW6lOWKm+aVj+aEnyI+DQoNCiAgPC9QYXJhR3JvdXA+DQoNCiAgPFBhcmFHcm91cCBOYW1lPSJEUyIgQWxpYXM9IuWQuOmZhCI+DQogIDwvUGFyYUdyb3VwPg0KDQoNCiAgPFBhcmFHcm91cCBOYW1lPSJEZWNvbnZfSW5wdXQiIEFsaWFzPSLovpPlhaXlj4LmlbAiIERlc2M9IuWPjeiktuenryBUT0RP77ya5Y+C5pWw5ZG95ZCN5Y+C6KeBbGl1d2PogIHluIjmj5DkvpvnmoTmjqXlj6Por7TmmI7mlofmoaMiPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJpbmlfUHJlIiBBbGlhcz0i5rK56JeP5Yid5aeL5Y6L5YqbIiBVbml0PSJNUGEiIERlZmF1bHQ9IjMwIiBNYXg9IjUwMCIgTWluPSIwLjEiIERpZ2l0PSI1IiBEZXNjPSLmsrnol4/nmoTliJ3lp4vljovlipsiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iYl92YWx1ZSIgQWxpYXM9IkLmoLfmnaHln7rmlbAiIERlZmF1bHQ9IjIuMyIgTWF4PSIzLjIiIE1pbj0iMS41IiBEaWdpdD0iMyIgRGVzYz0i5Li65LqM6Zi2Quagt+adoeWHveaVsOeahOaMh+aVsOW9ouW8j+WIhuW4g+eahOe7k+eCueWfuuW6lShC5qC35p2h5Z+65pWwKSIvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IkFsZmExIiBBbGlhcz0i5YWJ5ruR5Zug5a2QzrEiIERlZmF1bHQ9IjAuMDMiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNSIgRGVzYz0i55Sx5LqO6L6T5YWl55qE5pWw5o2u6K+v5beu5a2Y5Zyo6ICM6L+b6KGM57q/5oCn5q2j5YiZ5YyW5omA5Y2g55qE5q+U6YeN77yMQWxmYTErIEJlbHRh4omkMS4wIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkJlbHRhIiBBbGlhcz0i5YWJ5ruR5Zug5a2QzrIiIERlZmF1bHQ9IjAuMDIiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNSIgRGVzYz0i55Sx5LqO6L6T5YWl55qE5pWw5o2u6K+v5beu5a2Y5Zyo6ICM6L+b6KGM57q/5oCn5q2j5YiZ5YyW5omA5Y2g55qE5q+U6YeN77yMQWxmYTErIEJlbHRh4omkMS4wIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iU2VnVGltZTEiIEFsaWFzPSLljovlipvmrrXliJ3lp4vml7bpl7QiIFVuaXQ9ImgiIERlZmF1bHQ9IjUiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjUiIERlc2M9IlRPRE8iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU2VnVGltZTIiIEFsaWFzPSLljovlipvmrrXmnIDlkI7ml7bpl7QiIFVuaXQ9ImgiIERlZmF1bHQ9IjI4MCIgTWF4PSIxZSszMCIgTWluPSIwIiBEaWdpdD0iNSIgRGVzYz0iVE9ETyIvPg0KICAgPC9QYXJhR3JvdXA+DQoNCiAgIDxQYXJhR3JvdXAgTmFtZT0iRGVjb252X091dHB1dCIgQWxpYXM9Iui+k+WHuuWPguaVsCIgRGVzYz0i5Y+N6KS256evIFRPRE/vvJrlj4LmlbDlkb3lkI3lj4Lop4FsaXV3Y+iAgeW4iOaPkOS+m+eahOaOpeWPo+ivtOaYjuaWh+ahoyI+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxpbmVudW02IiBBbGlhcz0i5pWw5o2u5pWw55uuIiBEZWZhdWx0PSI1MCIgTWluPSIxIiBEaWdpdD0iMCIgRGVzYz0iVE9ETyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJPdXRwdXRfVDAiIEFsaWFzPSLliJ3lp4vml7bpl7QiIFVuaXQ9ImgiIERlZmF1bHQ9IjAuMDAxIiBNYXg9IjFlKzMwIiBNaW49IjAiIERpZ2l0PSI1IiBEZXNjPSJUT0RPIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik91dHB1dF9UMSIgQWxpYXM9IuacgOWQjuaXtumXtCIgVW5pdD0iaCIgRGVmYXVsdD0iMzAwIiBNYXg9IjFlKzMwIiBNaW49IjAiIERpZ2l0PSI1IiBEZXNjPSJUT0RPIi8+DQoNCiAgPC9QYXJhR3JvdXA+DQoNCiAgPFBhcmFHcm91cCBOYW1lPSJQc2V1UCIgQWxpYXM9IuaLn+WOi+WKmyI+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBzZXVQcmVzc3VyZSIgQWxpYXM9IuW4uOinhOaLn+WOi+WKmyIgRGVmYXVsdD0iMCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQc2V1UHJlc3N1cmUzIiBBbGlhcz0i5LiJ5Yy65ouf5Y6L5YqbIiBEZWZhdWx0PSIwIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBzZXVQcmVzc3VyZUMiIEFsaWFzPSLnu4TliIbmi5/ljovlipsiIERlZmF1bHQ9IjAiLz4NCg0KICA8L1BhcmFHcm91cD4NCiAgDQoNCjwvUm9vdD4NCg== \ No newline at end of file diff --git a/Bin/Config/Common/ModelParaDefinesLP_cn.dat b/Bin/Config/Common/ModelParaDefinesLP_cn.dat new file mode 100644 index 0000000..8adb3ff --- /dev/null +++ b/Bin/Config/Common/ModelParaDefinesLP_cn.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu5/nmoTlj4LmlbDlrprkuYkgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBBdXRob3Iocyk6IHdhbmd6ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgRGF0ZTogMjAyNDA3MTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLQ0KICAgIFBhcmFHcm91cCDnuqfliKsNCiAgICAgICAgSUQ6ICAgICAgICAgIOWUr+S4gOagh+ivhg0KICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KICAgICAgICBEZXNj77yaICAgICAgIOi+heWKqeivtOaYjg0KDQogICAgICAgIFBhcmFJdGVtIOe6p+WIqw0KICAgICAgICAgICAgTmFtZe+8miAgICAgICDlkI3np7DvvIzpgJrluLjoi7HmlocNCiAgICAgICAgICAgIEFsaWFz77yaICAgICAg5Yir5ZCN77yM6YCa5bi45Lit5paHDQogICAgICAgICAgICBVbml0ICAgICAgICAg5Y2V5L2N77yM6buY6K6kDQogICAgICAgICAgICBEZWZhdWx0ICAgICAg6buY6K6k5YC8DQogICAgICAgICAgICBNYXggICAgICAgICAg5pyA5aSn5YC8DQogICAgICAgICAgICBNYXggICAgICAgICAg5pyA5bCP5YC8DQogICAgICAgICAgICBEaWdpdCAgICAgICAg5bCP5pWw5L2N5pWwDQogICAgICAgICAgICBTY2llbnRpZmljICAg5piv5ZCm5Lul56eR5a2m6K6h5pWw5rOV6KGo56S677yIMjAyNjA0MTMgQWRkZWTvvIkNCiAgICAgICAgICAgIFJlYWRvbmx5ICAgICDmmK/lkKblj6ror7sNCg0KICAgICAgICAgICAgUGFyYVR5cGU6ICAgIOWPguaVsOaJgOWxnuexu+Wei+WMuuWIhu+8jOm7mOiupOS4ujIoZG91YmxlKToNCiAgICAgICAgICAgICAgICAgICAgICAgICAw4oCU4oCU5a2X56ym5Liy77yI5paH5pys77yJIFRleHTlsZ7mgKcNCiAgICAgICAgICAgICAgICAgICAgICAgICAx4oCU4oCU5pW05b2iDQogICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlERvdWJsZeaVsOWAvA0KICAgICAgICAgICAgICAgICAgICAgICAgIDPigJTigJTlm77lg48gVGV4dOWxnuaApyDlrZjmlL7ot6/lvoQNCiAgICAgICAgICAgICAgICAgICAgICAgICA04oCU4oCU5LqM6L+b5Yi2IFRPRE8NCiAgICAgICAgICAgICAgICAgICAgICAgICA14oCU4oCU5pe26Ze057G75Z6LICJUZXh0IuWtmOaUvuaXtumXtO+8jCJGb3JtYXQi5a2Y5pS+5qC85byPDQogICAgICAgICAgICAgICAgICAgICAgICAgNuKAlOKAlOS4i+aLiUNtYiDlhbfmnIkiSXRlbU9wdGlvbnMi5bGe5oCnDQogICAgICAgICAgICAgICAgICAgICAgICAgN+KAlOKAlFNlZ+a1geWKqOauteaooeW8jyDlhbfmnIkiU3ViSXRlbXMi5bGe5oCn77yM5YW35pyJ57Sv56ev6ZW/5bqm44CB5Lqn6YeP562J5YaF5a65DQogICAgICAgICAgICAgICAgICAgICAgICAgOOKAlOKAlFNlZ+a1geWKqOauteaooeW8j++8jOaJqeWxleaooeW8jyDlhbfmnIkiU3ViSXRlbXMi5bGe5oCn77yMDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg5bm25LiU5LulTW9yZeaMiemSruW9ouW8j+W8ueWHuuWPr+inhuWMlueql+WPow0KICAgICAgICAgICAgICAgICAgICAgICAgIDnigJTigJTlj4zkuIvmi4nvvIjmiaPlnosr5YWs5q+N77yJ77yM5rS+55Sf6IeqIFBJVF9DYnjvvIwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICDlhbfmnIkiSXRlbU9wdGlvbnMiKyJJdGVtT3B0aW9uRXhzIuWxnuaApw0KICAgICAgICAgICAgICAgICAgICAgICAgIDEw4oCU4oCU5YW35pyJIlN1Ykl0ZW1zIuWxnuaAp++8jOaZrumAmueahOaooeW8j++8jOavlOWmgiDlsYLmlbDmja7vvIxDTzINCiAgICAgICAgICAgICAgICAgICAgICAgICAxMeKAlOKAlFvlup/lvINd5LiL5ouJQ21i77yM6ZKI5a+55qih5Z6L6YCJ6aG555qE6L+b5LiA5q2l5omp5bGV77yM6ZyA6KaB5Yqo5oCB5aGr5YWF55qEICJJdGVtT3B0aW9ucyLlsZ7mgKflj6/mnInlj6/ml6ANCiAgICAgICAgICAgICAgICAgICAgICAgICAxMuKAlOKAlOaMiemSruexu++8jOeCueWHu+WQju+8jOW8ueWHuuihqOagvOaVsOaNru+8iOazqOaEj++8jOacrOi6q+WPquaYr+WNlee6r+eahOihqOagvO+8ieWPr+S7peeUseWklumDqOaIquiOt+a2iOaBr+i/m+ihjOiHquihjOWumuWItg0KDQogICAgICAgICAgICBVc2VNb2RlOiAgIOino+mHiuWPguaVsOW6lOeUqOWcuuWQiDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAw4oCU4oCU6YCC55So5omA5pyJ77yM5LiN6ZyA6YWN572uDQogICAgICAgICAgICAgICAgICAgICAgICAgMeKAlOKAlOS7heS7hemAgueUqOWkhOeQhuaLn+WQiA0KICAgICAgICAgICAgICAgICAgICAgICAgIDLigJTigJTku4Xku4XpgILnlKjor5XkupXorr7orqENCiAgICAgICAgICAgICAgICAgICAgICAgICAz4oCU4oCU5Y+v5Lul5pi+56S65Y+v5Lul5LiN5pi+56S677yM6YCa6L+H5oyJ6ZKu5o6n5Yi2DQogICAgICAgICAgICAgICAgICAgICAgICAgNOKAlOKAlOaYvuekuu+8jOS4jeWPguS4juaLn+WQiCDmmL7npLrliLDnu5PmnpzvvIjnlYzpnaLmmL7npLrvvIzmi5/lkIjkuI3mi5/lkIjvvIznu5PmnpzmmL7npLrvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICA14oCU4oCU5LiN5pi+56S677yM5LiN5Y+C5LiO5ouf5ZCI77yM5LiN5pi+56S65Yiw57uT5p6c5Lit77yI5aaCIOa3t+WQiOm7j+W6pu+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgIDbigJTigJTmmL7npLrvvIzkuI3lj4LkuI7mi5/lkIjvvIzkuI3mmL7npLrliLDnu5PmnpzkuK3vvIjlrZTpmpnvvIzljprluqbpnZ5qb2Lph4zpnaLvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICA34oCU4oCU5LiN5pi+56S677yM5LiN5Y+C5LiO5ouf5ZCI77yM5pi+56S65Yiw57uT5p6c5Lit77yI5o6i5rWL5Y2K5b6E44CB5YiG5rWB546H77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgOOKAlOKAlOWvueS6juWkmuebuOaYvuekuu+8jOWNleebuOS4jeaYvuekuueahOaDheWGtQ0KDQogICAgICAgICAgICBCZHlUeXBlOiAgICAg6L6555WM57G75Z6L77yM6buY6K6k5Li6MijlubbpnZ7ovrnnlYwpOg0KICAgICAgICAgICAgICAgICAgICAgICAgIDDigJTigJTluLjop4TovrnnlYzlj4LmlbDvvIzljIXmi6zmlbDlgLzjgIHku6Xlj4rnsbvlnovvvIjlsIHpl63jgIHlrprljovjgIHml6DpmZDlpKfvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAx4oCU4oCU5Y2V57qv55qE57G75Z6L77yM5bqV5rC044CB562J77yM5peg5pWw5a2XDQogICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlOW5tumdnui+ueeVjA0KICAgICAgICAgICAgICAgICAgICAgICAgIDPigJTigJTlhbblroPvvIzlvoXmianlsZUNCg0KICAgICAgICAgICAgTGF5ZXJNb2RlOiAgIOWcqOWkmuWxguaooeWei+aDheW9ouS4i+eahOaYvuekuuS4jumakOiXj+mAu+i+ke+8iDIwMjYwMTA15paw5aKe77yJOg0KICAgICAgICAgICAgICAgICAgICAgICAgIDDigJTigJTpu5jorqTvvIzmmL7npLrlnKjlsYLlhoUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOWPguaVsOekuuS+i++8mua4l+mAj+eOh+OAgeihqOearuOAgeaooeWei+mAiemhue+8iOS6leWeiy/lgqjlsYLnsbvlnovvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAx4oCU4oCU5pi+56S65Zyo5bGC5aSW77yM5L2c5Li6IOmAmueUqOWPguaVsOexuw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg5Y+C5pWw56S65L6L77ya5LqV5YKo57O75pWw44CB5Yid5aeL5Y6L5Yqb562JDQogICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlOS6pOabv+aYvuekuu+8jOeqnOa1geaooeW8j+S4i++8jOaYvuekuuWcqOWxguWkllvmr4/lsYLlhoXkuI3mmL7npLpd77ybDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDpnZ7nqpzmtYHmqKHlvI/kuIvvvIzmmL7npLrlnKjlsYLlhoVb5q+P5bGC5YaF5Z2H5pi+56S6Xe+8jA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg5Y+C5pWw56S65L6L77ya5aaC6L6555WM57G75Z6L44CB6L6555WM6Led56a7DQogICAgICAgICAgICAgICAgICAgICAgICAgM+KAlOKAlOWFtuWug++8jOW+heaJqeWxlQ0KDQoNCiAgICAgICAgICAgIFN1Ykl0ZW1z77yaICAg6YWN572u5a2Q6aG577yM5q+U5aaC5Lqn5ray5q615pWwDQogICAgICAgICAgICBGb3JtYXTvvJogICAgIOaXpeacn+Wei+WPguaVsO+8jOaYvuekuueahOagt+W8j++8jOaaguacquWQr+eUqA0KICAgICAgICAgICAgSXRlbU9wdGlvbnPvvJrlrZDpobnvvIzlr7nkuo7kuIvmi4nmoYbvvIzmr5TlpoIg5bCB6Zet44CB5a6a5Y6L562J5Zu65a6a55qE5YaF5a65DQogICAgICAgICAgICBUZXh077yaICAgICAgIOWtl+espuS4suWPguaVsOOAgeaIluiAhSDlm77lg4/nmoTot6/lvoQNCiAgICAgICAgICAgIERlc2PvvJogICAgICAg6L6F5Yqp6K+05piODQotLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQoNCjxSb290Pg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i5LqV5YKo5Y+C5pWwIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQyIgQWxpYXM9IuS6leetkuWCqOmbhuezu+aVsCIgTGF5ZXJNb2RlPSIxIiBVbml0PSJtXjMvTVBhIiBEZWZhdWx0PSIwLjEiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjMiIFNjaWVudGlmaWM9IjEiIERlc2M9IndlbGxib3JlIHN0b3JhZ2UgZmFjdG9yIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkNpZFJhdGlvIiBBbGlhcz0i5Yid5pyr5LqV562S5YKo6ZuG57O75pWw5q+UIiBMYXllck1vZGU9IjEiIFVuaXQ9IiIgRGVmYXVsdD0iMC40IiBNYXg9IjEwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IlJhdGlvIG9mIGluaXRpYWwgYW5kIGZpbmFsIHdlbGxib3JlIHN0b3JhZ2UiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iYWxwaGEiIEFsaWFzPSLlj5jkupXlgqjml7bpl7QiIExheWVyTW9kZT0iMSIgVW5pdD0iaCIgRGVmYXVsdD0iMSIgTWF4PSIxZSszMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iY2hhbmdpbmcgd2VsbGJvcmUgc3RvcmFnZSB0aW1lIi8+DQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i5Z+656GA5Y+C5pWwIj4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJydyIgQWxpYXM9IuS6leW+hCIgVW5pdD0ibSIgRGVmYXVsdD0iMC4xMDgiIE1heD0iMSIgTWluPSIwLjAxIiBEaWdpdD0iNSIgRGVzYz0id2VsbCByYWRpdXMiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0id2VsbERpcyIgQWxpYXM9IuS6lemXtOi3neemuyIgVW5pdD0ibSIgRGVmYXVsdD0iMTAzNCIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0id2VsbCBpbnRlciBkaXN0YW5jZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ3ZWxsQW5nbGUiIEFsaWFzPSLkupXpl7TlgL7op5IiIFVuaXQ9IsKwIiBEZWZhdWx0PSIwIiBNYXg9IjM2MCIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0id2VsbCBpbnRlciBhbmdsZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJMIiBBbGlhcz0i5rC05bmz5LqV6ZW/5bqmIiBVbml0PSJtIiBEZWZhdWx0PSI2MDAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJob3Jpem9udGFsIHdlbGwgbGVuZ3RoIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ikx3IiBBbGlhcz0i5pac5LqV6ZW/5bqmIiBVbml0PSJtIiBEZWZhdWx0PSIyOC44IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0id2VsbCBsZW5ndGgiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iRGV2IiBBbGlhcz0i5LqV5pac6KeS5bqmIiBVbml0PSLCsCIgRGVmYXVsdD0iODAiIE1heD0iMTgwIiBNaW49IjAiIERpZ2l0PSIzIiBEZXNjPSJXZWxsIE9yaWVudGF0aW9uIEFuZ2xlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBvc1giIEFsaWFzPSLlnZDmoIdYIiBVbml0PSJtIiBEZWZhdWx0PSIwIiBEaWdpdD0iMyIgRGVzYz0iV2VsbCBQb3MgWCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQb3NZIiBBbGlhcz0i5Z2Q5qCHWSIgVW5pdD0ibSIgRGVmYXVsdD0iMCIgRGlnaXQ9IjMiIERlc2M9IldlbGwgUG9zIFkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icndfMSIgQWxpYXM9IuWCqOWxgjHkupXlvoQiIFVuaXQ9Im0iIERlZmF1bHQ9IjAuMTA4IiBNYXg9IjEiIE1pbj0iMC4wMSIgRGlnaXQ9IjUiIERlc2M9IndlbGwgcmFkaXVzIi8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9InJ3XzIiIEFsaWFzPSLlgqjlsYIy5LqV5b6EIiBVbml0PSJtIiBEZWZhdWx0PSIwLjEwOCIgTWF4PSIxIiBNaW49IjAuMDEiIERpZ2l0PSI1IiBEZXNjPSJ3ZWxsIHJhZGl1cyIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJyd18zIiBBbGlhcz0i5YKo5bGCM+S6leW+hCIgVW5pdD0ibSIgRGVmYXVsdD0iMC4xMDgiIE1heD0iMSIgTWluPSIwLjAxIiBEaWdpdD0iNSIgRGVzYz0id2VsbCByYWRpdXMiLz4NCiAgICA8IS0tWEEtLT4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJoIiBBbGlhcz0i5YKo5bGC5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9InBheSB6b25lIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkgxRFBFIiBBbGlhcz0i5bGC5LiA5YKo5bGC5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMXN0IHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkgyRFBFIiBBbGlhcz0i5bGC5LqM5YKo5bGC5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkgxTVAiIEFsaWFzPSLlgqjlsYLljprluqYxIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMXN0IHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkgyTVAiIEFsaWFzPSLlgqjlsYLljprluqYyIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImgxIiBBbGlhcz0i5bGC5LiA5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMXN0IHBheSB6b25lIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImgyIiBBbGlhcz0i5bGC5LqM5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImhfMSIgQWxpYXM9IuWCqOWxgjHljprluqYiIFVuaXQ9Im0iIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIxc3QgcGF5IHpvbmUiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iaF8yIiBBbGlhcz0i5YKo5bGCMuWOmuW6piIgVW5pdD0ibSIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjJuZCBwYXkgem9uZSIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJoXzMiIEFsaWFzPSLlgqjlsYIz5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIi8+DQogICAgPCEtLVhBLS0+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpIiBBbGlhcz0i5a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0icG9yb3NpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpMU1QIiBBbGlhcz0i5a2U6ZqZ5bqmMSIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IjFzdCBwb3Jvc2l0eSBvZiBkdWFsIHBlcm1lYWJpbGl0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkyTVAiIEFsaWFzPSLlrZTpmpnluqYyIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0iMm5kIHBvcm9zaXR5IG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9InBoaWYiIEFsaWFzPSLljovoo4LnvJ3lrZTpmpnluqYiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBVc2VNb2RlPSI1IiBEZXNjPSJwb3Jvc2l0eSBvZiBmcmFjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkyRCIgQWxpYXM9Iuijgue8neWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIFVzZU1vZGU9IjUiIERlc2M9InBvcm9zaXR5IG9mIG5hdHVyZSBmcmFjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkxRCIgQWxpYXM9IuWfuui0qOWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIFVzZU1vZGU9IjUiIERlc2M9InBvcm9zaXR5IG9mIHN0cm9tYSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkxIiBBbGlhcz0i5YaF5Yy65a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgVXNlTW9kZT0iNSIgRGVzYz0iSW5uZXIgcG9yb3NpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpMiIgQWxpYXM9IuWkluWMuuWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIFVzZU1vZGU9IjUiIERlc2M9Ik91dGVyIHBvcm9zaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9InBoaTFEUEUiIEFsaWFzPSLlsYLkuIDlrZTpmpnluqYiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBVc2VNb2RlPSI1IiBEZXNjPSIxc3QgcG9yb3NpdHkgb2YgZHVhbCBwZXJtZWFiaWxpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpMkRQRSIgQWxpYXM9IuWxguS6jOWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIFVzZU1vZGU9IjUiIERlc2M9IjJuZCBwb3Jvc2l0eSBvZiBkdWFsIHBlcm1lYWJpbGl0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJmYWkxMSIgQWxpYXM9IuWxguS4gDHljLrlrZTpmpnluqYiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0iMXN0IHBlcm1lYWJpbGl0eSBvZiBpbm5lciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iZmFpMTIiIEFsaWFzPSLlsYLkuIAy5Yy65a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IjFzdCBwZXJtZWFiaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImZhaTIxIiBBbGlhcz0i5bGC5LqMMeWMuuWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjI1IiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBEZXNjPSIybmQgcGVybWVhYmlsaXR5IG9mIGlubmVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJmYWkyMiIgQWxpYXM9IuWxguS6jDLljLrlrZTpmpnluqYiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0iMm5kIHBlcm1lYWJpbGl0eSBvZiBvdXRlciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpXzEiIEFsaWFzPSLlgqjlsYIx5a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0icG9yb3NpdHkiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpXzIiIEFsaWFzPSLlgqjlsYIy5a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0icG9yb3NpdHkiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpXzMiIEFsaWFzPSLlgqjlsYIz5a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0icG9yb3NpdHkiLz4NCiAgICA8IS0tWEEtLT4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJCIiBBbGlhcz0i5L2T56ev57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQm8iIEFsaWFzPSLmsrnkvZPnp6/ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJmb3JtYXRpb24gdm9sdW1lIGZhY3RvciIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJCZyIgQWxpYXM9IuawlOS9k+enr+ezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9ImZvcm1hdGlvbiB2b2x1bWUgZmFjdG9yIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkJ3IiBBbGlhcz0i5rC05L2T56ev57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQl8xIiBBbGlhcz0i5YKo5bGCMeS9k+enr+ezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9ImZvcm1hdGlvbiB2b2x1bWUgZmFjdG9yIi8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IkJfMiIgQWxpYXM9IuWCqOWxgjLkvZPnp6/ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJmb3JtYXRpb24gdm9sdW1lIGZhY3RvciIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJCXzMiIEFsaWFzPSLlgqjlsYIz5L2T56ev57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiLz4NCiAgICA8IS0tWEEtLT4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXUiIEFsaWFzPSLpu4/luqYozrwpIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIxNTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0idmlzY29zaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1pdW8iIEFsaWFzPSLmsrnnm7jpu4/luqYiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjE1MCIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9Im9pbCB2aXNjb3NpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1bzEiIEFsaWFzPSLlhoXljLrmsrnnm7jpu4/luqYiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjUwIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0ib2lsIHZpc2Nvc2l0eSBvZiBDb21wbGV4IElubmVyIHpvbmUiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1bzIiIEFsaWFzPSLlpJbljLrmtYHkvZPpu4/luqYiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjUwIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0ib2lsIHZpc2Nvc2l0eSBvZiBDb21wbGV4IG91dGVyIHpvbmUiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1ZyIgQWxpYXM9IuawlOm7j+W6piIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMiIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9ImdhcyB2aXNjb3NpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1dyIgQWxpYXM9IuawtOebuOm7j+W6piIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMiIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IndhdGVyIHZpc2Nvc2l0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXV4IiBBbGlhcz0i5re35ZCI6buP5bqmIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMi40IiBNYXg9IjUwIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgVXNlTW9kZT0iNSIgRGVzYz0iTWl4IHZpc2Nvc2l0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXVfMSIgQWxpYXM9IuWCqOWxgjHpu4/luqYozrwpIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIxNTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0idmlzY29zaXR5Ii8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1pdV8yIiBBbGlhcz0i5YKo5bGCMum7j+W6pijOvCkiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjE1MCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJ2aXNjb3NpdHkiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1XzMiIEFsaWFzPSLlgqjlsYIz6buP5bqmKM68KSIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMTUwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9InZpc2Nvc2l0eSIvPg0KICAgIDwhLS1YQS0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IkN0IiBBbGlhcz0i57u85ZCI5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBEZXNjPSJ0b3RhbCBjb21wcmVzc2liaWxpdHkgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkNmIiBBbGlhcz0i5bKp55+z5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBEZXNjPSJyb2NrIGNvbXByZXNzaWJpbGl0eSAiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3RmRiIgQWxpYXM9IuWOi+ijgue8nee7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIGZyYWN0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0ZiIgQWxpYXM9Iuijgue8nee7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIG5hdHVyZSBmcmFjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdG0iIEFsaWFzPSLln7rotKjnu7zlkIjljovnvKnns7vmlbAiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMDQzIiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjUiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eSBvZiBzdHJvbWEgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MURQRSIgQWxpYXM9IuWxguS4gOe7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0iMXN0IHRvdGFsIGNvbXByZXNzaWJpbGl0eSBvZiBkdWFsIHBlcm1lYWJpbGl0eSAiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3QyRFBFIiBBbGlhcz0i5bGC5LqM57u85ZCI5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBVc2VNb2RlPSI1IiBEZXNjPSIybmQgdG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIGR1YWwgcGVybWVhYmlsaXR5ICIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdDEiIEFsaWFzPSLkuIDlsYLnu7zlkIjljovnvKnns7vmlbAiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMDQzIiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjYiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eTEgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MiIgQWxpYXM9IuS6jOWxgue7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDM2IiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjYiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eTIgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MyIgQWxpYXM9IuS4ieWxgue7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDM2IiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjYiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eTMgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MTEiIEFsaWFzPSLlsYLkuIAx5Yy657u85ZCI5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBVc2VNb2RlPSI1IiBEZXNjPSIxc3QgdG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIGlubmVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdDIxIiBBbGlhcz0i5bGC5LqMMeWMuue7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0iMm5kIHRvdGFsIGNvbXByZXNzaWJpbGl0eSBvZiBpbm5lciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3QxMiIgQWxpYXM9IuWxguS4gDLljLrnu7zlkIjljovnvKnns7vmlbAiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMDQzIiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjUiIERlc2M9IjFzdCB0b3RhbCBjb21wcmVzc2liaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MjIiIEFsaWFzPSLlsYLkuowy5Yy657u85ZCI5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBVc2VNb2RlPSI1IiBEZXNjPSIybmQgdG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIG91dGVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdF8xIiBBbGlhcz0i5YKo5bGCMee7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5ICIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdF8yIiBBbGlhcz0i5YKo5bGCMue7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5ICIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdF8zIiBBbGlhcz0i5YKo5bGCM+e7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5ICIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQZSIgQWxpYXM9IuWOn+Wni+WcsOWxguWOi+WKmyIgTGF5ZXJNb2RlPSIxIiBVbml0PSJNUGEiIERlZmF1bHQ9IjMwIiBNYXg9IjUwMCIgTWluPSIwLjEiIERpZ2l0PSI1IiBEZXNjPSJpbml0aWFsIGZvcm1hdGlvbiBwcmVzc3VyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQcmVmIiBBbGlhcz0i5Y+C6ICD5Y6L5YqbIiBMYXllck1vZGU9IjEiIFVuaXQ9Ik1QYSIgRGVmYXVsdD0iMzAiIE1heD0iNTAwIiBNaW49IjAuMSIgRGlnaXQ9IjUiIERlc2M9IlJlZmVyZW5jZSBwcmVzc3VyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQaSIgQWxpYXM9IuWIneWni+WOi+WKmyIgTGF5ZXJNb2RlPSIxIiBVbml0PSJNUGEiIERlZmF1bHQ9IjMwIiBNYXg9IjUwMCIgTWluPSIwLjEiIERpZ2l0PSI1IiBEZXNjPSJpbml0aWFsIHByZXNzdXJlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBpdCIgQWxpYXM9IuWcsOWxguWOi+WKmyIgTGF5ZXJNb2RlPSIxIiBVbml0PSJNUGEiIERlZmF1bHQ9IjMwIiBNYXg9IjEwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjUiIERlc2M9ImluaXRpYWwgcHJlc3N1cmUxIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iTiIgQWxpYXM9IuWCqOmHjyIgVW5pdD0ibV4zIiBEZWZhdWx0PSIxMDAwMDAiIE1heD0iMWUrMzAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJyZXNlcnZlcyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJnYW1tYSIgQWxpYXM9Iua4l+mAj+eOh+aooemHjyIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAxIiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJzdHJlc3Mgc2Vuc2l0aXZpdHkgY29lZmZpY2llbnQiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iZGVscGF0IiBBbGlhcz0i6KOC57yd5Y2K6ZW/5Y+Y5YyW5Zug5a2QIiBVbml0PSIiIERlZmF1bHQ9IjUiIE1heD0iMTAwMCIgTWluPSIwLjEiIERpZ2l0PSIzIiBEZXNjPSJmcmFjdHVyZSBzaHJpbmthZ2UgY29lZmZpY2llbnQiLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJOcSIgQWxpYXM9IuS6p+mHj+auteaVsCIgRGVmYXVsdD0iMiIgTWF4PSI2IiBNaW49IjIiIFBhcmFUeXBlPSI4IiBEZXNjPSJudW1iZXIgb2YgbGlxdWlkIHNlY3Rpb25zIiBTdWJJdGVtcz0iTnFBO05xWDtOcUw7TnFRIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik5xQSIgQWxpYXM9IuinkuW6piIgTWluPSIxZS0wNSIgTWF4PSIzNjAiIFVuaXQ9IsKwIiBEZWZhdWx0PSI5MCIgRGlnaXQ9IjMiIFRpcHM9IiIgRGVzYz0ibG9jYXRpb24gb2YgbGlxdWlkIHNlY3Rpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik5xWCIgQWxpYXM9IuS9jee9riIgVW5pdD0ibSIgRGVmYXVsdD0iMzAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJsb2NhdGlvbiBvZiBsaXF1aWQgc2VjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJOcUwiIEFsaWFzPSLplb/luqYiIFVuaXQ9Im0iIERlZmF1bHQ9IjYwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0ibGVuZ2ggb2YgbGlxdWlkIHNlY3Rpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTnFRIiBBbGlhcz0i5Lqn6YePIiBVbml0PSJtXjMiIERlZmF1bHQ9IjEwIiBNYXg9IjEwMDAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJsaXF1aWQgcHJvZHVjdGlvbiBvZiBsaXF1aWQgc2VjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJOZiIgQWxpYXM9IuWOi+ijguauteaVsCIgRGVmYXVsdD0iNCIgTWF4PSI2IiBNaW49IjEiIFVzZU1vZGU9IjQiIERlc2M9Im51bWJlciBvZiBmcmFjdHVyZSBzZWN0aW9ucyIgU3ViSXRlbXM9Ik5xUSIvPg0KDQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i5YKo5bGC5Y+C5pWwIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iVHJhbnNtaXNzaWJpbGl0eSIgQWxpYXM9IuWcsOWxguezu+aVsCIgVW5pdD0ibUQubSIgRGVmYXVsdD0iMTAwIiBNYXg9IjFlKzMwIiBNaW49IjAiIERpZ2l0PSI2IiBVc2VNb2RlPSI3IiBEZXNjPSJUcmFuc21pc3NpYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlJjIiBBbGlhcz0i5o6i5rWL5Y2K5b6EIiBVbml0PSJtIiBEZWZhdWx0PSIxMDAiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjMiIFVzZU1vZGU9IjciIERlc2M9InJhZGl1cyBvZiBpbnZlc3RpZ2F0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImR0IiBBbGlhcz0i5rWL6K+V5pe26Ze0IiBVbml0PSJoIiBEZWZhdWx0PSIxMDAiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjYiIFVzZU1vZGU9IjciIERlc2M9InRlc3QgdGltZSIvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IksiIEFsaWFzPSLmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iSzFNUCIgQWxpYXM9Iua4l+mAj+eOhzEiIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iNiIgRGVzYz0iMXN0IHBlcm1lYWJpbGl0eSBvZiBkdWFsIHBlcm1lYWJpbGl0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLMk1QIiBBbGlhcz0i5riX6YCP546HMiIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSI2IiBEZXNjPSIybmQgcGVybWVhYmlsaXR5IG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IksxRFBFIiBBbGlhcz0i5bGC5LiA5riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjYiIERlc2M9IjFzdCBwZXJtZWFiaWxpdHkgb2YgZHVhbCBwZXJtZWFiaWxpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iSzJEUEUiIEFsaWFzPSLlsYLkuozmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iNiIgRGVzYz0iMm5kIHBlcm1lYWJpbGl0eSBvZiBkdWFsIHBlcm1lYWJpbGl0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLMTEiIEFsaWFzPSLlsYLkuIAx5Yy65riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjYiIERlc2M9IjFzdCBwZXJtZWFiaWxpdHkgb2YgaW5uZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IksxMiIgQWxpYXM9IuWxguS4gDLljLrmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iNiIgRGVzYz0iMXN0IHBlcm1lYWJpbGl0eSBvZiBvdXRlciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iSzIxIiBBbGlhcz0i5bGC5LqMMeWMuua4l+mAj+eOhyIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSI2IiBEZXNjPSIybmQgcGVybWVhYmlsaXR5IG9mIGlubmVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLMjIiIEFsaWFzPSLlsYLkuowy5Yy65riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjYiIERlc2M9IjJuZCBwZXJtZWFiaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IktvIiBBbGlhcz0i5rK555u45riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iOCIgRGVzYz0icGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IktnIiBBbGlhcz0i5rCU55u45riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iOCIgRGVzYz0icGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ikt3IiBBbGlhcz0i5rC055u45riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iOCIgRGVzYz0icGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IktoIiBBbGlhcz0i5rC05bmz5riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iaG9yaXpvbnRhbCBwZXJtZWFiaWxpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3YiIEFsaWFzPSLlnoLlkJHmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSIwLjUiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9InZlcnRpY2FsIHBlcm1lYWJpbGl0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLeCIgQWxpYXM9InjmlrnlkJHmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkgeCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLeSIgQWxpYXM9InnmlrnlkJHmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkgeSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLeXoiIEFsaWFzPSJ5euW5s+mdoua4l+mAj+eOhyIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9InBlcm1lYWJpbGl0eSB5eiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLMSIgQWxpYXM9IjHljLrmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJJbm5lciBwZXJtZWFiaWxpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iSzIiIEFsaWFzPSIy5Yy65riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iT3V0ZXIgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkszIiBBbGlhcz0iM+WMuua4l+mAj+eOhyIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9Ik91dGVyIHBlcm1lYWJpbGl0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLZiIgQWxpYXM9Iuijgue8nea4l+mAj+eOhyIgVW5pdD0ibUQiIERlZmF1bHQ9IjUwMDAiIE1heD0iMWUzMCIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iMyIgRGVzYz0iZnJhY3R1cmUgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkthIiBBbGlhcz0i5YaF5Yy65riX6YCP546HIiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjYiIERlc2M9InJwZXJtZWFiaWxpdHkgb2YgaW5uZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IktfMSIgQWxpYXM9IuWCqOWxgjHmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IktfMiIgQWxpYXM9IuWCqOWxgjLmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IktfMyIgQWxpYXM9IuWCqOWxgjPmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IktmMSIgQWxpYXM9Iuijgue8nTHmuJfpgI/njociIFVuaXQ9Im1EIiBEZWZhdWx0PSI1MDAwIiBNYXg9IjFlMzAiIE1pbj0iMCIgRGlnaXQ9IjYiIFVzZU1vZGU9IjMiIERlc2M9ImZyYWN0dXJlIHBlcm1lYWJpbGl0eSIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS2YyIiBBbGlhcz0i6KOC57ydMua4l+mAj+eOhyIgVW5pdD0ibUQiIERlZmF1bHQ9IjUwMDAiIE1heD0iMWUzMCIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iMyIgRGVzYz0iZnJhY3R1cmUgcGVybWVhYmlsaXR5Ii8+DQogICAgPCEtLVhBIi0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IlMiIEFsaWFzPSLooajnmq7ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMS4wIiBNYXg9IjUwMDAiIE1pbj0iLTEwMDAiIERpZ2l0PSI4IiBEZXNjPSJza2luIGZhY3RvciIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTdCIgQWxpYXM9IuaAu+ihqOearuezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxLjAiIE1heD0iNTAwMCIgTWluPSItMTAwMCIgRGlnaXQ9IjgiIFVzZU1vZGU9IjciIERlc2M9InRvdGFsIHNraW4gZmFjdG9yIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlNpbmYiIEFsaWFzPSLnlYzpnaLooajnmq4iIFVuaXQ9IiIgRGVmYXVsdD0iNSIgTWF4PSIxZTMwIiBNaW49IjAuMCIgRGlnaXQ9IjgiIERlc2M9IkludGVyZmFjZSBza2luIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlMxIiBBbGlhcz0i5bGC5LiA6KGo55qu57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuMDEiIE1heD0iNTAwMCIgTWluPSItMTAwMCIgRGlnaXQ9IjgiIERlc2M9InNraW4gZmFjdG9yIG9mIGxheWVyMSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTMiIgQWxpYXM9IuWxguS6jOihqOearuezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjAxIiBNYXg9IjUwMDAiIE1pbj0iLTEwMDAiIERpZ2l0PSI4IiBEZXNjPSJza2luIGZhY3RvciBvZiBsYXllcjIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU2ZzIiBBbGlhcz0i6KOC57yd6Z2i6KGo55qu57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEuMCIgTWF4PSI1MDAwIiBNaW49Ii0xMDAwIiBEaWdpdD0iNiIgRGVzYz0iZnJhY3R1cmUgZmFjZSBza2luIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlNjaG9rZSIgQWxpYXM9IuS6leetki3oo4LnvJ3pl7Tooajnmq7ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMS4wIiBNYXg9IjUwMDAiIE1pbj0iLTEwMDAiIERpZ2l0PSI2IiBEZXNjPSJjaG9rZWQtZnJhY3R1cmUgc2tpbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTbGVhayIgQWxpYXM9IuazhOa8j+ihqOearuezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxLjAiIE1heD0iNTAwMCIgTWluPSItMTAwMCIgRGlnaXQ9IjYiIERlc2M9ImxlYWsgc2tpbiBmYWN0b3IiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU18xIiBBbGlhcz0i5YKo5bGCMeihqOearuezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjAiIE1heD0iNTAwMCIgTWluPSItMTAwMCIgRGlnaXQ9IjYiIERlc2M9InNraW4gZmFjdG9yIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTXzIiIEFsaWFzPSLlgqjlsYIy6KGo55qu57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuMCIgTWF4PSI1MDAwIiBNaW49Ii0xMDAwIiBEaWdpdD0iNiIgRGVzYz0ic2tpbiBmYWN0b3IiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IlNfMyIgQWxpYXM9IuWCqOWxgjPooajnmq7ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMC4wIiBNYXg9IjUwMDAiIE1pbj0iLTEwMDAiIERpZ2l0PSI2IiBEZXNjPSJza2luIGZhY3RvciIvPg0KICAgIDwhLS1YQSItLT4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSaSIgQWxpYXM9IuWkjeWQiOWNiuW+hCIgVW5pdD0ibSIgRGVmYXVsdD0iNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJjb21wb3NpdGUgcmFkaXVzIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InIyMSIgQWxpYXM9IuWkjeWQiOWNiuW+hDIxIiBVbml0PSJtIiBEZWZhdWx0PSIxMDAiIE1heD0iMTAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIERlc2M9ImNvbXBvc2l0ZSByYWRpdXMyMSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJyMzIiIEFsaWFzPSLlpI3lkIjljYrlvoQzMiIgVW5pdD0ibSIgRGVmYXVsdD0iMjAwIiBNYXg9IjEwMDAwIiBNaW49IjEiIERpZ2l0PSIzIiBEZXNjPSJjb21wb3NpdGUgcmFkaXVzMzIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icjQzIiBBbGlhcz0i5aSN5ZCI5Y2K5b6ENDMiIFVuaXQ9Im0iIERlZmF1bHQ9IjMwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgRGVzYz0iY29tcG9zaXRlIHJhZGl1czQzIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlIxIiBBbGlhcz0i5LiA5Yy65Y2K5b6EIiBVbml0PSJtIiBEZWZhdWx0PSI1MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9InJlZ2lvbjEgcmFkaXVzIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlIyIiBBbGlhcz0i5LqM5Yy65Y2K5b6EIiBWYWxpZGF0ZVN0cj0iR1Q6UjEiIFVuaXQ9Im0iIERlZmF1bHQ9IjUwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgIERlc2M9InJlZ2lvbjIgcmFkaXVzIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlIxTCIgQWxpYXM9IuWxguS4gOS6leaOp+WNiuW+hCIgVW5pdD0ibSIgRGVmYXVsdD0iNjAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJsYXllcjEgcmFkaXVzIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlIyTCIgQWxpYXM9IuWxguS6jOS6leaOp+WNiuW+hCIgVmFsaWRhdGVTdHI9IkdUOlIxTCIgVW5pdD0ibSIgRGVmYXVsdD0iMTAwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0ibGF5ZXIyIHJhZGl1cyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSMTEiIEFsaWFzPSLlsYLkuIAx5Yy65Y2K5b6EIiBVbml0PSJtIiBEZWZhdWx0PSI1MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjFzdCByYWRpdXMgb2YgaW5uZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlIxMiIgQWxpYXM9IuWxguS4gDLljLrljYrlvoQiIFVuaXQ9Im0iIERlZmF1bHQ9IjUwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMXN0IHJhZGl1cyBvZiBvdXRlciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUjIxIiBBbGlhcz0i5bGC5LqMMeWMuuWNiuW+hCIgVW5pdD0ibSIgRGVmYXVsdD0iNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIybmQgcmFkaXVzIG9mIGlubmVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSMjIiIEFsaWFzPSLlsYLkuowy5Yy65Y2K5b6EIiBVbml0PSJtIiBEZWZhdWx0PSI1MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjJuZCByYWRpdXMgb2Ygb3V0ZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlJpbiIgQWxpYXM9IuWGheWMuuWNiuW+hCIgVW5pdD0ibSIgRGVmYXVsdD0iNTAiIE1heD0iMTAwMDAiIE1pbj0iMC4wMSIgRGlnaXQ9IjMiIERlc2M9InJhZGl1cyBvZiBpbm5lciByZWdpb24iLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJzaWdtYSIgQWxpYXM9IuWvvOWOi+ezu+aVsOavlCIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSJQcmVzc3VyZSBjb25kdWN0aW9uIHJhdGlvIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InNpZ21hMTEiIEFsaWFzPSLlr7zljovns7vmlbDmr5QxMSIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSJjb25kdWN0aXZpdHkgZmFjdG9yIHJhdGlvMTEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ic2lnbWFGMSIgQWxpYXM9IuWvvOWOi+ezu+aVsOavlEYxIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9ImNvbmR1Y3Rpdml0eSBmYWN0b3IgcmF0aW9mMSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJzaWdtYTIxIiBBbGlhcz0i5a+85Y6L57O75pWw5q+UMjEiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0iY29uZHVjdGl2aXR5IGZhY3RvciByYXRpbzIxIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InNpZ21hMzEiIEFsaWFzPSLlr7zljovns7vmlbDmr5QzMSIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSJjb25kdWN0aXZpdHkgZmFjdG9yIHJhdGlvMzEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ic2lnbWE0MSIgQWxpYXM9IuWvvOWOi+ezu+aVsOavlDQxIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9ImNvbmR1Y3Rpdml0eSBmYWN0b3IgcmF0aW80MSIvPg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IiIgQWxpYXM9Iua4l+a1geinhOW+i+absue6vyI+DQogICAgPFBhcmFJdGVtIE5hbWU9ImExIiBBbGlhcz0i57O75pWwMSIgVW5pdD0iIiBEZWZhdWx0PSIxMDAiIE1heD0iMTAwMDAwIiBNaW49IjEwMDAwMCIgRGlnaXQ9IjMiIERlc2M9ImN1cnZlIG9mIHZlbG9jaXR5LXByZXNzdXJlIGdyYWRpZW50IGZhY3RvcjEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iYTIiIEFsaWFzPSLns7vmlbAyIiBVbml0PSIiIERlZmF1bHQ9IjEwMCIgTWF4PSIxMDAwMDAiIE1pbj0iMTAwMDAwIiBEaWdpdD0iMyIgRGVzYz0iY3VydmUgb2YgdmVsb2NpdHktcHJlc3N1cmUgZ3JhZGllbnQgZmFjdG9yMiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJhMyIgQWxpYXM9Iuezu+aVsDMiIFVuaXQ9IiIgRGVmYXVsdD0iMTAwIiBNYXg9IjEwMDAwMCIgTWluPSIxMDAwMDAiIERpZ2l0PSIzIiBEZXNjPSJjdXJ2ZSBvZiB2ZWxvY2l0eS1wcmVzc3VyZSBncmFkaWVudCBmYWN0b3IzIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImE0IiBBbGlhcz0i57O75pWwNCIgVW5pdD0iIiBEZWZhdWx0PSIxMDAiIE1heD0iMTAwMDAwIiBNaW49IjEwMDAwMCIgRGlnaXQ9IjMiIERlc2M9ImN1cnZlIG9mIHZlbG9jaXR5LXByZXNzdXJlIGdyYWRpZW50IGZhY3RvcjQiLz4NCiAgPC9QYXJhR3JvdXA+DQoNCiAgPFBhcmFHcm91cCBOYW1lPSIiIEFsaWFzPSLnibnmrorlgqjlsYLlj4LmlbAiPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJEIiBBbGlhcz0i5by55oCn5YKo5a655q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0ic3RvcmF0aXZpdHkgcmF0aW8iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iRDEiIEFsaWFzPSLlvLnmgKflgqjlrrnmr5QxIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0ic3RvcmF0aXZpdHkgcmF0aW8xIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkQyIiBBbGlhcz0i5by55oCn5YKo5a655q+UMiIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMTAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9InN0b3JhdGl2aXR5IHJhdGlvMiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYWYiIEFsaWFzPSLoo4LnvJ3lvLnmgKflgqjlrrnmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9ImVsYXN0aWNpdHkgc3RvcmF0aXZpdHkgcmF0aW8iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2F2IiBBbGlhcz0i5a2U5rSe5by55oCn5YKo5a655q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJlbGFzdGljaXR5IHN0b3JhdGl2aXR5IHJhdGlvIG9mIGlubmVyIHZ1ZyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYXYxIiBBbGlhcz0i5YaF5Yy65a2U5rSe5by55oCn5YKo5a655q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJlbGFzdGljaXR5IHN0b3JhdGl2aXR5IHJhdGlvIG9mIGlubmVyIHZ1ZyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYXYyIiBBbGlhcz0i5aSW5Yy65a2U5rSe5by55oCn5YKo5a655q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJlbGFzdGljaXR5IHN0b3JhdGl2aXR5IHJhdGlvIG9mIG91dGVyIHZ1ZyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYUYxIiBBbGlhcz0i5YaF5Yy66KOC57yd5by55oCn5YKo5a655q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJlbGFzdGljaXR5IHN0b3JhdGl2aXR5IHJhdGlvIG9mIGlubmVyIGZyYWN0dXJlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Im9tZWdhbSIgQWxpYXM9IuWfuui0qOW8ueaAp+WCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iNSIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciBtYXRyaXgiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2FtMSIgQWxpYXM9IuWGheWMuuWfuui0qOW8ueaAp+WCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iNSIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciBtYXRyaXgiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2FtMiIgQWxpYXM9IuWkluWMuuWfuui0qOW8ueaAp+WCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iNSIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBvdXRlciBtYXRyaXgiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2FGMiIgQWxpYXM9IuWkluWMuuijgue8neW8ueaAp+WCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBvdXRlciBmcmFjdHVyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYWYxIiBBbGlhcz0i6KOC57ydMeW8ueaAp+WCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2FmMiIgQWxpYXM9Iuijgue8nTLlvLnmgKflgqjlrrnmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9ImVsYXN0aWNpdHkgc3RvcmF0aXZpdHkgcmF0aW8iLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9Im9tZWdhdiIgQWxpYXM9Iua6tuWtlOW8ueaAp+WCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciB2dWciLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9Im9tZWdhViIgQWxpYXM9Iua6tua0nuW8ueaAp+WCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciB2dWciLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9Im9tZWdhVjEiIEFsaWFzPSLmurbmtJ4x5by55oCn5YKo5a655q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJlbGFzdGljaXR5IHN0b3JhdGl2aXR5IHJhdGlvIG9mIGlubmVyIHZ1ZyIvPg0KICAgIDwhLS1YQSItLT4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ3MTEiIEFsaWFzPSLlsYLkuIAx5Yy65YKo5a655q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjFzdCBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0idzEyIiBBbGlhcz0i5bGC5LiAMuWMuuWCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjI1IiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIxc3Qgc3RvcmF0aXZpdHkgcmF0aW8gb2Ygb3V0ZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IncyMSIgQWxpYXM9IuWxguS6jDHljLrlgqjlrrnmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHN0b3JhdGl2aXR5IHJhdGlvIG9mIGlubmVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ3MjIiIEFsaWFzPSLlsYLkuowy5Yy65YKo5a655q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjJuZCBzdG9yYXRpdml0eSByYXRpbyBvZiBvdXRlciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0idzEiIEFsaWFzPSLlhoXljLrlsYLkuIDlgqjlrrnmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0ic3RvcmF0aXZpdHkgcmF0aW8gb2YgaW5uZXIgcmVnaW9uIGxheWVyMSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ3MiIgQWxpYXM9IuWkluWMuuWxguS4gOWCqOWuueavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjI1IiBNYXg9IjEiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSJzdG9yYXRpdml0eSByYXRpbyBvZiBvdXRlciByZWdpb24gbGF5ZXIyIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhIiBBbGlhcz0i56qc5rWB57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuMDAwMDAxIiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJjcm9zcyBmbG93IGNvZWZmaWNpZW50Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYTEiIEFsaWFzPSLnqpzmtYHns7vmlbAxIiBVbml0PSIiIERlZmF1bHQ9IjAuMDAwMDAxIiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJjcm9zcyBmbG93IGNvZWZmaWNpZW50Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYTIiIEFsaWFzPSLnqpzmtYHns7vmlbAyIiBVbml0PSIiIERlZmF1bHQ9IjAuMDAwMDAxIiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJjcm9zcyBmbG93IGNvZWZmaWNpZW50Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYW1mIiBBbGlhcz0i5Z+66LSo5ZCR6KOC57yd56qc5rWB57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuMDAwMDAxIiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJjcm9zcyBmbG93IGNvZWZmaWNpZW50IG9mIGlubmVyIHZ1ZyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJsYW1iZGFtdiIgQWxpYXM9IuWfuui0qOWQkeWtlOa0nueqnOa1geezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCBvZiBpbm5lciB2dWciLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhdmYiIEFsaWFzPSLlrZTmtJ7lkJHoo4LnvJ3nqpzmtYHns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMC4wMDAwMDEiIE1heD0iMSIgTWluPSIwIiBTY2llbnRpZmljPSIxIiBEaWdpdD0iMTAiIERlc2M9ImNyb3NzIGZsb3cgY29lZmZpY2llbnQgb2YgaW5uZXIgdnVnIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYXYxIiBBbGlhcz0i5YaF5Yy65a2U5rSe56qc5rWB57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuMDAwMDAxIiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJjcm9zcyBmbG93IGNvZWZmaWNpZW50IG9mIGlubmVyIHZ1ZyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJsYW1iZGFtMSIgQWxpYXM9IuWGheWMuuWfuui0qOeqnOa1geezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCBvZiBvdXRlciBtYXRyaXgiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhdjIiIEFsaWFzPSLlpJbljLrlrZTmtJ7nqpzmtYHns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMWUtOCIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCBvZiBvdXRlciB2dWciLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhbTIiIEFsaWFzPSLlpJbljLrln7rotKjnqpzmtYHns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMWUtMTAiIE1heD0iMSIgTWluPSIwIiBTY2llbnRpZmljPSIxIiBEaWdpdD0iMTAiIERlc2M9ImNyb3NzIGZsb3cgY29lZmZpY2llbnQgb2Ygb3V0ZXIgbWF0cml4Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYVBGMSIgQWxpYXM9IjHljLrlsYLnqpzns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMWUtNSIgTWF4PSIxIiBNaW49IjFlLTE1IiBEaWdpdD0iMyIgRGVzYz0ibGF5ZXIgY3Jvc3NmbG93IGNvZWZmaWNpZW50IG9mIGlubmVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJsYW1iZGFQRjIiIEFsaWFzPSIy5Yy65bGC56qc57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjFlLTUiIE1heD0iMSIgTWluPSIxZS0xNSIgRGlnaXQ9IjMiIERlc2M9ImxheWVyIGNyb3NzZmxvdyBjb2VmZmljaWVudCBvZiBvdXRlciByZWdpb24iLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJsYW1iZGFwZiIgQWxpYXM9IuWtlOmameWQkeijgue8neeqnOa1geezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCBvZiBpbm5lciB2dWciLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYXZmIiBBbGlhcz0i5rq25a2U5ZCR6KOC57yd56qc5rWB57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuMDAwMDAxIiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJjcm9zcyBmbG93IGNvZWZmaWNpZW50IG9mIGlubmVyIHZ1ZyIvPg0KICAgIDwhLS1YQSItLT4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNS3UiIEFsaWFzPSLmtYHluqYiIFVuaXQ9Im1ELyhtUGEucykiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgVXNlTW9kZT0iNyIgRGVzYz0ibW9iaWxpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTSIgQWxpYXM9Iua1geW6puavlCIgVW5pdD0iIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSJtb2JpbGl0eSByYXRpbyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNTDEiIEFsaWFzPSLlsYLkuIDmtYHluqbmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0ibW9iaWxpdHkgcmF0aW8gb2YgbGF5ZXIxIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1MMiIgQWxpYXM9IuWxguS6jOa1geW6puavlCIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSJtb2JpbGl0eSByYXRpbyBvZiBsYXllcjIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTTExIiBBbGlhcz0i5rWB5bqm5q+UMTEiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxIiBNaW49IjEiIERpZ2l0PSIzIiBEZXNjPSJtb2JpbGl0eSByYXRpbzExIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1GMSIgQWxpYXM9Iua1geW6puavlEYxIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwMCIgTWluPSIxZS0wMyIgRGlnaXQ9IjMiIERlc2M9Im1vYmlsaXR5IHJhdGlvZjEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTTIxIiBBbGlhcz0i5rWB5bqm5q+UMjEiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMDAwIiBNaW49IjFlLTAzIiBEaWdpdD0iMyIgRGVzYz0ibW9iaWxpdHkgcmF0aW8yMSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNMzEiIEFsaWFzPSLmtYHluqbmr5QzMSIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwMDAiIE1pbj0iMWUtMDMiIERpZ2l0PSIzIiBEZXNjPSJtb2JpbGl0eSByYXRpbzMxIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik00MSIgQWxpYXM9Iua1geW6puavlDQxIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwMCIgTWluPSIxZS0wMyIgRGlnaXQ9IjMiIERlc2M9Im1vYmlsaXR5IHJhdGlvNDEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iWDExIiBBbGlhcz0i5bGC5LiAMeWMuua1geWKqOezu+aVsOavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjI1IiBNYXg9IjEiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSIxc3QgdHJhbnNtaXNzaWJpbGl0eSBvZiBpbm5lciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iWDEyIiBBbGlhcz0i5bGC5LiAMuWMuua1geWKqOezu+aVsOavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjI1IiBNYXg9IjEiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSIxc3QgdHJhbnNtaXNzaWJpbGl0eSBvZiBvdXRlciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iWDIxIiBBbGlhcz0i5bGC5LqMMeWMuua1geWKqOezu+aVsOavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjI1IiBNYXg9IjEiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSIybmQgdHJhbnNtaXNzaWJpbGl0eSBvZiBpbm5lciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iWDIyIiBBbGlhcz0i5bGC5LqMMuWMuua1geWKqOezu+aVsOavlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjI1IiBNYXg9IjEiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSIybmQgdHJhbnNtaXNzaWJpbGl0eSBvZiBvdXRlciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iWDEiIEFsaWFzPSLlhoXljLrlsYLkuIDmtYHliqjns7vmlbDmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0idHJhbnNtaXNzaWJpbGl0eSBvZiBpbm5lciByZWdpb24gbGF5ZXIxIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlgyIiBBbGlhcz0i5aSW5Yy65bGC5LiA5rWB5Yqo57O75pWw5q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9InRyYW5zbWlzc2liaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIGxheWVyMiIvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9ImdhbW1hIiBBbGlhcz0i5bqU5Yqb5pWP5oSf57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDEiIE1heD0iMC4xIiBNaW49IjFlLTEwIiBEaWdpdD0iNSIgRGVzYz0ic3RyZXNzIHNlbnNpdGl2aXR5IGNvZWZmaWNpZW50Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkciIEFsaWFzPSLlkK/liqjljovlipvmoq/luqYiIFVuaXQ9Ik1QYS9tIiBEZWZhdWx0PSIwLjAwMSIgTWF4PSIxMCIgTWluPSIwLjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0ic3RhcnRpbmcgcHJlc3N1cmUgZ3JhZGllbnQiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iYndmIiBBbGlhcz0i5bqV5rC057O75pWwIiBVbml0PSIlIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImJvdHRvbSB3YXRlciBjb2VmZmljaWVudCIvPg0KDQogICAgPFBhcmFJdGVtIAlOYW1lPSJLUmZ2IiBBbGlhcz0i6KOC57yd5rq25a2U5riX6YCP546H5q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuNSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJQZXJtZWFiaWxpdHkgcmF0aW8gKGZyYWN0dXJlLyhtYXRyaXgrZnJhY3R1cmUpKSAiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPCEtLTxQYXJhSXRlbSAJTmFtZT0iS1JmdiIgQWxpYXM9Iuijgue8nea6tua0nua4l+mAj+eOh+avlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iUGVybWVhYmlsaXR5IHJhdGlvIChmcmFjdHVyZS8oY2F2ZStmcmFjdHVyZSkpICIvPiBYQSItLT4NCiAgICA8UGFyYUl0ZW0gCU5hbWU9IkFmIiBBbGlhcz0i6KOC57yd6L+H5rWB6Z2i56evIiBVbml0PSJtXjIiIERlZmF1bHQ9IjAuNSIgTWF4PSIxMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IkZsb3cgYXJlYSAoZnJhY3R1cmUpICIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gCU5hbWU9IkFmMSIgQWxpYXM9Iuijgue8nTHov4fmtYHpnaLnp68iIFVuaXQ9Im1eMiIgRGVmYXVsdD0iMC41IiBNYXg9IjEwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iRmxvdyBhcmVhIChmcmFjdHVyZTEpICIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gCU5hbWU9IkFmMiIgQWxpYXM9Iuijgue8nTLov4fmtYHpnaLnp68iIFVuaXQ9Im1eMiIgRGVmYXVsdD0iMC41IiBNYXg9IjEwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iRmxvdyBhcmVhIChmcmFjdHVyZTIpICIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gCU5hbWU9IkxmIiBBbGlhcz0i6KOC57yd6ZW/5bqmIiBVbml0PSJtIiBEZWZhdWx0PSIxMDAiIE1heD0iMTAwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iTGVuZ3RoIChmcmFjdHVyZSkgIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSAJTmFtZT0iTGYxIiBBbGlhcz0i6KOC57ydMemVv+W6piIgVW5pdD0ibSIgRGVmYXVsdD0iMTAwIiBNYXg9IjEwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9Ikxlbmd0aCAoZnJhY3R1cmUxKSAiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIAlOYW1lPSJMZjIiIEFsaWFzPSLoo4LnvJ0y6ZW/5bqmIiBVbml0PSJtIiBEZWZhdWx0PSIyMDAiIE1heD0iMTAwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iTGVuZ3RoIChmcmFjdHVyZTIpICIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gCU5hbWU9IlZ2IiBBbGlhcz0i5rq25rSe5L2T56evIiBVbml0PSJtXjMiIERlZmF1bHQ9IjEwMDAwIiBNYXg9IjEwMDAwMDAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IlZvbHVtZSAoY2F2ZSkgIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSAJTmFtZT0iVnYxIiBBbGlhcz0i5rq25rSeMeS9k+enryIgVW5pdD0ibV4zIiBEZWZhdWx0PSI1MDAwMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJWb2x1bWUgKGNhdmUxKSAiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIAlOYW1lPSJWdjIiIEFsaWFzPSLmurbmtJ4y5L2T56evIiBVbml0PSJtXjMiIERlZmF1bHQ9IjEwMDAwIiBNYXg9IjEwMDAwMDAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9InZvbHVtZSAoY2F2ZTIpICIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gCU5hbWU9IlJ2IiBBbGlhcz0i5rq25rSe5Y2K5b6EIiBVbml0PSJtIiBEZWZhdWx0PSIxIiBNYXg9IjEwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iUmFkaXVzIChjYXZlKSAiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIAlOYW1lPSJsYW1iZGF2MXciIEFsaWFzPSLmurbmtJ4x5ZCR5LqV562S56qc5rWB57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuNSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJDcm9zc2Zsb3cgY29lZmZpY2llbnQgKGNhdmUxLSB3ZWxsYm9yZSkgIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSAJTmFtZT0ibGFtYmRhdjF2MiIgQWxpYXM9Iua6tua0njHlkJHmurbmtJ4y56qc5rWB57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuNSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJDcm9zc2Zsb3cgY29lZmZpY2llbnQgKGNhdmUxLSBjYXZlMikgIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSAJTmFtZT0ibGFtYmRhdjJ3IiBBbGlhcz0i5rq25rSeMuWQkeS6leetkueqnOa1geezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iQ3Jvc3NmbG93IGNvZWZmaWNpZW50IChjYXZlMi0gd2VsbGJvcmUpIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDwhLS08UGFyYUl0ZW0gCU5hbWU9IktSZjFmMiIgQWxpYXM9Iuijgue8nTHoo4LnvJ0y5riX6YCP546H5q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuNSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJUaGUgcmF0aW8gb2YgdGhlIHByb2R1Y3Qgb2YgcGVybWVhYmlsaXR5IGFuZCBmbG93IGFyZWEgKGZyYWN0dXJlIDEvKGZyYWN0dXJlIDErZnJhY3R1cmUgMikpIi8+IFhBIi0tPg0KDQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i5YW25LuW5Y+C5pWwIj4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJodyIgQWxpYXM9IuWwhOWtlOmrmOW6piIgVW5pdD0ibSIgRGVmYXVsdD0iMSIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9Imxlbmd0aCBvZiBjb25uZWN0ZWQgc2VjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJaYSIgQWxpYXM9IuWwhOW8gOautemhtumDqOS9jee9riIgVW5pdD0ibSIgRGVmYXVsdD0iMi41IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0idG9wIHBvc2l0aW9uIG9mIGNvbm5lY3RlZCBzZWN0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Inp3IiBBbGlhcz0i5Z6C5ZCR5LqV5L2NIiBVbml0PSJtIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0i55Sf5Lqn5q615Lit5b+D6Led5YKo5bGC5bqV6YOo6Led56a7KHZlcnRpY2FsIHdlbGwgcG9zaXRpb24pIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0ieGYiIEFsaWFzPSLoo4LnvJ3ljYrplb8iIFVuaXQ9Im0iIERlZmF1bHQ9IjUwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iNiIgRGVzYz0iZnJhY3R1cmUgaGFsZi1sZW5ndGgiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0id2YiIEFsaWFzPSLoo4LnvJ3lrr3luqYiIFVuaXQ9Im0iIERlZmF1bHQ9IjAuMDAxIiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI2IiBEZXNjPSJmcmFjdHVyZSB3aWR0aCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJGYyIgQWxpYXM9Iuijgue8neWvvOa1geiDveWKmyIgVW5pdD0ibUQubSIgRGVmYXVsdD0iMTAwMDAiIE1heD0iMWUrMzAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJmcmFjdHVyZSBjb25kdWN0aXZpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iRmMxIiBBbGlhcz0i6KOC57yd5a+85rWB6IO95YqbMSIgVW5pdD0ibUQubSIgRGVmYXVsdD0iMTUwMDAiIE1heD0iMWUrMzAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJmcmFjdHVyZSBjb25kdWN0aXZpdHkxIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkZjMiIgQWxpYXM9Iuijgue8neWvvOa1geiDveWKmzIiIFVuaXQ9Im1ELm0iIERlZmF1bHQ9IjEwMDAwIiBNYXg9IjFlKzMwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZnJhY3R1cmUgY29uZHVjdGl2aXR5MiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJGYzMiIEFsaWFzPSLoo4LnvJ3lr7zmtYHog73lipszIiBVbml0PSJtRC5tIiBEZWZhdWx0PSI1MDAwIiBNYXg9IjFlKzMwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZnJhY3R1cmUgY29uZHVjdGl2aXR5MyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJGY0QiIEFsaWFzPSLml6Dph4/nurLoo4LnvJ3lr7zmtYHog73lipsiIFVuaXQ9IiIgRGVmYXVsdD0iNTAwMCIgTWF4PSIxZSszMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIFVzZU1vZGU9IjMiIERlc2M9ImZyYWN0dXJlIGNvbmR1Y3Rpdml0eSBkaW1lbnNpb25sZXNzIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0ieGYxIiBBbGlhcz0i6KOC57yd6ZW/5bqmMSIgVW5pdD0ibSIgRGVmYXVsdD0iMjAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSI2IiBEZXNjPSJmcmFjdHVyZSBoYWxmLWxlbmd0aDEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieGYyIiBBbGlhcz0i6KOC57yd6ZW/5bqmMiIgVW5pdD0ibSIgRGVmYXVsdD0iNDAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSI2IiBEZXNjPSJmcmFjdHVyZSBoYWxmLWxlbmd0aDIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieGYzIiBBbGlhcz0i6KOC57yd6ZW/5bqmMyIgVW5pdD0ibSIgRGVmYXVsdD0iNjAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSI2IiBEZXNjPSJmcmFjdHVyZSBoYWxmLWxlbmd0aDMiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieGZzdW0iIEFsaWFzPSLmgLvoo4LnvJ3plb/luqYiIFVuaXQ9Im0iIERlZmF1bHQ9IjYwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBVc2VNb2RlPSIzIiBEaWdpdD0iMyIgRGVzYz0idG90YWwgZnJhY3R1cmUgaGFsZi1sZW5ndGgiLz4NCiAgICANCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3hmIiBBbGlhcz0i6KOC57yd5Y2K6ZW/5pS+57yp57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwIiBNaW49IjFlLTAyIiBEaWdpdD0iMyIgRGVzYz0iZnJhY3R1cmUgaGFsZi1sZW5ndGgzIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDRmMiIEFsaWFzPSLoo4LnvJ3lr7zmtYHog73lipvmlL7nvKnns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMDAiIE1pbj0iMWUtMDIiIERpZ2l0PSIzIiBEZXNjPSJmcmFjdHVyZSBoYWxmLWxlbmd0aDMiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IkZjXzEiIEFsaWFzPSLlgqjlsYIx6KOC57yd5a+85rWB6IO95YqbIiBVbml0PSJtRC5tIiBEZWZhdWx0PSIxNTAwMCIgTWF4PSIxZSszMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImZyYWN0dXJlIGNvbmR1Y3Rpdml0eTEiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IkZjXzIiIEFsaWFzPSLlgqjlsYIy6KOC57yd5a+85rWB6IO95YqbIiBVbml0PSJtRC5tIiBEZWZhdWx0PSIxMDAwMCIgTWF4PSIxZSszMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImZyYWN0dXJlIGNvbmR1Y3Rpdml0eTIiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IkZjXzMiIEFsaWFzPSLlgqjlsYIz6KOC57yd5a+85rWB6IO95YqbIiBVbml0PSJtRC5tIiBEZWZhdWx0PSI1MDAwIiBNYXg9IjFlKzMwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZnJhY3R1cmUgY29uZHVjdGl2aXR5MyIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieGZfMSIgQWxpYXM9IuWCqOWxgjHoo4LnvJ3ljYrplb8iIFVuaXQ9Im0iIERlZmF1bHQ9IjIwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iNiIgRGVzYz0iZnJhY3R1cmUgaGFsZi1sZW5ndGgxIi8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ4Zl8yIiBBbGlhcz0i5YKo5bGCMuijgue8neWNiumVvyIgVW5pdD0ibSIgRGVmYXVsdD0iNDAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSI2IiBEZXNjPSJmcmFjdHVyZSBoYWxmLWxlbmd0aDIiLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9InhmXzMiIEFsaWFzPSLlgqjlsYIz6KOC57yd5Y2K6ZW/IiBVbml0PSJtIiBEZWZhdWx0PSI2MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjYiIERlc2M9ImZyYWN0dXJlIGhhbGYtbGVuZ3RoMyIvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icSIgQWxpYXM9Iui/keS6leautea1gemHj+avlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0icmF0ZSByYXRpbyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJxMSIgQWxpYXM9Iui/keS6leautea1gemHj+avlDEiIFVuaXQ9IiIgRGVmYXVsdD0iMC40IiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjMiIERlc2M9InJhdGUgcmF0aW8xIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InEyIiBBbGlhcz0i6L+R5LqV5q615rWB6YeP5q+UMiIgVW5pdD0iIiBEZWZhdWx0PSIwLjMiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0icmF0ZSByYXRpbzIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iRSIgQWxpYXM9IuW5s+mdouW8ueaAp+aooemHjyIgVW5pdD0iTVBhIiBEZWZhdWx0PSIxMDAwMCIgTWF4PSIxMDAwMDAiIE1pbj0iMTAwMCIgRGlnaXQ9IjMiIERlc2M9InBsYW5lLXN0cmFpbiBtb2R1bHVzIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iRGlmZmRwIiBBbGlhcz0i5Yed5p6Q5L2T57O75Lik55u45YGP5beu57O75pWwIiBVbml0PSJNUGEiIERlZmF1bHQ9IjEwMDAwIiBNYXg9IjEwMDAwMCIgTWluPSIxMDAwIiBEaWdpdD0iMyIgRGVzYz0iIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkRld1AiIEFsaWFzPSLlh53mnpDmsJTpnLLngrnljovlipsiIFVuaXQ9Ik1QYSIgRGVmYXVsdD0iMTAwMDAiIE1heD0iMTAwMDAwIiBNaW49IjEwMDAiIERpZ2l0PSIzIiBEZXNjPSIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ia3N0YXJmdiIgQWxpYXM9Iuijgue8neWtlOa0nua4l+mAj+eOh+avlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNSIgRGVzYz0iIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImtzdGFyZm0iIEFsaWFzPSLoo4LnvJ3ln7rotKjmuJfpgI/njofmr5QiIFVuaXQ9IiIgRGVmYXVsdD0iMC41IiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjUiIERlc2M9IiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJhIiBBbGlhcz0i5ZC46ZmE57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI1IiBEZXNjPSIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iYmV0YSIgQWxpYXM9IuW5suaJsOezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSItMSIgRGlnaXQ9IjUiIERlc2M9IiIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJBcmVhIiBBbGlhcz0i5rK56JeP6Z2i56evIiBVbml0PSJtXjIiIERlZmF1bHQ9IjEwMDAwIiBNYXg9IjFlKzMwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0icmVzZXJ2b2lyIGFyZWEiLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJYZlBvc1giIEFsaWFzPSLoo4LnvJ3lnZDmoIdYIiBVbml0PSJtIiBEZWZhdWx0PSIwIiBEaWdpdD0iMyIgRGVzYz0iWGYgUG9zIFgiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iWGZQb3NZIiBBbGlhcz0i6KOC57yd5Z2Q5qCHWSIgVW5pdD0ibSIgRGVmYXVsdD0iMCIgRGlnaXQ9IjMiIERlc2M9IlhmIFBvcyBZIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0ibmYiIEFsaWFzPSLoo4LnvJ3mnaHmlbAiIERlZmF1bHQ9IjIiIE1pbj0iMiIgTWF4PSIxMDAwIiBQYXJhVHlwZT0iNyIgRGVzYz0ibnVtYmVyIG9mIGxpcXVpZCBzZWN0aW9ucyIgU3ViSXRlbXM9IlhmUG9zWDtYZlBvc1k7eGY7RmMiLz4NCg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IkJkeSIgQWxpYXM9Iui+ueeVjCIgPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9InRvcCIgQWxpYXM9Iumhtui+ueeVjCIgTGF5ZXJNb2RlPSIyIiBEZWZhdWx0PSIwIiBQYXJhVHlwZT0iNiIgQmR5VHlwZT0iMSIgSXRlbU9wdGlvbnM9IuS4jea4l+mAjzvlrprljosiIERlc2M9InRvcCBib3VuZGFyeSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJib3R0b20iIEFsaWFzPSLlupXovrnnlYwiIExheWVyTW9kZT0iMiIgRGVmYXVsdD0iMSIgUGFyYVR5cGU9IjYiIEJkeVR5cGU9IjEiIEl0ZW1PcHRpb25zPSLkuI3muJfpgI875a6a5Y6LIiBEZXNjPSJib3R0b20gYm91bmRhcnkiLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ4MSIgQWxpYXM9Iui+ueeVjOi3neemuzEiIExheWVyTW9kZT0iMiIgVW5pdD0ibSIgRGVmYXVsdD0iNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBCZHlUeXBlPSIwIiBEZXNjPSJib3VuZGFyeSBkaXN0YW5jZTEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieDIiIEFsaWFzPSLovrnnlYzot53nprsyIiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjUwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0iYm91bmRhcnkgZGlzdGFuY2UyIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IngzIiBBbGlhcz0i6L6555WM6Led56a7MyIgTGF5ZXJNb2RlPSIyIiBVbml0PSJtIiBEZWZhdWx0PSI1MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIEJkeVR5cGU9IjAiIERlc2M9ImJvdW5kYXJ5IGRpc3RhbmNlMyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ4NCIgQWxpYXM9Iui+ueeVjOi3neemuzQiIExheWVyTW9kZT0iMiIgVW5pdD0ibSIgRGVmYXVsdD0iNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBCZHlUeXBlPSIwIiBEZXNjPSJib3VuZGFyeSBkaXN0YW5jZTQiLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJuZSIgQWxpYXM9IuWMl+i+ueeVjCIgTGF5ZXJNb2RlPSIyIiBVbml0PSJtIiBEZWZhdWx0PSI0MDAiIE1heD0iMTAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIEJkeVR5cGU9IjAiIERlc2M9InNxdWFyZSBib3VuZGFyeSBkaXN0YW5jZShub3J0aCkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ic2UiIEFsaWFzPSLljZfovrnnlYwiIExheWVyTW9kZT0iMiIgVW5pdD0ibSIgRGVmYXVsdD0iNDAwIiBNYXg9IjEwMDAwIiBNaW49IjEiIERpZ2l0PSIzIiBCZHlUeXBlPSIwIiBEZXNjPSJzcXVhcmUgYm91bmRhcnkgZGlzdGFuY2Uoc291dGgpIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IndlIiBBbGlhcz0i6KW/6L6555WMIiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjQwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0ic3F1YXJlIGJvdW5kYXJ5IGRpc3RhbmNlKHdlc3QpIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImVlIiBBbGlhcz0i5Lic6L6555WMIiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjQwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0ic3F1YXJlIGJvdW5kYXJ5IGRpc3RhbmNlKGVhc3QpIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InJlIiBBbGlhcz0i5ZyG5b2i6L6555WMIiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjQwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0iY2lyY3VsYXIgYm91bmRhcnkgZGlzdGFuY2UiLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDcm9zc0FuZ2xlIiBBbGlhcz0i6L6555WM5aS56KeSIiBMYXllck1vZGU9IjIiIE1pbj0iMCIgTWF4PSIxODAiIFVuaXQ9IsKwIiBEZWZhdWx0PSI5MCIgRGlnaXQ9IjEiIFRpcHM9IiIgRGVzYz0iYW5nbGUgb2YgYm91bmRhcnkiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InJlXzEiIEFsaWFzPSLlgqjlsYIx5ZyG5b2i6L6555WMIiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjQwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0iY2lyY3VsYXIgYm91bmRhcnkgZGlzdGFuY2UiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icmVfMiIgQWxpYXM9IuWCqOWxgjLlnIblvaLovrnnlYwiIExheWVyTW9kZT0iMiIgVW5pdD0ibSIgRGVmYXVsdD0iNDAwIiBNYXg9IjEwMDAwIiBNaW49IjEiIERpZ2l0PSIzIiBCZHlUeXBlPSIwIiBEZXNjPSJjaXJjdWxhciBib3VuZGFyeSBkaXN0YW5jZSIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJyZV8zIiBBbGlhcz0i5YKo5bGCM+WchuW9oui+ueeVjCIgTGF5ZXJNb2RlPSIyIiBVbml0PSJtIiBEZWZhdWx0PSI0MDAiIE1heD0iMTAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIEJkeVR5cGU9IjAiIERlc2M9ImNpcmN1bGFyIGJvdW5kYXJ5IGRpc3RhbmNlIi8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9InRoZXRhIiBBbGlhcz0i6KeS5bqmIiBMYXllck1vZGU9IjIiIFVuaXQ9IsKwIiBEZWZhdWx0PSI5MCIgTWF4PSIxODAiIE1pbj0iMCIgRGlnaXQ9IjEiIERlc2M9ImFuZ2xlIG9mIGJvdW5kYXJ5Ii8+DQoNCiAgPC9QYXJhR3JvdXA+DQoNCiAgPFBhcmFHcm91cCBOYW1lPSIiIEFsaWFzPSLmtYHkvZPmgKfotKgiPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IlpnIiBBbGlhcz0i5rCU5L2T5YGP5beu5Zug5a2QIiBEZWZhdWx0PSIxIiBNYXg9IjEwIiBNaW49IjAiIERpZ2l0PSI0IiBEZXNjPSJaIGZhY3RvciIvPg0KICAgIDwhLS08UGFyYUl0ZW0gTmFtZT0iQmciIEFsaWFzPSLmsJTkvZPnp6/ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJmb3JtYXRpb24gdm9sdW1lIGZhY3RvciIvPi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDZyIgQWxpYXM9IuawlOS9k+WOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUmhvZyIgQWxpYXM9IuawlOS9k+WvhuW6piIgVW5pdD0ia2cvbV4zIi8+DQogICAgPCEtLTxQYXJhSXRlbSBOYW1lPSJNaXVnIiBBbGlhcz0i5rCU6buP5bqmIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIyIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZ2FzIHZpc2Nvc2l0eSIvPi0tPg0KICAgIDwhLS08UGFyYUl0ZW0gTmFtZT0iRGlmZmRwIiBBbGlhcz0i5Yed5p6Q5L2T57O75Lik55u45YGP5beu57O75pWwIiBVbml0PSJNUGEiIERlZmF1bHQ9IjEwMDAwIiBNYXg9IjEwMDAwMCIgTWluPSIxMDAwIiBEaWdpdD0iMyIgRGVzYz0iIi8+LS0+DQogICAgPCEtLTxQYXJhSXRlbSBOYW1lPSJEZXdQIiBBbGlhcz0i5Yed5p6Q5rCU6Zyy54K55Y6L5YqbIiBVbml0PSJNUGEiIERlZmF1bHQ9IjEwMDAwIiBNYXg9IjEwMDAwMCIgTWluPSIxMDAwIiBEaWdpdD0iMyIgRGVzYz0iIi8+LS0+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iUGIiIEFsaWFzPSLms6HngrnljovlipsiIFVuaXQ9Ik1QYSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJScyIgQWxpYXM9IuawlOayueavlCIgVW5pdD0ibV4zL21eMyIgRGVmYXVsdD0iMTAwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZ2FzIG9pbCByYXRpbyIvPg0KICAgIDwhLS08UGFyYUl0ZW0gTmFtZT0iQm8iIEFsaWFzPSLmsrnkvZPnp6/ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJmb3JtYXRpb24gdm9sdW1lIGZhY3RvciIvPi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDbyIgQWxpYXM9IuayueWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUmhvbyIgQWxpYXM9IuayueWvhuW6piIgVW5pdD0ia2cvbV4zIi8+DQogICAgPCEtLTxQYXJhSXRlbSBOYW1lPSJNaXVvIiBBbGlhcz0i5rK555u46buP5bqmIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIxNTAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJvaWwgdmlzY29zaXR5Ii8+LS0+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iUnN3IiBBbGlhcz0i5rCU5rC05q+UIiBVbml0PSJtXjMvbV4zIiBEZWZhdWx0PSIyLjAzIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZ2FzIHdhdGVyIHJhdGlvIi8+DQogICAgPCEtLTxQYXJhSXRlbSBOYW1lPSJCdyIgQWxpYXM9IuawtOS9k+enr+ezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9ImZvcm1hdGlvbiB2b2x1bWUgZmFjdG9yIi8+LS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IkJ3IiBBbGlhcz0i5rC05L2T56ev57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3ciIEFsaWFzPSLmsLTljovnvKnns7vmlbAiIFVuaXQ9IjEvTVBhIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlJob3ciIEFsaWFzPSLmsLTlr4bluqYiIFVuaXQ9ImtnL21eMyIvPg0KICAgIDwhLS08UGFyYUl0ZW0gTmFtZT0iTWl1dyIgQWxpYXM9IuawtOebuOm7j+W6piIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMiIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IndhdGVyIHZpc2Nvc2l0eSIvPi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXV3IiBBbGlhcz0i5rC055u46buP5bqmIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIyIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0id2F0ZXIgdmlzY29zaXR5Ii8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0icm8iIEFsaWFzPSLmsrnnm7jmr5Tph40iIFVuaXQ9IiIgRGVmYXVsdD0iMC44IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0ib2lsIGdyYXZpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icmciIEFsaWFzPSLmsJTnm7jmr5Tph40iIFVuaXQ9IiIgRGVmYXVsdD0iMC43IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZ2FzIGdyYXZpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUHNlcCIgQWxpYXM9IuWIhuemu+WZqOWOi+WKmyIgVW5pdD0iTVBhIiBEZWZhdWx0PSIwLjc5MTExMSIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjYiIERlc2M9InNlcGFyYXRvciBwcmVzc3VyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJUc2VwIiBBbGlhcz0i5YiG56a75Zmo5rip5bqmIiBVbml0PSLihIMiIERlZmF1bHQ9IjE1LjU1NTYiIE1heD0iMTAwMDAiIE1pbj0iLTQ2MCIgRGlnaXQ9IjYiIERlc2M9InNlcGFyYXRvciB0ZW1wZXJhdHVyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJydCIgQWxpYXM9IuayueiXj+a4qeW6piIgVW5pdD0i4oSDIiBEZWZhdWx0PSIxMDAiIE1heD0iMTAwMDAiIE1pbj0iLTI3NCIgRGlnaXQ9IjMiIERlc2M9InJlc2Vydm9pciB0ZW1wZXJhdHVyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ5ZyIgQWxpYXM9IuawlOS9k+aRqeWwlOWIhuaVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjUwMjQ1IiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjMiIERlc2M9ImdhcyBtb2xlIGZyYWN0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InRiIiBBbGlhcz0i5rK454K55rip5bqmIiBVbml0PSLihIMiIERlZmF1bHQ9Ijg4LjIiIE1heD0iMTAwMDAiIE1pbj0iLTI3NCIgRGlnaXQ9IjMiIERlc2M9ImJ1YmJsZSB0ZW1wZXJhdHVyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwd1NDIiBBbGlhcz0i5qCH5Ya15LiL5rC05a+G5bqmIiBVbml0PSJrZy9tXjMiIERlZmF1bHQ9IjEwMDAiIE1heD0iMTAwMDAiIE1pbj0iMWUtNSIgRGlnaXQ9IjMiIERlc2M9IndhdGVyIGRlbnNpdHkgU0MiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGdTQyIgQWxpYXM9Iuagh+WGteS4i+epuuawlOWvhuW6piIgVW5pdD0ia2cvbV4zIiBEZWZhdWx0PSIxLjI5MyIgTWF4PSIxMDAwMCIgTWluPSIxZS01IiBEaWdpdD0iMyIgRGVzYz0iYWlyIGRlbnNpdHkgU0MiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieUNPMiIgQWxpYXM9IuS6jOawp+WMlueis+aRqeWwlOWIhuaVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0iQ08yIG1vbGUgZnJhY3Rpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieU4yIiBBbGlhcz0i5rCu5rCU5pGp5bCU5YiG5pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSIzIiBEZXNjPSJOMiBtb2xlIGZyYWN0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InlIMlMiIEFsaWFzPSLnoavljJbmsKLmkanlsJTliIbmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjMiIERlc2M9IkgyUyBtb2xlIGZyYWN0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InRjIiBBbGlhcz0i5Li055WM5rip5bqmIiBVbml0PSLihIMiIERlZmF1bHQ9Ii02MC41IiBNYXg9IjEwMDAwIiBNaW49Ii0yNzQiIERpZ2l0PSIzIiBEZXNjPSJjcml0aWNhbCB0ZW1wZXJhdHVyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ0cHIiIEFsaWFzPSLlr7nmr5TmuKnluqYiIFVuaXQ9IiIgRGVmYXVsdD0iMi4xIiBNYXg9IjEwMDAwIiBNaW49IjFlLTUiIERpZ2l0PSIzIiBEZXNjPSJjb3JyZXNwb25kaW5nIHRlbXBlcmF0dXJlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBjIiBBbGlhcz0i5Li055WM5Y6L5YqbIiBVbml0PSJNUGEiIERlZmF1bHQ9IjQuNiIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImNyaXRpY2FsIHByZXNzdXJlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBwciIgQWxpYXM9IuWvueavlOWOi+WKmyIgVW5pdD0iTVBhIiBEZWZhdWx0PSI3LjIiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJjb3JyZXNwb25kaW5nIHByZXNzdXJlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1nIiBBbGlhcz0i5rCU5L2T5pGp5bCU6LSo6YePIiBVbml0PSJnL21vbCIgRGVmYXVsdD0iMTYiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJnYXMgbW9sZSBtYXNzIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0id3MiIEFsaWFzPSLnn7/ljJbluqYiIFVuaXQ9Im1nL0wiIERlZmF1bHQ9IjUwMDAwMCIgTWF4PSIxMDAwMDAwIiBNaW49IjAiIERpZ2l0PSIzIiBEZXNjPSJtYXNzIGZyYWN0dXJlIG9mIHNhbHQiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icnAiIEFsaWFzPSLmsrnol4/ljovlipsiIFVuaXQ9Ik1QYSIgRGVmYXVsdD0iMzMuNCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9InJlc2Vydm9pciBwcmVzc3VyZSIvPg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IiIgQWxpYXM9IlRPRE9fd3hkIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUWciIEFsaWFzPSLkuIDngrnms5Xkuqfph48iIFVuaXQ9IjEwXjQqbV4zL2QiIERlZmF1bHQ9IjQ1IiBNYXg9IjFlKzMwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwcm9kdWN0aXZpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUHdmIiBBbGlhcz0i5LiA54K55rOV5rWB5Y6LIiBVbml0PSJNUGEiIERlZmF1bHQ9IjI5LjEiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IkJvdHRvbSBob2xlIHByZXNzdXJlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlJzcSIgQWxpYXM9ImRTL2RRIiBVbml0PSIxL21eMy9kIiBEZWZhdWx0PSIwLjAwMDAxIiBNYXg9IjEwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iUmF0aW8gb2YgUyB0byBRIi8+DQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0iVE9ET193eGQiPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ4dyIgQWxpYXM9IuS6leS9jee9rngiIFVuaXQ9Im0iIERlZmF1bHQ9IjI1MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ5dyIgQWxpYXM9IuS6leS9jee9rnkiIFVuaXQ9Im0iIERlZmF1bHQ9IjI1MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ4ZSIgQWxpYXM9IuWcsOWxgumVv+W6piIgVW5pdD0ibSIgRGVmYXVsdD0iNTAwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InllIiBBbGlhcz0i5Zyw5bGC5a695bqmIiBVbml0PSJtIiBEZWZhdWx0PSI1MDAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iY2RzIiBBbGlhcz0i57uE5ZCI5Y+C5pWwQ0RlMlMiIFVuaXQ9Im0iIERlZmF1bHQ9IjEuMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9IiIvPg0KICA8L1BhcmFHcm91cD4NCg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iTW9kZWxPcHRpb24iIEFsaWFzPSLmqKHlnovpgInpobkiPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNb1dlbCIgQWxpYXM9IuS6leWei+exu+WeiyIgRGVmYXVsdD0iMSIgUGFyYVR5cGU9IjExIiBJdGVtT3B0aW9ucz0i5a6M5YWo5omT5byA55u05LqVO+mDqOWIhuaJk+W8gOebtOS6lTvlrozlhajmiZPlvIDljovoo4Lnm7TkupUo5Z2H5YyA5rWB6YePKTvlrozlhajmiZPlvIDljovoo4Lnm7TkupUo5peg6ZmQ5a+85rWBKSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNb1JlcyIgQWxpYXM9IuWCqOWxguexu+WeiyIgRGVmYXVsdD0iMCIgUGFyYVR5cGU9IjExIiBJdGVtT3B0aW9ucz0i5Z2H6LSoO+WPjOmHjeWtlOmameS7i+i0qOaLn+eos+aAgeWNlea4lzvlj4zph43lrZTpmpnku4votKjmi5/nqLPmgIHlj4zmuJc75LiJ5a2U5Y2V5riX5ouf56iz5oCBIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1vV2JzIiBBbGlhcz0i5LqV5YKo57G75Z6LIiBMYXllck1vZGU9IjEiIERlZmF1bHQ9IjAiIFBhcmFUeXBlPSIxMSIgSXRlbU9wdGlvbnM9IuaXoOS6leWCqDvlrprkupXlgqg75Y+Y5LqV5YKoKEZhaXIpO+WPmOS6leWCqChIZWdlbWFuKSIvPg0KICA8L1BhcmFHcm91cD4NCiAgPFBhcmFHcm91cCBOYW1lPSIiIEFsaWFzPSLovrnnlYwiID4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTW9CZHkiIEFsaWFzPSLovrnnlYznsbvlnosiIExheWVyTW9kZT0iMiIgRGVmYXVsdD0iMCIgUGFyYVR5cGU9IjExIiBJdGVtT3B0aW9ucz0i5peg6ZmQ5aSnO+WNleS4gOi+ueeVjDvlubPooYzovrnnlYw7VeWei+i+ueeVjDvkuqTlj4novrnnlYw75ZyG5b2i6L6555WMO+efqeW9oui+ueeVjCIvPg0KICA8L1BhcmFHcm91cD4NCg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iS0sxIiBBbGlhcz0i5rK55rC055u45a+55riX6YCP546HIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU3dpIiBBbGlhcz0i5p2f57ya5rC06aWx5ZKM5bqmIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTb3J3IiBBbGlhcz0i5q6L5L2Z5rK56aWx5ZKM5bqmIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcm9jdyIgQWxpYXM9IuacgOWkp+ayueebuOebuOWvuea4l+mAj+eOhyIgRGVmYXVsdD0iMS4wIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9Iuadn+e8muawtOmlseWSjOW6puS4i+eahOayueebuOebuOWvuea4l+mAj+eOhyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcndybyIgQWxpYXM9IuacgOWkp+awtOebuOebuOWvuea4l+mAj+eOhyIgRGVmYXVsdD0iMS4wIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9Iuaui+S9meayuemlseWSjOW6puS4i+eahOawtOebuOebuOWvuea4l+mAj+eOhyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcm93TW9kZWwiIEFsaWFzPSJLcm935qih5Z6LIiBEZWZhdWx0PSIwIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IuS5mOW5gjvmjIfmlbAiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3Jvd0luZGV4IiBBbGlhcz0iS3Jvd+aMh+aVsCIgRGVmYXVsdD0iMi4wIiBNYXg9IjEwMCIgTWluPSIwIiBEaWdpdD0iMyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcndvTW9kZWwiIEFsaWFzPSJLcndv5qih5Z6LIiBEZWZhdWx0PSIwIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IuS5mOW5gjvmjIfmlbAiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3J3b0luZGV4IiBBbGlhcz0iS3J3b+aMh+aVsCIgRGVmYXVsdD0iMi4wIiBNYXg9IjEwMCIgTWluPSIwIiBEaWdpdD0iMyIvPg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IktLMiIgQWxpYXM9IuayueawlOebuOWvuea4l+mAj+eOhyI+DQogICAgPFBhcmFJdGVtIE5hbWU9IlNvY2ciIEFsaWFzPSLmsrnnm7jppbHlkozluqbvvIjmnZ/nvJrvvIkiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlNncm8iIEFsaWFzPSLmsJTnm7jppbHlkozluqbvvIjmrovkvZnvvIkiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9Iktyb3JnIiBBbGlhcz0i5pyA5aSn5rK555u455u45a+55riX6YCP546HIiBEZWZhdWx0PSIxLjAiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iU2c9U2dyb+S4i+WvueW6lOeahOacgOWkp+ayueebuOebuOWvuea4l+mAj+eOhyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcmdybyIgQWxpYXM9IuacgOWkp+awlOebuOebuOWvuea4l+mAj+eOhyIgRGVmYXVsdD0iMS4wIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IlNnPTEuMC1Tb2Nn5LiL5a+55bqU55qE5pyA5aSn5rCU55u455u45a+55riX6YCP546HIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Iktyb2dNb2RlbCIgQWxpYXM9Iktyb2fmqKHlnosiIERlZmF1bHQ9IjAiIFBhcmFUeXBlPSI2IiBJdGVtT3B0aW9ucz0i5LmY5bmCO+aMh+aVsCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcm9nSW5kZXgiIEFsaWFzPSJLcm9n5oyH5pWwIiBEZWZhdWx0PSIyLjAiIE1heD0iMTAwIiBNaW49IjAiIERpZ2l0PSIzIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IktyZ29Nb2RlbCIgQWxpYXM9IktyZ2/mqKHlnosiIERlZmF1bHQ9IjAiIFBhcmFUeXBlPSI2IiBJdGVtT3B0aW9ucz0i5LmY5bmCO+aMh+aVsCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcmdvSW5kZXgiIEFsaWFzPSJLcmdv5oyH5pWwIiBEZWZhdWx0PSIyLjAiIE1heD0iMTAwIiBNaW49IjAiIERpZ2l0PSIzIi8+DQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iS0szIiBBbGlhcz0i5rCU5rC055u45a+55riX6YCP546HIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU3dpZ3ciIEFsaWFzPSLmnZ/nvJrmsLTppbHlkozluqYiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlNnYyIgQWxpYXM9Iuaui+S9meawlOmlseWSjOW6piIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3JnY3ciIEFsaWFzPSLmnIDlpKfmsJTnm7jnm7jlr7nmuJfpgI/njociIERlZmF1bHQ9IjEuMCIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSLmnZ/nvJrmsLTppbHlkozluqbkuIvnmoTmsJTnm7jnm7jlr7nmuJfpgI/njofvvIjmnIDlpKfmsJTnm7jnm7jlr7nmuJfpgI/njofvvIkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3J3Z2MiIEFsaWFzPSLmnIDlpKfmsLTnm7jnm7jlr7nmuJfpgI/njociIERlZmF1bHQ9IjEuMCIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSLmnIDlpKflkKvmsLTppbHlkozluqYxLjAtU2dj5a+55bqU55qE5pyA5aSn5rC055u455u45a+55riX6YCP546HIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IktyZ3dNb2RlbCIgQWxpYXM9IktyZ3fmqKHlnosiIERlZmF1bHQ9IjAiIFBhcmFUeXBlPSI2IiBJdGVtT3B0aW9ucz0i5LmY5bmCO+aMh+aVsCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcmd3SW5kZXgiIEFsaWFzPSJLcmd35oyH5pWwIiBEZWZhdWx0PSIyLjAiIE1heD0iMTAwIiBNaW49IjAiIERpZ2l0PSIzIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Iktyd2dNb2RlbCIgQWxpYXM9Iktyd2fmqKHlnosiIERlZmF1bHQ9IjAiIFBhcmFUeXBlPSI2IiBJdGVtT3B0aW9ucz0i5LmY5bmCO+aMh+aVsCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcndnSW5kZXgiIEFsaWFzPSJLcndn5oyH5pWwIiBEZWZhdWx0PSIyLjAiIE1heD0iMTAwIiBNaW49IjAiIERpZ2l0PSIzIi8+DQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iS0s0IiBBbGlhcz0i5LiJ55u455u45a+55riX6YCP546HIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3JvZ3dNb2RlbCIgQWxpYXM9Iktyb2d35qih5Z6LIiBEZWZhdWx0PSIwIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IlN0b25lIDE7U3RvbmUgMiIvPg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IlNTIiBBbGlhcz0i5bqU5Yqb5pWP5oSfIj4NCg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IkRTIiBBbGlhcz0i5ZC46ZmEIj4NCiAgPC9QYXJhR3JvdXA+DQoNCg0KICA8UGFyYUdyb3VwIE5hbWU9IkRlY29udl9JbnB1dCIgQWxpYXM9Iui+k+WFpeWPguaVsCIgRGVzYz0i5Y+N6KS256evIFRPRE/vvJrlj4LmlbDlkb3lkI3lj4Lop4FsaXV3Y+iAgeW4iOaPkOS+m+eahOaOpeWPo+ivtOaYjuaWh+ahoyI+DQogICAgPFBhcmFJdGVtIE5hbWU9ImluaV9QcmUiIEFsaWFzPSLmsrnol4/liJ3lp4vljovlipsiIFVuaXQ9Ik1QYSIgRGVmYXVsdD0iMzAiIE1heD0iNTAwIiBNaW49IjAuMSIgRGlnaXQ9IjUiIERlc2M9IuayueiXj+eahOWIneWni+WOi+WKmyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJiX3ZhbHVlIiBBbGlhcz0iQuagt+adoeWfuuaVsCIgRGVmYXVsdD0iMi4zIiBNYXg9IjMuMiIgTWluPSIxLjUiIERpZ2l0PSIzIiBEZXNjPSLkuLrkuozpmLZC5qC35p2h5Ye95pWw55qE5oyH5pWw5b2i5byP5YiG5biD55qE57uT54K55Z+65bqVKELmoLfmnaHln7rmlbApIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iQWxmYTEiIEFsaWFzPSLlhYnmu5Hlm6DlrZDOsSIgRGVmYXVsdD0iMC4wMyIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI1IiBEZXNjPSLnlLHkuo7ovpPlhaXnmoTmlbDmja7or6/lt67lrZjlnKjogIzov5vooYznur/mgKfmraPliJnljJbmiYDljaDnmoTmr5Tph43vvIxBbGZhMSsgQmVsdGHiiaQxLjAiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQmVsdGEiIEFsaWFzPSLlhYnmu5Hlm6DlrZDOsiIgRGVmYXVsdD0iMC4wMiIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI1IiBEZXNjPSLnlLHkuo7ovpPlhaXnmoTmlbDmja7or6/lt67lrZjlnKjogIzov5vooYznur/mgKfmraPliJnljJbmiYDljaDnmoTmr5Tph43vvIxBbGZhMSsgQmVsdGHiiaQxLjAiLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTZWdUaW1lMSIgQWxpYXM9IuWOi+WKm+auteWIneWni+aXtumXtCIgVW5pdD0iaCIgRGVmYXVsdD0iNSIgTWF4PSIxZSszMCIgTWluPSIwIiBEaWdpdD0iNSIgRGVzYz0iVE9ETyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTZWdUaW1lMiIgQWxpYXM9IuWOi+WKm+auteacgOWQjuaXtumXtCIgVW5pdD0iaCIgRGVmYXVsdD0iMjgwIiBNYXg9IjFlKzMwIiBNaW49IjAiIERpZ2l0PSI1IiBEZXNjPSJUT0RPIi8+DQogICA8L1BhcmFHcm91cD4NCg0KICAgPFBhcmFHcm91cCBOYW1lPSJEZWNvbnZfT3V0cHV0IiBBbGlhcz0i6L6T5Ye65Y+C5pWwIiBEZXNjPSLlj43opLbnp68gVE9ET++8muWPguaVsOWRveWQjeWPguingWxpdXdj6ICB5biI5o+Q5L6b55qE5o6l5Y+j6K+05piO5paH5qGjIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGluZW51bTYiIEFsaWFzPSLmlbDmja7mlbDnm64iIERlZmF1bHQ9IjUwIiBNaW49IjEiIERpZ2l0PSIwIiBEZXNjPSJUT0RPIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik91dHB1dF9UMCIgQWxpYXM9IuWIneWni+aXtumXtCIgVW5pdD0iaCIgRGVmYXVsdD0iMC4wMDEiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjUiIERlc2M9IlRPRE8iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iT3V0cHV0X1QxIiBBbGlhcz0i5pyA5ZCO5pe26Ze0IiBVbml0PSJoIiBEZWZhdWx0PSIzMDAiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjUiIERlc2M9IlRPRE8iLz4NCg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IlBzZXVQIiBBbGlhcz0i5ouf5Y6L5YqbIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUHNldVByZXNzdXJlIiBBbGlhcz0i5bi46KeE5ouf5Y6L5YqbIiBEZWZhdWx0PSIwIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBzZXVQcmVzc3VyZTMiIEFsaWFzPSLkuInljLrmi5/ljovlipsiIERlZmF1bHQ9IjAiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUHNldVByZXNzdXJlQyIgQWxpYXM9Iue7hOWIhuaLn+WOi+WKmyIgRGVmYXVsdD0iMCIvPg0KDQogIDwvUGFyYUdyb3VwPg0KICANCg0KPC9Sb290Pg0K \ No newline at end of file diff --git a/Bin/Config/Common/ModelParaDefinesLP_en.dat b/Bin/Config/Common/ModelParaDefinesLP_en.dat new file mode 100644 index 0000000..a6dc09b --- /dev/null +++ b/Bin/Config/Common/ModelParaDefinesLP_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu5/nmoTlj4LmlbDlrprkuYkgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBBdXRob3Iocyk6IHdhbmd6ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgRGF0ZTogMjAyNDA3MTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLQ0KICAgIFBhcmFHcm91cCDnuqfliKsNCiAgICAgICAgSUQ6ICAgICAgICAgIOWUr+S4gOagh+ivhg0KICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KICAgICAgICBEZXNj77yaICAgICAgIOi+heWKqeivtOaYjg0KDQogICAgICAgIFBhcmFJdGVtIOe6p+WIqw0KICAgICAgICAgICAgTmFtZe+8miAgICAgICDlkI3np7DvvIzpgJrluLjoi7HmlocNCiAgICAgICAgICAgIEFsaWFz77yaICAgICAg5Yir5ZCN77yM6YCa5bi45Lit5paHDQogICAgICAgICAgICBVbml0ICAgICAgICAg5Y2V5L2N77yM6buY6K6kDQogICAgICAgICAgICBEZWZhdWx0ICAgICAg6buY6K6k5YC8DQogICAgICAgICAgICBNYXggICAgICAgICAg5pyA5aSn5YC8DQogICAgICAgICAgICBNYXggICAgICAgICAg5pyA5bCP5YC8DQogICAgICAgICAgICBEaWdpdCAgICAgICAg5bCP5pWw5L2N5pWwDQogICAgICAgICAgICBTY2llbnRpZmljICAg5piv5ZCm5Lul56eR5a2m6K6h5pWw5rOV6KGo56S677yIMjAyNjA0MTMgQWRkZWTvvIkNCiAgICAgICAgICAgIFJlYWRvbmx5ICAgICDmmK/lkKblj6ror7sNCg0KICAgICAgICAgICAgUGFyYVR5cGU6ICAgIOWPguaVsOaJgOWxnuexu+Wei+WMuuWIhu+8jOm7mOiupOS4ujIoZG91YmxlKToNCiAgICAgICAgICAgICAgICAgICAgICAgICAw4oCU4oCU5a2X56ym5Liy77yI5paH5pys77yJIFRleHTlsZ7mgKcNCiAgICAgICAgICAgICAgICAgICAgICAgICAx4oCU4oCU5pW05b2iDQogICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlERvdWJsZeaVsOWAvA0KICAgICAgICAgICAgICAgICAgICAgICAgIDPigJTigJTlm77lg48gVGV4dOWxnuaApyDlrZjmlL7ot6/lvoQNCiAgICAgICAgICAgICAgICAgICAgICAgICA04oCU4oCU5LqM6L+b5Yi2IFRPRE8NCiAgICAgICAgICAgICAgICAgICAgICAgICA14oCU4oCU5pe26Ze057G75Z6LICJUZXh0IuWtmOaUvuaXtumXtO+8jCJGb3JtYXQi5a2Y5pS+5qC85byPDQogICAgICAgICAgICAgICAgICAgICAgICAgNuKAlOKAlOS4i+aLiUNtYiDlhbfmnIkiSXRlbU9wdGlvbnMi5bGe5oCnDQogICAgICAgICAgICAgICAgICAgICAgICAgN+KAlOKAlFNlZ+a1geWKqOauteaooeW8jyDlhbfmnIkiU3ViSXRlbXMi5bGe5oCn77yM5YW35pyJ57Sv56ev6ZW/5bqm44CB5Lqn6YeP562J5YaF5a65DQogICAgICAgICAgICAgICAgICAgICAgICAgOOKAlOKAlFNlZ+a1geWKqOauteaooeW8j++8jOaJqeWxleaooeW8jyDlhbfmnIkiU3ViSXRlbXMi5bGe5oCn77yMDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg5bm25LiU5LulTW9yZeaMiemSruW9ouW8j+W8ueWHuuWPr+inhuWMlueql+WPow0KICAgICAgICAgICAgICAgICAgICAgICAgIDnigJTigJTlj4zkuIvmi4nvvIjmiaPlnosr5YWs5q+N77yJ77yM5rS+55Sf6IeqIFBJVF9DYnjvvIwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICDlhbfmnIkiSXRlbU9wdGlvbnMiKyJJdGVtT3B0aW9uRXhzIuWxnuaApw0KICAgICAgICAgICAgICAgICAgICAgICAgIDEw4oCU4oCU5YW35pyJIlN1Ykl0ZW1zIuWxnuaAp++8jOaZrumAmueahOaooeW8j++8jOavlOWmgiDlsYLmlbDmja7vvIxDTzINCiAgICAgICAgICAgICAgICAgICAgICAgICAxMeKAlOKAlFvlup/lvINd5LiL5ouJQ21i77yM6ZKI5a+55qih5Z6L6YCJ6aG555qE6L+b5LiA5q2l5omp5bGV77yM6ZyA6KaB5Yqo5oCB5aGr5YWF55qEICJJdGVtT3B0aW9ucyLlsZ7mgKflj6/mnInlj6/ml6ANCiAgICAgICAgICAgICAgICAgICAgICAgICAxMuKAlOKAlOaMiemSruexu++8jOeCueWHu+WQju+8jOW8ueWHuuihqOagvOaVsOaNru+8iOazqOaEj++8jOacrOi6q+WPquaYr+WNlee6r+eahOihqOagvO+8ieWPr+S7peeUseWklumDqOaIquiOt+a2iOaBr+i/m+ihjOiHquihjOWumuWItg0KDQogICAgICAgICAgICBVc2VNb2RlOiAgIOino+mHiuWPguaVsOW6lOeUqOWcuuWQiDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAw4oCU4oCU6YCC55So5omA5pyJ77yM5LiN6ZyA6YWN572uDQogICAgICAgICAgICAgICAgICAgICAgICAgMeKAlOKAlOS7heS7hemAgueUqOWkhOeQhuaLn+WQiA0KICAgICAgICAgICAgICAgICAgICAgICAgIDLigJTigJTku4Xku4XpgILnlKjor5XkupXorr7orqENCiAgICAgICAgICAgICAgICAgICAgICAgICAz4oCU4oCU5Y+v5Lul5pi+56S65Y+v5Lul5LiN5pi+56S677yM6YCa6L+H5oyJ6ZKu5o6n5Yi2DQogICAgICAgICAgICAgICAgICAgICAgICAgNOKAlOKAlOaYvuekuu+8jOS4jeWPguS4juaLn+WQiCDmmL7npLrliLDnu5PmnpzvvIjnlYzpnaLmmL7npLrvvIzmi5/lkIjkuI3mi5/lkIjvvIznu5PmnpzmmL7npLrvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICA14oCU4oCU5LiN5pi+56S677yM5LiN5Y+C5LiO5ouf5ZCI77yM5LiN5pi+56S65Yiw57uT5p6c5Lit77yI5aaCIOa3t+WQiOm7j+W6pu+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgIDbigJTigJTmmL7npLrvvIzkuI3lj4LkuI7mi5/lkIjvvIzkuI3mmL7npLrliLDnu5PmnpzkuK3vvIjlrZTpmpnvvIzljprluqbpnZ5qb2Lph4zpnaLvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICA34oCU4oCU5LiN5pi+56S677yM5LiN5Y+C5LiO5ouf5ZCI77yM5pi+56S65Yiw57uT5p6c5Lit77yI5o6i5rWL5Y2K5b6E44CB5YiG5rWB546H77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgOOKAlOKAlOWvueS6juWkmuebuOaYvuekuu+8jOWNleebuOS4jeaYvuekuueahOaDheWGtQ0KDQogICAgICAgICAgICBCZHlUeXBlOiAgICAg6L6555WM57G75Z6L77yM6buY6K6k5Li6MijlubbpnZ7ovrnnlYwpOg0KICAgICAgICAgICAgICAgICAgICAgICAgIDDigJTigJTluLjop4TovrnnlYzlj4LmlbDvvIzljIXmi6zmlbDlgLzjgIHku6Xlj4rnsbvlnovvvIjlsIHpl63jgIHlrprljovjgIHml6DpmZDlpKfvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAx4oCU4oCU5Y2V57qv55qE57G75Z6L77yM5bqV5rC044CB562J77yM5peg5pWw5a2XDQogICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlOW5tumdnui+ueeVjA0KICAgICAgICAgICAgICAgICAgICAgICAgIDPigJTigJTlhbblroPvvIzlvoXmianlsZUNCg0KICAgICAgICAgICAgTGF5ZXJNb2RlOiAgIOWcqOWkmuWxguaooeWei+aDheW9ouS4i+eahOaYvuekuuS4jumakOiXj+mAu+i+ke+8iDIwMjYwMTA15paw5aKe77yJOg0KICAgICAgICAgICAgICAgICAgICAgICAgIDDigJTigJTpu5jorqTvvIzmmL7npLrlnKjlsYLlhoUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOWPguaVsOekuuS+i++8mua4l+mAj+eOh+OAgeihqOearuOAgeaooeWei+mAiemhue+8iOS6leWeiy/lgqjlsYLnsbvlnovvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAx4oCU4oCU5pi+56S65Zyo5bGC5aSW77yM5L2c5Li6IOmAmueUqOWPguaVsOexuw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg5Y+C5pWw56S65L6L77ya5LqV5YKo57O75pWw44CB5Yid5aeL5Y6L5Yqb562JDQogICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlOS6pOabv+aYvuekuu+8jOeqnOa1geaooeW8j+S4i++8jOaYvuekuuWcqOWxguWkllvmr4/lsYLlhoXkuI3mmL7npLpd77ybDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDpnZ7nqpzmtYHmqKHlvI/kuIvvvIzmmL7npLrlnKjlsYLlhoVb5q+P5bGC5YaF5Z2H5pi+56S6Xe+8jA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg5Y+C5pWw56S65L6L77ya5aaC6L6555WM57G75Z6L44CB6L6555WM6Led56a7DQogICAgICAgICAgICAgICAgICAgICAgICAgM+KAlOKAlOWFtuWug++8jOW+heaJqeWxlQ0KDQogICAgICAgICAgICBTdWJJdGVtc++8miAgIOmFjee9ruWtkOmhue+8jOavlOWmguS6p+a2suauteaVsA0KICAgICAgICAgICAgRm9ybWF077yaICAgICDml6XmnJ/lnovlj4LmlbDvvIzmmL7npLrnmoTmoLflvI/vvIzmmoLmnKrlkK/nlKgNCiAgICAgICAgICAgIEl0ZW1PcHRpb25z77ya5a2Q6aG577yM5a+55LqO5LiL5ouJ5qGG77yM5q+U5aaCIOWwgemXreOAgeWumuWOi+etieWbuuWumueahOWGheWuuQ0KICAgICAgICAgICAgVGV4dO+8miAgICAgICDlrZfnrKbkuLLlj4LmlbDjgIHmiJbogIUg5Zu+5YOP55qE6Lev5b6EDQogICAgICAgICAgICBEZXNj77yaICAgICAgIOi+heWKqeivtOaYjg0KLS0+DQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8Um9vdD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IiIgQWxpYXM9IldlbGxib3JlIFBhcmFtZXRlcnMiPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDIiBBbGlhcz0iV2VsbGJvcmUgU3RvcmFnZSBDb2VmZmljaWVudCIgTGF5ZXJNb2RlPSIxIiBVbml0PSJtXjMvTVBhIiBEZWZhdWx0PSIwLjEiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjMiIFNjaWVudGlmaWM9IjEiIERlc2M9IndlbGxib3JlIHN0b3JhZ2UgZmFjdG9yIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDaWRSYXRpbyIgQWxpYXM9IkluaXRpYWwvRmluYWwgU3RvcmFnZSBSYXRpbyIgTGF5ZXJNb2RlPSIxIiBVbml0PSIiIERlZmF1bHQ9IjAuNCIgTWF4PSIxMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJSYXRpbyBvZiBpbml0aWFsIGFuZCBmaW5hbCB3ZWxsYm9yZSBzdG9yYWdlIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJhbHBoYSIgQWxpYXM9IlZhcmlhYmxlIFN0b3JhZ2UgVGltZSIgTGF5ZXJNb2RlPSIxIiBVbml0PSJoIiBEZWZhdWx0PSIxIiBNYXg9IjFlKzMwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJjaGFuZ2luZyB3ZWxsYm9yZSBzdG9yYWdlIHRpbWUiIC8+DQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0iQmFzaWMgUGFyYW1ldGVycyI+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0icnciIEFsaWFzPSJXZWxsIFJhZGl1cyIgVW5pdD0ibSIgRGVmYXVsdD0iMC4xMDgiIE1heD0iMSIgTWluPSIwLjAxIiBEaWdpdD0iNSIgRGVzYz0id2VsbCByYWRpdXMiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IndlbGxEaXMiIEFsaWFzPSJJbnRlcndlbGwgRGlzdGFuY2UiIFVuaXQ9Im0iIERlZmF1bHQ9IjEwMzQiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjMiIERlc2M9IndlbGwgaW50ZXIgZGlzdGFuY2UiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IndlbGxBbmdsZSIgQWxpYXM9IkludGVyd2VsbCBBbmdsZSIgVW5pdD0iwrAiIERlZmF1bHQ9IjAiIE1heD0iMzYwIiBNaW49IjAiIERpZ2l0PSIzIiBEZXNjPSJ3ZWxsIGludGVyIGFuZ2xlIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJMIiBBbGlhcz0iSG9yaXpvbnRhbCBXZWxsIExlbmd0aCIgVW5pdD0ibSIgRGVmYXVsdD0iNjAwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iaG9yaXpvbnRhbCB3ZWxsIGxlbmd0aCIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTHciIEFsaWFzPSJEZXZpYXRlZCBXZWxsIExlbmd0aCIgVW5pdD0ibSIgRGVmYXVsdD0iMjguOCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IndlbGwgbGVuZ3RoIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJEZXYiIEFsaWFzPSJXZWxsIERldmlhdGlvbiBBbmdsZSIgVW5pdD0iwrAiIERlZmF1bHQ9IjgwIiBNYXg9IjE4MCIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0iV2VsbCBPcmllbnRhdGlvbiBBbmdsZSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUG9zWCIgQWxpYXM9IkNvb3JkaW5hdGUgWCIgVW5pdD0ibSIgRGVmYXVsdD0iMCIgRGlnaXQ9IjMiIERlc2M9IldlbGwgUG9zIFgiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBvc1kiIEFsaWFzPSJDb29yZGluYXRlIFkiIFVuaXQ9Im0iIERlZmF1bHQ9IjAiIERpZ2l0PSIzIiBEZXNjPSJXZWxsIFBvcyBZIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJyd18xIiBBbGlhcz0iUmVzZXJ2b2lyIDEgV2VsbCBSYWRpdXMiIFVuaXQ9Im0iIERlZmF1bHQ9IjAuMTA4IiBNYXg9IjEiIE1pbj0iMC4wMSIgRGlnaXQ9IjUiIERlc2M9IndlbGwgcmFkaXVzIiAvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJyd18yIiBBbGlhcz0iUmVzZXJ2b2lyIDIgV2VsbCBSYWRpdXMiIFVuaXQ9Im0iIERlZmF1bHQ9IjAuMTA4IiBNYXg9IjEiIE1pbj0iMC4wMSIgRGlnaXQ9IjUiIERlc2M9IndlbGwgcmFkaXVzIiAvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJyd18zIiBBbGlhcz0iUmVzZXJ2b2lyIDMgV2VsbCBSYWRpdXMiIFVuaXQ9Im0iIERlZmF1bHQ9IjAuMTA4IiBNYXg9IjEiIE1pbj0iMC4wMSIgRGlnaXQ9IjUiIERlc2M9IndlbGwgcmFkaXVzIiAvPg0KICAgIDwhLS1YQS0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9ImgiIEFsaWFzPSJSZXNlcnZvaXIgVGhpY2tuZXNzIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9InBheSB6b25lIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJIMURQRSIgQWxpYXM9IkxheWVyIDEgVGhpY2tuZXNzIChEdWFsIFBlcm0pIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMXN0IHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJIMkRQRSIgQWxpYXM9IkxheWVyIDIgVGhpY2tuZXNzIChEdWFsIFBlcm0pIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJIMU1QIiBBbGlhcz0iUmVzZXJ2b2lyIFRoaWNrbmVzcyAxIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMXN0IHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJIMk1QIiBBbGlhcz0iUmVzZXJ2b2lyIFRoaWNrbmVzcyAyIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJoMSIgQWxpYXM9IkxheWVyIDEgVGhpY2tuZXNzIiBVbml0PSJtIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMXN0IHBheSB6b25lIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJoMiIgQWxpYXM9IkxheWVyIDIgVGhpY2tuZXNzIiBVbml0PSJtIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJoXzEiIEFsaWFzPSJSZXNlcnZvaXIgMSBUaGlja25lc3MiIFVuaXQ9Im0iIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIxc3QgcGF5IHpvbmUiIC8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9ImhfMiIgQWxpYXM9IlJlc2Vydm9pciAyIFRoaWNrbmVzcyIgVW5pdD0ibSIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjJuZCBwYXkgem9uZSIgLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iaF8zIiBBbGlhcz0iUmVzZXJ2b2lyIDMgVGhpY2tuZXNzIiBVbml0PSJtIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIiAvPg0KICAgIDwhLS1YQS0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9InBoaSIgQWxpYXM9IlBvcm9zaXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0icG9yb3NpdHkiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InBoaTFNUCIgQWxpYXM9IlBvcm9zaXR5IDEiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBEZXNjPSIxc3QgcG9yb3NpdHkgb2YgZHVhbCBwZXJtZWFiaWxpdHkiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InBoaTJNUCIgQWxpYXM9IlBvcm9zaXR5IDIiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBEZXNjPSIybmQgcG9yb3NpdHkgb2YgZHVhbCBwZXJtZWFiaWxpdHkiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InBoaWYiIEFsaWFzPSJGcmFjdHVyZSBQb3Jvc2l0eSIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIFVzZU1vZGU9IjUiIERlc2M9InBvcm9zaXR5IG9mIGZyYWN0aW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkyRCIgQWxpYXM9Ik5hdHVyYWwgRnJhY3R1cmUgUG9yb3NpdHkiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBVc2VNb2RlPSI1IiBEZXNjPSJwb3Jvc2l0eSBvZiBuYXR1cmUgZnJhY3Rpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InBoaTFEIiBBbGlhcz0iTWF0cml4IFBvcm9zaXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgVXNlTW9kZT0iNSIgRGVzYz0icG9yb3NpdHkgb2Ygc3Ryb21hIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkxIiBBbGlhcz0iSW5uZXIgUmVnaW9uIFBvcm9zaXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgVXNlTW9kZT0iNSIgRGVzYz0iSW5uZXIgcG9yb3NpdHkiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InBoaTIiIEFsaWFzPSJPdXRlciBSZWdpb24gUG9yb3NpdHkiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBVc2VNb2RlPSI1IiBEZXNjPSJPdXRlciBwb3Jvc2l0eSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpMURQRSIgQWxpYXM9IkxheWVyIDEgUG9yb3NpdHkiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBVc2VNb2RlPSI1IiBEZXNjPSIxc3QgcG9yb3NpdHkgb2YgZHVhbCBwZXJtZWFiaWxpdHkiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InBoaTJEUEUiIEFsaWFzPSJMYXllciAyIFBvcm9zaXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgVXNlTW9kZT0iNSIgRGVzYz0iMm5kIHBvcm9zaXR5IG9mIGR1YWwgcGVybWVhYmlsaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJmYWkxMSIgQWxpYXM9IkxheWVyMSBSZWdpb24xIFBvcm9zaXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IjFzdCBwZXJtZWFiaWxpdHkgb2YgaW5uZXIgcmVnaW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJmYWkxMiIgQWxpYXM9IkxheWVyMSBSZWdpb24yIFBvcm9zaXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IjFzdCBwZXJtZWFiaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJmYWkyMSIgQWxpYXM9IkxheWVyMiBSZWdpb24xIFBvcm9zaXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IjJuZCBwZXJtZWFiaWxpdHkgb2YgaW5uZXIgcmVnaW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJmYWkyMiIgQWxpYXM9IkxheWVyMiBSZWdpb24yIFBvcm9zaXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IjJuZCBwZXJtZWFiaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGlfMSIgQWxpYXM9IlJlc2Vydm9pciAxIFBvcm9zaXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0icG9yb3NpdHkiIC8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9InBoaV8yIiBBbGlhcz0iUmVzZXJ2b2lyIDIgUG9yb3NpdHkiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBEZXNjPSJwb3Jvc2l0eSIgLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpXzMiIEFsaWFzPSJSZXNlcnZvaXIgMyBQb3Jvc2l0eSIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9InBvcm9zaXR5IiAvPg0KICAgIDwhLS1YQS0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IkIiIEFsaWFzPSJGb3JtYXRpb24gVm9sdW1lIEZhY3RvciIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9ImZvcm1hdGlvbiB2b2x1bWUgZmFjdG9yIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJCbyIgQWxpYXM9Ik9pbCBWb2x1bWUgRmFjdG9yIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkJnIiBBbGlhcz0iR2FzIFZvbHVtZSBGYWN0b3IiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJmb3JtYXRpb24gdm9sdW1lIGZhY3RvciIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQnciIEFsaWFzPSJXYXRlciBWb2x1bWUgRmFjdG9yIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkJfMSIgQWxpYXM9IlJlc2Vydm9pciAxIFZvbHVtZSBGYWN0b3IiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJmb3JtYXRpb24gdm9sdW1lIGZhY3RvciIgLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQl8yIiBBbGlhcz0iUmVzZXJ2b2lyIDIgVm9sdW1lIEZhY3RvciIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9ImZvcm1hdGlvbiB2b2x1bWUgZmFjdG9yIiAvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJCXzMiIEFsaWFzPSJSZXNlcnZvaXIgMyBWb2x1bWUgRmFjdG9yIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiIC8+DQogICAgPCEtLVhBLS0+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1IiBBbGlhcz0iVmlzY29zaXR5IiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIxNTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0idmlzY29zaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXVvIiBBbGlhcz0iT2lsIFZpc2Nvc2l0eSIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMTUwIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0ib2lsIHZpc2Nvc2l0eSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1bzEiIEFsaWFzPSJJbm5lciBab25lIE9pbCBWaXNjb3NpdHkiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjUwIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0ib2lsIHZpc2Nvc2l0eSBvZiBDb21wbGV4IElubmVyIHpvbmUiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1pdW8yIiBBbGlhcz0iT3V0ZXIgWm9uZSBGbHVpZCBWaXNjb3NpdHkiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjUwIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0ib2lsIHZpc2Nvc2l0eSBvZiBDb21wbGV4IG91dGVyIHpvbmUiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1pdWciIEFsaWFzPSJHYXMgVmlzY29zaXR5IiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIyIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0iZ2FzIHZpc2Nvc2l0eSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1dyIgQWxpYXM9IldhdGVyIFZpc2Nvc2l0eSIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMiIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IndhdGVyIHZpc2Nvc2l0eSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1eCIgQWxpYXM9Ik1peGVkIFZpc2Nvc2l0eSIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjIuNCIgTWF4PSI1MCIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIFVzZU1vZGU9IjUiIERlc2M9Ik1peCB2aXNjb3NpdHkiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1pdV8xIiBBbGlhcz0iUmVzZXJ2b2lyIDEgVmlzY29zaXR5IiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIxNTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0idmlzY29zaXR5IiAvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXVfMiIgQWxpYXM9IlJlc2Vydm9pciAyIFZpc2Nvc2l0eSIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMTUwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9InZpc2Nvc2l0eSIgLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1XzMiIEFsaWFzPSJSZXNlcnZvaXIgMyBWaXNjb3NpdHkiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjE1MCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJ2aXNjb3NpdHkiIC8+DQogICAgPCEtLVhBLS0+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3QiIEFsaWFzPSJUb3RhbCBDb21wcmVzc2liaWxpdHkiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMDQzIiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eSAiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkNmIiBBbGlhcz0iUm9jayBDb21wcmVzc2liaWxpdHkiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMDQzIiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIERlc2M9InJvY2sgY29tcHJlc3NpYmlsaXR5ICIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3RmRiIgQWxpYXM9IkZyYWN0dXJlIFRvdGFsIENvbXByZXNzaWJpbGl0eSIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIGZyYWN0aW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdGYiIEFsaWFzPSJOYXR1cmFsIEZyYWN0dXJlIFRvdGFsIENvbXByZXNzaWJpbGl0eSIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIG5hdHVyZSBmcmFjdGlvbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3RtIiBBbGlhcz0iTWF0cml4IFRvdGFsIENvbXByZXNzaWJpbGl0eSIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIHN0cm9tYSAiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MURQRSIgQWxpYXM9IkxheWVyMSBUb3RhbCBDb21wcmVzc2liaWxpdHkiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMDQzIiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjUiIERlc2M9IjFzdCB0b3RhbCBjb21wcmVzc2liaWxpdHkgb2YgZHVhbCBwZXJtZWFiaWxpdHkgIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdDJEUEUiIEFsaWFzPSJMYXllcjIgVG90YWwgQ29tcHJlc3NpYmlsaXR5IiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBVc2VNb2RlPSI1IiBEZXNjPSIybmQgdG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIGR1YWwgcGVybWVhYmlsaXR5ICIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3QxIiBBbGlhcz0iTGF5ZXIxIFRvdGFsIENvbXByZXNzaWJpbGl0eSIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNiIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5MSAiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MiIgQWxpYXM9IkxheWVyMiBUb3RhbCBDb21wcmVzc2liaWxpdHkiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAzNiIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBVc2VNb2RlPSI2IiBEZXNjPSJ0b3RhbCBjb21wcmVzc2liaWxpdHkyICIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3QzIiBBbGlhcz0iTGF5ZXIzIFRvdGFsIENvbXByZXNzaWJpbGl0eSIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDM2IiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjYiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eTMgIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdDExIiBBbGlhcz0iTGF5ZXIxIFJlZ2lvbjEgQ29tcHJlc3NpYmlsaXR5IiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBVc2VNb2RlPSI1IiBEZXNjPSIxc3QgdG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIGlubmVyIHJlZ2lvbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3QyMSIgQWxpYXM9IkxheWVyMiBSZWdpb24xIENvbXByZXNzaWJpbGl0eSIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0iMm5kIHRvdGFsIGNvbXByZXNzaWJpbGl0eSBvZiBpbm5lciByZWdpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MTIiIEFsaWFzPSJMYXllcjEgUmVnaW9uMiBDb21wcmVzc2liaWxpdHkiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMDQzIiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjUiIERlc2M9IjFzdCB0b3RhbCBjb21wcmVzc2liaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdDIyIiBBbGlhcz0iTGF5ZXIyIFJlZ2lvbjIgQ29tcHJlc3NpYmlsaXR5IiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBVc2VNb2RlPSI1IiBEZXNjPSIybmQgdG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIG91dGVyIHJlZ2lvbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3RfMSIgQWxpYXM9IlJlc2Vydm9pcjEgQ29tcHJlc3NpYmlsaXR5IiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBEZXNjPSJ0b3RhbCBjb21wcmVzc2liaWxpdHkgIiAvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdF8yIiBBbGlhcz0iUmVzZXJ2b2lyMiBDb21wcmVzc2liaWxpdHkiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMDQzIiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eSAiIC8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0XzMiIEFsaWFzPSJSZXNlcnZvaXIzIENvbXByZXNzaWJpbGl0eSIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5ICIgLz4NCiAgICA8IS0tWEEtLT4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQZSIgQWxpYXM9IkluaXRpYWwgRm9ybWF0aW9uIFByZXNzdXJlIiBMYXllck1vZGU9IjEiIFVuaXQ9Ik1QYSIgRGVmYXVsdD0iMzAiIE1heD0iNTAwIiBNaW49IjAuMSIgRGlnaXQ9IjUiIERlc2M9ImluaXRpYWwgZm9ybWF0aW9uIHByZXNzdXJlIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQcmVmIiBBbGlhcz0iUmVmZXJlbmNlIFByZXNzdXJlIiBMYXllck1vZGU9IjEiIFVuaXQ9Ik1QYSIgRGVmYXVsdD0iMzAiIE1heD0iNTAwIiBNaW49IjAuMSIgRGlnaXQ9IjUiIERlc2M9IlJlZmVyZW5jZSBwcmVzc3VyZSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUGkiIEFsaWFzPSJJbml0aWFsIFByZXNzdXJlIiBMYXllck1vZGU9IjEiIFVuaXQ9Ik1QYSIgRGVmYXVsdD0iMzAiIE1heD0iNTAwIiBNaW49IjAuMSIgRGlnaXQ9IjUiIERlc2M9ImluaXRpYWwgcHJlc3N1cmUiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBpdCIgQWxpYXM9IkZvcm1hdGlvbiBQcmVzc3VyZSIgTGF5ZXJNb2RlPSIxIiBVbml0PSJNUGEiIERlZmF1bHQ9IjMwIiBNYXg9IjEwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjUiIERlc2M9ImluaXRpYWwgcHJlc3N1cmUxIiAvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9Ik4iIEFsaWFzPSJSZXNlcnZlcyIgVW5pdD0ibV4zIiBEZWZhdWx0PSIxMDAwMDAiIE1heD0iMWUrMzAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJyZXNlcnZlcyIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iZ2FtbWEiIEFsaWFzPSJTdHJlc3MgU2Vuc2l0aXZpdHkgQ29lZmZpY2llbnQiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0ic3RyZXNzIHNlbnNpdGl2aXR5IGNvZWZmaWNpZW50IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJkZWxwYXQiIEFsaWFzPSJGcmFjdHVyZSBTaHJpbmthZ2UgRmFjdG9yIiBVbml0PSIiIERlZmF1bHQ9IjUiIE1heD0iMTAwMCIgTWluPSIwLjEiIERpZ2l0PSIzIiBEZXNjPSJmcmFjdHVyZSBzaHJpbmthZ2UgY29lZmZpY2llbnQiIC8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iTnEiIEFsaWFzPSJOdW1iZXIgb2YgUHJvZHVjdGlvbiBTZWdtZW50cyIgRGVmYXVsdD0iMiIgTWF4PSI2IiBNaW49IjIiIFBhcmFUeXBlPSI4IiBEZXNjPSJudW1iZXIgb2YgbGlxdWlkIHNlY3Rpb25zIiBTdWJJdGVtcz0iTnFBO05xWDtOcUw7TnFRIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJOcUEiIEFsaWFzPSJBbmdsZSIgTWluPSIxZS0wNSIgTWF4PSIzNjAiIFVuaXQ9IsKwIiBEZWZhdWx0PSI5MCIgRGlnaXQ9IjMiIFRpcHM9IiIgRGVzYz0ibG9jYXRpb24gb2YgbGlxdWlkIHNlY3Rpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik5xWCIgQWxpYXM9IlBvc2l0aW9uIiBVbml0PSJtIiBEZWZhdWx0PSIzMCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImxvY2F0aW9uIG9mIGxpcXVpZCBzZWN0aW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJOcUwiIEFsaWFzPSJMZW5ndGgiIFVuaXQ9Im0iIERlZmF1bHQ9IjYwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0ibGVuZ2ggb2YgbGlxdWlkIHNlY3Rpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik5xUSIgQWxpYXM9IlByb2R1Y3Rpb24gUmF0ZSIgVW5pdD0ibV4zIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0ibGlxdWlkIHByb2R1Y3Rpb24gb2YgbGlxdWlkIHNlY3Rpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik5mIiBBbGlhcz0iTnVtYmVyIG9mIEZyYWN0dXJlIFNlZ21lbnRzIiBEZWZhdWx0PSI0IiBNYXg9IjYiIE1pbj0iMSIgVXNlTW9kZT0iNCIgRGVzYz0ibnVtYmVyIG9mIGZyYWN0dXJlIHNlY3Rpb25zIiBTdWJJdGVtcz0iTnFRIiAvPg0KDQogICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IiIgQWxpYXM9IlJlc2Vydm9pciBQYXJhbWV0ZXJzIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iVHJhbnNtaXNzaWJpbGl0eSIgQWxpYXM9IlRyYW5zbWlzc2liaWxpdHkiIFVuaXQ9Im1ELm0iIERlZmF1bHQ9IjEwMCIgTWF4PSIxZSszMCIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iNyIgRGVzYz0iVHJhbnNtaXNzaWJpbGl0eSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUmMiIEFsaWFzPSJSYWRpdXMgb2YgSW52ZXN0aWdhdGlvbiIgVW5pdD0ibSIgRGVmYXVsdD0iMTAwIiBNYXg9IjFlKzMwIiBNaW49IjAiIERpZ2l0PSIzIiBVc2VNb2RlPSI3IiBEZXNjPSJyYWRpdXMgb2YgaW52ZXN0aWdhdGlvbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iZHQiIEFsaWFzPSJUZXN0IFRpbWUiIFVuaXQ9ImgiIERlZmF1bHQ9IjEwMCIgTWF4PSIxZSszMCIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iNyIgRGVzYz0idGVzdCB0aW1lIiAvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IksiIEFsaWFzPSJQZXJtZWFiaWxpdHkiIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IksxTVAiIEFsaWFzPSJQZXJtZWFiaWxpdHkgMSIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSI2IiBEZXNjPSIxc3QgcGVybWVhYmlsaXR5IG9mIGR1YWwgcGVybWVhYmlsaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLMk1QIiBBbGlhcz0iUGVybWVhYmlsaXR5IDIiIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iNiIgRGVzYz0iMm5kIHBlcm1lYWJpbGl0eSBvZiBkdWFsIHBlcm1lYWJpbGl0eSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iSzFEUEUiIEFsaWFzPSJMYXllcjEgUGVybWVhYmlsaXR5IiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjYiIERlc2M9IjFzdCBwZXJtZWFiaWxpdHkgb2YgZHVhbCBwZXJtZWFiaWxpdHkiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IksyRFBFIiBBbGlhcz0iTGF5ZXIyIFBlcm1lYWJpbGl0eSIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSI2IiBEZXNjPSIybmQgcGVybWVhYmlsaXR5IG9mIGR1YWwgcGVybWVhYmlsaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLMTEiIEFsaWFzPSJMYXllcjEgUmVnaW9uMSBQZXJtZWFiaWxpdHkiIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iNiIgRGVzYz0iMXN0IHBlcm1lYWJpbGl0eSBvZiBpbm5lciByZWdpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IksxMiIgQWxpYXM9IkxheWVyMSBSZWdpb24yIFBlcm1lYWJpbGl0eSIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSI2IiBEZXNjPSIxc3QgcGVybWVhYmlsaXR5IG9mIG91dGVyIHJlZ2lvbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iSzIxIiBBbGlhcz0iTGF5ZXIyIFJlZ2lvbjEgUGVybWVhYmlsaXR5IiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjYiIERlc2M9IjJuZCBwZXJtZWFiaWxpdHkgb2YgaW5uZXIgcmVnaW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLMjIiIEFsaWFzPSJMYXllcjIgUmVnaW9uMiBQZXJtZWFiaWxpdHkiIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iNiIgRGVzYz0iMm5kIHBlcm1lYWJpbGl0eSBvZiBvdXRlciByZWdpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IktvIiBBbGlhcz0iT2lsIFBlcm1lYWJpbGl0eSIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIFVzZU1vZGU9IjgiIERlc2M9InBlcm1lYWJpbGl0eSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS2ciIEFsaWFzPSJHYXMgUGVybWVhYmlsaXR5IiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iOCIgRGVzYz0icGVybWVhYmlsaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLdyIgQWxpYXM9IldhdGVyIFBlcm1lYWJpbGl0eSIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIFVzZU1vZGU9IjgiIERlc2M9InBlcm1lYWJpbGl0eSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS2giIEFsaWFzPSJIb3Jpem9udGFsIFBlcm1lYWJpbGl0eSIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9Imhvcml6b250YWwgcGVybWVhYmlsaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLdiIgQWxpYXM9IlZlcnRpY2FsIFBlcm1lYWJpbGl0eSIgVW5pdD0ibUQiIERlZmF1bHQ9IjAuNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0idmVydGljYWwgcGVybWVhYmlsaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLeCIgQWxpYXM9IlgtZGlyZWN0aW9uIFBlcm1lYWJpbGl0eSIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9InBlcm1lYWJpbGl0eSB4IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLeSIgQWxpYXM9IlktZGlyZWN0aW9uIFBlcm1lYWJpbGl0eSIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9InBlcm1lYWJpbGl0eSB5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLeXoiIEFsaWFzPSJZWi1wbGFuZSBQZXJtZWFiaWxpdHkiIFVuaXQ9Im1EIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkgeXoiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IksxIiBBbGlhcz0iSW5uZXIgUmVnaW9uIFBlcm1lYWJpbGl0eSIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IklubmVyIHBlcm1lYWJpbGl0eSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iSzIiIEFsaWFzPSJPdXRlciBSZWdpb24gUGVybWVhYmlsaXR5IiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iT3V0ZXIgcGVybWVhYmlsaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLMyIgQWxpYXM9IjNyZCBSZWdpb24gUGVybWVhYmlsaXR5IiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iT3V0ZXIgcGVybWVhYmlsaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLZiIgQWxpYXM9IkZyYWN0dXJlIFBlcm1lYWJpbGl0eSIgVW5pdD0ibUQiIERlZmF1bHQ9IjUwMDAiIE1heD0iMWUzMCIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iMyIgRGVzYz0iZnJhY3R1cmUgcGVybWVhYmlsaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLYSIgQWxpYXM9IklubmVyIFpvbmUgUGVybWVhYmlsaXR5IiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjYiIERlc2M9InJwZXJtZWFiaWxpdHkgb2YgaW5uZXIgcmVnaW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLXzEiIEFsaWFzPSJSZXNlcnZvaXIxIFBlcm1lYWJpbGl0eSIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9InBlcm1lYWJpbGl0eSIgLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLXzIiIEFsaWFzPSJSZXNlcnZvaXIyIFBlcm1lYWJpbGl0eSIgVW5pdD0ibUQiIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9InBlcm1lYWJpbGl0eSIgLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IktfMyIgQWxpYXM9IlJlc2Vydm9pcjMgUGVybWVhYmlsaXR5IiBVbml0PSJtRCIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0icGVybWVhYmlsaXR5IiAvPg0KICAgIDwhLS1YQSItLT4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLZjEiIEFsaWFzPSJGcmFjdHVyZTEgUGVybWVhYmlsaXR5IiBVbml0PSJtRCIgRGVmYXVsdD0iNTAwMCIgTWF4PSIxZTMwIiBNaW49IjAiIERpZ2l0PSI2IiBVc2VNb2RlPSIzIiBEZXNjPSJmcmFjdHVyZSBwZXJtZWFiaWxpdHkiIC8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLZjIiIEFsaWFzPSJGcmFjdHVyZTIgUGVybWVhYmlsaXR5IiBVbml0PSJtRCIgRGVmYXVsdD0iNTAwMCIgTWF4PSIxZTMwIiBNaW49IjAiIERpZ2l0PSI2IiBVc2VNb2RlPSIzIiBEZXNjPSJmcmFjdHVyZSBwZXJtZWFiaWxpdHkiIC8+DQogICAgPCEtLVhBIi0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IlMiIEFsaWFzPSJTa2luIEZhY3RvciIgVW5pdD0iIiBEZWZhdWx0PSIxLjAiIE1heD0iNTAwMCIgTWluPSItMTAwMCIgRGlnaXQ9IjgiIERlc2M9InNraW4gZmFjdG9yIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTdCIgQWxpYXM9IlRvdGFsIFNraW4gRmFjdG9yIiBVbml0PSIiIERlZmF1bHQ9IjEuMCIgTWF4PSI1MDAwIiBNaW49Ii0xMDAwIiBEaWdpdD0iOCIgVXNlTW9kZT0iNyIgRGVzYz0idG90YWwgc2tpbiBmYWN0b3IiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU2luZiIgQWxpYXM9IkludGVyZmFjZSBTa2luIiBVbml0PSIiIERlZmF1bHQ9IjUiIE1heD0iMWUzMCIgTWluPSIwLjAiIERpZ2l0PSI4IiBEZXNjPSJJbnRlcmZhY2Ugc2tpbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUzEiIEFsaWFzPSJMYXllcjEgU2tpbiBGYWN0b3IiIFVuaXQ9IiIgRGVmYXVsdD0iMC4wMSIgTWF4PSI1MDAwIiBNaW49Ii0xMDAwIiBEaWdpdD0iOCIgRGVzYz0ic2tpbiBmYWN0b3Igb2YgbGF5ZXIxIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTMiIgQWxpYXM9IkxheWVyMiBTa2luIEZhY3RvciIgVW5pdD0iIiBEZWZhdWx0PSIwLjAxIiBNYXg9IjUwMDAiIE1pbj0iLTEwMDAiIERpZ2l0PSI4IiBEZXNjPSJza2luIGZhY3RvciBvZiBsYXllcjIiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlNmcyIgQWxpYXM9IkZyYWN0dXJlIEZhY2UgU2tpbiIgVW5pdD0iIiBEZWZhdWx0PSIxLjAiIE1heD0iNTAwMCIgTWluPSItMTAwMCIgRGlnaXQ9IjYiIERlc2M9ImZyYWN0dXJlIGZhY2Ugc2tpbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU2Nob2tlIiBBbGlhcz0iQ2hva2VkIFNraW4iIFVuaXQ9IiIgRGVmYXVsdD0iMS4wIiBNYXg9IjUwMDAiIE1pbj0iLTEwMDAiIERpZ2l0PSI2IiBEZXNjPSJjaG9rZWQtZnJhY3R1cmUgc2tpbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU2xlYWsiIEFsaWFzPSJMZWFrIFNraW4iIFVuaXQ9IiIgRGVmYXVsdD0iMS4wIiBNYXg9IjUwMDAiIE1pbj0iLTEwMDAiIERpZ2l0PSI2IiBEZXNjPSJsZWFrIHNraW4gZmFjdG9yIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTXzEiIEFsaWFzPSJSZXNlcnZvaXIxIFNraW4iIFVuaXQ9IiIgRGVmYXVsdD0iMC4wIiBNYXg9IjUwMDAiIE1pbj0iLTEwMDAiIERpZ2l0PSI2IiBEZXNjPSJza2luIGZhY3RvciIgLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IlNfMiIgQWxpYXM9IlJlc2Vydm9pcjIgU2tpbiIgVW5pdD0iIiBEZWZhdWx0PSIwLjAiIE1heD0iNTAwMCIgTWluPSItMTAwMCIgRGlnaXQ9IjYiIERlc2M9InNraW4gZmFjdG9yIiAvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU18zIiBBbGlhcz0iUmVzZXJ2b2lyMyBTa2luIiBVbml0PSIiIERlZmF1bHQ9IjAuMCIgTWF4PSI1MDAwIiBNaW49Ii0xMDAwIiBEaWdpdD0iNiIgRGVzYz0ic2tpbiBmYWN0b3IiIC8+DQogICAgPCEtLVhBIi0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IlJpIiBBbGlhcz0iQ29tcG9zaXRlIFJhZGl1cyIgVW5pdD0ibSIgRGVmYXVsdD0iNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJjb21wb3NpdGUgcmFkaXVzIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJyMjEiIEFsaWFzPSJDb21wb3NpdGUgUmFkaXVzIDIxIiBVbml0PSJtIiBEZWZhdWx0PSIxMDAiIE1heD0iMTAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIERlc2M9ImNvbXBvc2l0ZSByYWRpdXMyMSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icjMyIiBBbGlhcz0iQ29tcG9zaXRlIFJhZGl1cyAzMiIgVW5pdD0ibSIgRGVmYXVsdD0iMjAwIiBNYXg9IjEwMDAwIiBNaW49IjEiIERpZ2l0PSIzIiBEZXNjPSJjb21wb3NpdGUgcmFkaXVzMzIiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InI0MyIgQWxpYXM9IkNvbXBvc2l0ZSBSYWRpdXMgNDMiIFVuaXQ9Im0iIERlZmF1bHQ9IjMwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgRGVzYz0iY29tcG9zaXRlIHJhZGl1czQzIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSMSIgQWxpYXM9IlJlZ2lvbjEgUmFkaXVzIiBVbml0PSJtIiBEZWZhdWx0PSI1MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9InJlZ2lvbjEgcmFkaXVzIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSMiIgQWxpYXM9IlJlZ2lvbjIgUmFkaXVzIiBWYWxpZGF0ZVN0cj0iR1Q6UjEiIFVuaXQ9Im0iIERlZmF1bHQ9IjUwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgIERlc2M9InJlZ2lvbjIgcmFkaXVzIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSMUwiIEFsaWFzPSJMYXllcjEgRHJhaW5hZ2UgUmFkaXVzIiBVbml0PSJtIiBEZWZhdWx0PSI2MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImxheWVyMSByYWRpdXMiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlIyTCIgQWxpYXM9IkxheWVyMiBEcmFpbmFnZSBSYWRpdXMiIFZhbGlkYXRlU3RyPSJHVDpSMUwiIFVuaXQ9Im0iIERlZmF1bHQ9IjEwMCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImxheWVyMiByYWRpdXMiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlIxMSIgQWxpYXM9IkxheWVyMSBSZWdpb24xIFJhZGl1cyIgVW5pdD0ibSIgRGVmYXVsdD0iNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIxc3QgcmFkaXVzIG9mIGlubmVyIHJlZ2lvbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUjEyIiBBbGlhcz0iTGF5ZXIxIFJlZ2lvbjIgUmFkaXVzIiBVbml0PSJtIiBEZWZhdWx0PSI1MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjFzdCByYWRpdXMgb2Ygb3V0ZXIgcmVnaW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSMjEiIEFsaWFzPSJMYXllcjIgUmVnaW9uMSBSYWRpdXMiIFVuaXQ9Im0iIERlZmF1bHQ9IjUwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHJhZGl1cyBvZiBpbm5lciByZWdpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlIyMiIgQWxpYXM9IkxheWVyMiBSZWdpb24yIFJhZGl1cyIgVW5pdD0ibSIgRGVmYXVsdD0iNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIybmQgcmFkaXVzIG9mIG91dGVyIHJlZ2lvbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUmluIiBBbGlhcz0iSW5uZXIgWm9uZSBSYWRpdXMiIFVuaXQ9Im0iIERlZmF1bHQ9IjUwIiBNYXg9IjEwMDAwIiBNaW49IjAuMDEiIERpZ2l0PSIzIiBEZXNjPSJyYWRpdXMgb2YgaW5uZXIgcmVnaW9uIiAvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9InNpZ21hIiBBbGlhcz0iRGlmZnVzaXZpdHkgUmF0aW8iIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0iUHJlc3N1cmUgY29uZHVjdGlvbiByYXRpbyIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ic2lnbWExMSIgQWxpYXM9IkRpZmZ1c2l2aXR5IFJhdGlvIDExIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9ImNvbmR1Y3Rpdml0eSBmYWN0b3IgcmF0aW8xMSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ic2lnbWFGMSIgQWxpYXM9IkRpZmZ1c2l2aXR5IFJhdGlvIEYxIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9ImNvbmR1Y3Rpdml0eSBmYWN0b3IgcmF0aW9mMSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ic2lnbWEyMSIgQWxpYXM9IkRpZmZ1c2l2aXR5IFJhdGlvIDIxIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9ImNvbmR1Y3Rpdml0eSBmYWN0b3IgcmF0aW8yMSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ic2lnbWEzMSIgQWxpYXM9IkRpZmZ1c2l2aXR5IFJhdGlvIDMxIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9ImNvbmR1Y3Rpdml0eSBmYWN0b3IgcmF0aW8zMSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ic2lnbWE0MSIgQWxpYXM9IkRpZmZ1c2l2aXR5IFJhdGlvIDQxIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9ImNvbmR1Y3Rpdml0eSBmYWN0b3IgcmF0aW80MSIgLz4NCiAgPC9QYXJhR3JvdXA+DQoNCiAgPFBhcmFHcm91cCBOYW1lPSIiIEFsaWFzPSJGbG93IFJlZ2ltZSBDdXJ2ZSI+DQogICAgPFBhcmFJdGVtIE5hbWU9ImExIiBBbGlhcz0iQ29lZmZpY2llbnQgMSIgVW5pdD0iIiBEZWZhdWx0PSIxMDAiIE1heD0iMTAwMDAwIiBNaW49IjEwMDAwMCIgRGlnaXQ9IjMiIERlc2M9ImN1cnZlIG9mIHZlbG9jaXR5LXByZXNzdXJlIGdyYWRpZW50IGZhY3RvcjEiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImEyIiBBbGlhcz0iQ29lZmZpY2llbnQgMiIgVW5pdD0iIiBEZWZhdWx0PSIxMDAiIE1heD0iMTAwMDAwIiBNaW49IjEwMDAwMCIgRGlnaXQ9IjMiIERlc2M9ImN1cnZlIG9mIHZlbG9jaXR5LXByZXNzdXJlIGdyYWRpZW50IGZhY3RvcjIiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImEzIiBBbGlhcz0iQ29lZmZpY2llbnQgMyIgVW5pdD0iIiBEZWZhdWx0PSIxMDAiIE1heD0iMTAwMDAwIiBNaW49IjEwMDAwMCIgRGlnaXQ9IjMiIERlc2M9ImN1cnZlIG9mIHZlbG9jaXR5LXByZXNzdXJlIGdyYWRpZW50IGZhY3RvcjMiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImE0IiBBbGlhcz0iQ29lZmZpY2llbnQgNCIgVW5pdD0iIiBEZWZhdWx0PSIxMDAiIE1heD0iMTAwMDAwIiBNaW49IjEwMDAwMCIgRGlnaXQ9IjMiIERlc2M9ImN1cnZlIG9mIHZlbG9jaXR5LXByZXNzdXJlIGdyYWRpZW50IGZhY3RvcjQiIC8+DQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0iU3BlY2lhbCBSZXNlcnZvaXIgUGFyYW1ldGVycyI+DQogICAgPFBhcmFJdGVtIE5hbWU9IkQiIEFsaWFzPSJTdG9yYXRpdml0eSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMTAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9InN0b3JhdGl2aXR5IHJhdGlvIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJEMSIgQWxpYXM9IlN0b3JhdGl2aXR5IFJhdGlvIDEiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSJzdG9yYXRpdml0eSByYXRpbzEiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkQyIiBBbGlhcz0iU3RvcmF0aXZpdHkgUmF0aW8gMiIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMTAwMCIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9InN0b3JhdGl2aXR5IHJhdGlvMiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2FmIiBBbGlhcz0iRnJhY3R1cmUgU3RvcmF0aXZpdHkgUmF0aW8iIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9ImVsYXN0aWNpdHkgc3RvcmF0aXZpdHkgcmF0aW8iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Im9tZWdhdiIgQWxpYXM9IlZ1ZyBTdG9yYXRpdml0eSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciB2dWciIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Im9tZWdhdjEiIEFsaWFzPSJJbm5lciBWdWcgU3RvcmF0aXZpdHkgUmF0aW8iIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9ImVsYXN0aWNpdHkgc3RvcmF0aXZpdHkgcmF0aW8gb2YgaW5uZXIgdnVnIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYXYyIiBBbGlhcz0iT3V0ZXIgVnVnIFN0b3JhdGl2aXR5IFJhdGlvIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJlbGFzdGljaXR5IHN0b3JhdGl2aXR5IHJhdGlvIG9mIG91dGVyIHZ1ZyIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2FGMSIgQWxpYXM9IklubmVyIEZyYWN0dXJlIFN0b3JhdGl2aXR5IFJhdGlvIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJlbGFzdGljaXR5IHN0b3JhdGl2aXR5IHJhdGlvIG9mIGlubmVyIGZyYWN0dXJlIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYW0iIEFsaWFzPSJNYXRyaXggU3RvcmF0aXZpdHkgUmF0aW8iIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIFVzZU1vZGU9IjUiIERlc2M9ImVsYXN0aWNpdHkgc3RvcmF0aXZpdHkgcmF0aW8gb2YgaW5uZXIgbWF0cml4IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYW0xIiBBbGlhcz0iSW5uZXIgTWF0cml4IFN0b3JhdGl2aXR5IFJhdGlvIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBVc2VNb2RlPSI1IiBEZXNjPSJlbGFzdGljaXR5IHN0b3JhdGl2aXR5IHJhdGlvIG9mIGlubmVyIG1hdHJpeCIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2FtMiIgQWxpYXM9Ik91dGVyIE1hdHJpeCBTdG9yYXRpdml0eSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgVXNlTW9kZT0iNSIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBvdXRlciBtYXRyaXgiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Im9tZWdhRjIiIEFsaWFzPSJPdXRlciBGcmFjdHVyZSBTdG9yYXRpdml0eSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBvdXRlciBmcmFjdHVyZSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2FmMSIgQWxpYXM9IkZyYWN0dXJlMSBTdG9yYXRpdml0eSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyIgLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYWYyIiBBbGlhcz0iRnJhY3R1cmUyIFN0b3JhdGl2aXR5IFJhdGlvIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJlbGFzdGljaXR5IHN0b3JhdGl2aXR5IHJhdGlvIiAvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ib21lZ2F2IiBBbGlhcz0iVnVnIFN0b3JhdGl2aXR5IFJhdGlvIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJlbGFzdGljaXR5IHN0b3JhdGl2aXR5IHJhdGlvIG9mIGlubmVyIHZ1ZyIgLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9Im9tZWdhViIgQWxpYXM9IlZ1ZyBTdG9yYXRpdml0eSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciB2dWciIC8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYVYxIiBBbGlhcz0iVnVnMSBTdG9yYXRpdml0eSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iZWxhc3RpY2l0eSBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciB2dWciIC8+DQogICAgPCEtLVhBIi0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IncxMSIgQWxpYXM9IkxheWVyMSBSZWdpb24xIFN0b3JhdGl2aXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjFzdCBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciByZWdpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IncxMiIgQWxpYXM9IkxheWVyMSBSZWdpb24yIFN0b3JhdGl2aXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjFzdCBzdG9yYXRpdml0eSByYXRpbyBvZiBvdXRlciByZWdpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IncyMSIgQWxpYXM9IkxheWVyMiBSZWdpb24xIFN0b3JhdGl2aXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjJuZCBzdG9yYXRpdml0eSByYXRpbyBvZiBpbm5lciByZWdpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IncyMiIgQWxpYXM9IkxheWVyMiBSZWdpb24yIFN0b3JhdGl2aXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjJuZCBzdG9yYXRpdml0eSByYXRpbyBvZiBvdXRlciByZWdpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IncxIiBBbGlhcz0iSW5uZXIgTGF5ZXIxIFN0b3JhdGl2aXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9InN0b3JhdGl2aXR5IHJhdGlvIG9mIGlubmVyIHJlZ2lvbiBsYXllcjEiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IncyIiBBbGlhcz0iT3V0ZXIgTGF5ZXIxIFN0b3JhdGl2aXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9InN0b3JhdGl2aXR5IHJhdGlvIG9mIG91dGVyIHJlZ2lvbiBsYXllcjIiIC8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhIiBBbGlhcz0iQ3Jvc3NmbG93IENvZWZmaWNpZW50IiBVbml0PSIiIERlZmF1bHQ9IjAuMDAwMDAxIiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJjcm9zcyBmbG93IGNvZWZmaWNpZW50IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJsYW1iZGExIiBBbGlhcz0iQ3Jvc3NmbG93IENvZWZmaWNpZW50IDEiIFVuaXQ9IiIgRGVmYXVsdD0iMC4wMDAwMDEiIE1heD0iMSIgTWluPSIwIiBTY2llbnRpZmljPSIxIiBEaWdpdD0iMTAiIERlc2M9ImNyb3NzIGZsb3cgY29lZmZpY2llbnQiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYTIiIEFsaWFzPSJDcm9zc2Zsb3cgQ29lZmZpY2llbnQgMiIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhbWYiIEFsaWFzPSJNYXRyaXgtdG8tRnJhY3R1cmUgQ3Jvc3NmbG93IiBVbml0PSIiIERlZmF1bHQ9IjAuMDAwMDAxIiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJjcm9zcyBmbG93IGNvZWZmaWNpZW50IG9mIGlubmVyIHZ1ZyIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhbXYiIEFsaWFzPSJNYXRyaXgtdG8tVnVnIENyb3NzZmxvdyIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCBvZiBpbm5lciB2dWciIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYXZmIiBBbGlhcz0iVnVnLXRvLUZyYWN0dXJlIENyb3NzZmxvdyIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCBvZiBpbm5lciB2dWciIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYXYxIiBBbGlhcz0iSW5uZXIgVnVnIENyb3NzZmxvdyIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCBvZiBpbm5lciB2dWciIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYW0xIiBBbGlhcz0iSW5uZXIgTWF0cml4IENyb3NzZmxvdyIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCBvZiBvdXRlciBtYXRyaXgiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYXYyIiBBbGlhcz0iT3V0ZXIgVnVnIENyb3NzZmxvdyIgVW5pdD0iIiBEZWZhdWx0PSIxZS04IiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJjcm9zcyBmbG93IGNvZWZmaWNpZW50IG9mIG91dGVyIHZ1ZyIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhbTIiIEFsaWFzPSJPdXRlciBNYXRyaXggQ3Jvc3NmbG93IiBVbml0PSIiIERlZmF1bHQ9IjFlLTEwIiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJjcm9zcyBmbG93IGNvZWZmaWNpZW50IG9mIG91dGVyIG1hdHJpeCIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhUEYxIiBBbGlhcz0iTGF5ZXIgQ3Jvc3NmbG93IDEiIFVuaXQ9IiIgRGVmYXVsdD0iMWUtNSIgTWF4PSIxIiBNaW49IjFlLTE1IiBEaWdpdD0iMyIgRGVzYz0ibGF5ZXIgY3Jvc3NmbG93IGNvZWZmaWNpZW50IG9mIGlubmVyIHJlZ2lvbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhUEYyIiBBbGlhcz0iTGF5ZXIgQ3Jvc3NmbG93IDIiIFVuaXQ9IiIgRGVmYXVsdD0iMWUtNSIgTWF4PSIxIiBNaW49IjFlLTE1IiBEaWdpdD0iMyIgRGVzYz0ibGF5ZXIgY3Jvc3NmbG93IGNvZWZmaWNpZW50IG9mIG91dGVyIHJlZ2lvbiIgLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJsYW1iZGFwZiIgQWxpYXM9IlBvcmUtdG8tRnJhY3R1cmUgQ3Jvc3NmbG93IiBVbml0PSIiIERlZmF1bHQ9IjAuMDAwMDAxIiBNYXg9IjEiIE1pbj0iMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJjcm9zcyBmbG93IGNvZWZmaWNpZW50IG9mIGlubmVyIHZ1ZyIgLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYXZmIiBBbGlhcz0iVnVnLXRvLUZyYWN0dXJlIENyb3NzZmxvdyIgVW5pdD0iIiBEZWZhdWx0PSIwLjAwMDAwMSIgTWF4PSIxIiBNaW49IjAiIFNjaWVudGlmaWM9IjEiIERpZ2l0PSIxMCIgRGVzYz0iY3Jvc3MgZmxvdyBjb2VmZmljaWVudCBvZiBpbm5lciB2dWciIC8+DQogICAgPCEtLVhBIi0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9Ik1LdSIgQWxpYXM9Ik1vYmlsaXR5IiBVbml0PSJtRC8obVBhLnMpIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIFVzZU1vZGU9IjciIERlc2M9Im1vYmlsaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNIiBBbGlhcz0iTW9iaWxpdHkgUmF0aW8iIFVuaXQ9IiIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0ibW9iaWxpdHkgcmF0aW8iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1MMSIgQWxpYXM9IkxheWVyMSBNb2JpbGl0eSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSJtb2JpbGl0eSByYXRpbyBvZiBsYXllcjEiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1MMiIgQWxpYXM9IkxheWVyMiBNb2JpbGl0eSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwMDAiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSJtb2JpbGl0eSByYXRpbyBvZiBsYXllcjIiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik0xMSIgQWxpYXM9Ik1vYmlsaXR5IFJhdGlvIDExIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMSIgTWluPSIxIiBEaWdpdD0iMyIgRGVzYz0ibW9iaWxpdHkgcmF0aW8xMSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTUYxIiBBbGlhcz0iTW9iaWxpdHkgUmF0aW8gRjEiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMDAwIiBNaW49IjFlLTAzIiBEaWdpdD0iMyIgRGVzYz0ibW9iaWxpdHkgcmF0aW9mMSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTTIxIiBBbGlhcz0iTW9iaWxpdHkgUmF0aW8gMjEiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMDAwIiBNaW49IjFlLTAzIiBEaWdpdD0iMyIgRGVzYz0ibW9iaWxpdHkgcmF0aW8yMSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTTMxIiBBbGlhcz0iTW9iaWxpdHkgUmF0aW8gMzEiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMDAwIiBNaW49IjFlLTAzIiBEaWdpdD0iMyIgRGVzYz0ibW9iaWxpdHkgcmF0aW8zMSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTTQxIiBBbGlhcz0iTW9iaWxpdHkgUmF0aW8gNDEiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMDAwIiBNaW49IjFlLTAzIiBEaWdpdD0iMyIgRGVzYz0ibW9iaWxpdHkgcmF0aW80MSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iWDExIiBBbGlhcz0iTGF5ZXIxIFJlZ2lvbjEgVHJhbnNtaXNzaWJpbGl0eSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIwLjI1IiBNYXg9IjEiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSIxc3QgdHJhbnNtaXNzaWJpbGl0eSBvZiBpbm5lciByZWdpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlgxMiIgQWxpYXM9IkxheWVyMSBSZWdpb24yIFRyYW5zbWlzc2liaWxpdHkgUmF0aW8iIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0iMXN0IHRyYW5zbWlzc2liaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJYMjEiIEFsaWFzPSJMYXllcjIgUmVnaW9uMSBUcmFuc21pc3NpYmlsaXR5IFJhdGlvIiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9IjJuZCB0cmFuc21pc3NpYmlsaXR5IG9mIGlubmVyIHJlZ2lvbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iWDIyIiBBbGlhcz0iTGF5ZXIyIFJlZ2lvbjIgVHJhbnNtaXNzaWJpbGl0eSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIwLjI1IiBNYXg9IjEiIE1pbj0iMC4wMDEiIERpZ2l0PSIzIiBEZXNjPSIybmQgdHJhbnNtaXNzaWJpbGl0eSBvZiBvdXRlciByZWdpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlgxIiBBbGlhcz0iSW5uZXIgTGF5ZXIxIFRyYW5zbWlzc2liaWxpdHkgUmF0aW8iIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0idHJhbnNtaXNzaWJpbGl0eSBvZiBpbm5lciByZWdpb24gbGF5ZXIxIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJYMiIgQWxpYXM9Ik91dGVyIExheWVyMSBUcmFuc21pc3NpYmlsaXR5IFJhdGlvIiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIwLjAwMSIgRGlnaXQ9IjMiIERlc2M9InRyYW5zbWlzc2liaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIGxheWVyMiIgLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJnYW1tYSIgQWxpYXM9IlN0cmVzcyBTZW5zaXRpdml0eSBDb2VmZmljaWVudCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAxIiBNYXg9IjAuMSIgTWluPSIxZS0xMCIgRGlnaXQ9IjUiIERlc2M9InN0cmVzcyBzZW5zaXRpdml0eSBjb2VmZmljaWVudCIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iRyIgQWxpYXM9IlRocmVzaG9sZCBQcmVzc3VyZSBHcmFkaWVudCIgVW5pdD0iTVBhL20iIERlZmF1bHQ9IjAuMDAxIiBNYXg9IjEwIiBNaW49IjAuMCIgU2NpZW50aWZpYz0iMSIgRGlnaXQ9IjEwIiBEZXNjPSJzdGFydGluZyBwcmVzc3VyZSBncmFkaWVudCIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iYndmIiBBbGlhcz0iQm90dG9tIFdhdGVyIENvZWZmaWNpZW50IiBVbml0PSIlIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImJvdHRvbSB3YXRlciBjb2VmZmljaWVudCIgLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLUmZ2IiBBbGlhcz0iRnJhY3R1cmUvVnVnIFBlcm1lYWJpbGl0eSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iUGVybWVhYmlsaXR5IHJhdGlvIChmcmFjdHVyZS8obWF0cml4K2ZyYWN0dXJlKSkgIiAvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8IS0tPFBhcmFJdGVtIAlOYW1lPSJLUmZ2IiBBbGlhcz0i6KOC57yd5rq25rSe5riX6YCP546H5q+UIiBVbml0PSIiIERlZmF1bHQ9IjAuNSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJQZXJtZWFiaWxpdHkgcmF0aW8gKGZyYWN0dXJlLyhjYXZlK2ZyYWN0dXJlKSkgIi8+IFhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJBZiIgQWxpYXM9IkZyYWN0dXJlIEZsb3cgQXJlYSIgVW5pdD0ibV4yIiBEZWZhdWx0PSIwLjUiIE1heD0iMTAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJGbG93IGFyZWEgKGZyYWN0dXJlKSAiIC8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJBZjEiIEFsaWFzPSJGcmFjdHVyZTEgRmxvdyBBcmVhIiBVbml0PSJtXjIiIERlZmF1bHQ9IjAuNSIgTWF4PSIxMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IkZsb3cgYXJlYSAoZnJhY3R1cmUxKSAiIC8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJBZjIiIEFsaWFzPSJGcmFjdHVyZTIgRmxvdyBBcmVhIiBVbml0PSJtXjIiIERlZmF1bHQ9IjAuNSIgTWF4PSIxMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IkZsb3cgYXJlYSAoZnJhY3R1cmUyKSAiIC8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJMZiIgQWxpYXM9IkZyYWN0dXJlIExlbmd0aCIgVW5pdD0ibSIgRGVmYXVsdD0iMTAwIiBNYXg9IjEwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9Ikxlbmd0aCAoZnJhY3R1cmUpICIgLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IkxmMSIgQWxpYXM9IkZyYWN0dXJlMSBMZW5ndGgiIFVuaXQ9Im0iIERlZmF1bHQ9IjEwMCIgTWF4PSIxMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJMZW5ndGggKGZyYWN0dXJlMSkgIiAvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTGYyIiBBbGlhcz0iRnJhY3R1cmUyIExlbmd0aCIgVW5pdD0ibSIgRGVmYXVsdD0iMjAwIiBNYXg9IjEwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9Ikxlbmd0aCAoZnJhY3R1cmUyKSAiIC8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJWdiIgQWxpYXM9IlZ1ZyBWb2x1bWUiIFVuaXQ9Im1eMyIgRGVmYXVsdD0iMTAwMDAiIE1heD0iMTAwMDAwMDAwMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iVm9sdW1lIChjYXZlKSAiIC8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJWdjEiIEFsaWFzPSJWdWcxIFZvbHVtZSIgVW5pdD0ibV4zIiBEZWZhdWx0PSI1MDAwMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJWb2x1bWUgKGNhdmUxKSAiIC8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJWdjIiIEFsaWFzPSJWdWcyIFZvbHVtZSIgVW5pdD0ibV4zIiBEZWZhdWx0PSIxMDAwMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJ2b2x1bWUgKGNhdmUyKSAiIC8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSdiIgQWxpYXM9IlZ1ZyBSYWRpdXMiIFVuaXQ9Im0iIERlZmF1bHQ9IjEiIE1heD0iMTAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJSYWRpdXMgKGNhdmUpICIgLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9ImxhbWJkYXYxdyIgQWxpYXM9IlZ1ZzEtdG8tV2VsbCBDcm9zc2Zsb3ciIFVuaXQ9IiIgRGVmYXVsdD0iMC41IiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IkNyb3NzZmxvdyBjb2VmZmljaWVudCAoY2F2ZTEtIHdlbGxib3JlKSAiIC8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJsYW1iZGF2MXYyIiBBbGlhcz0iVnVnMS10by1WdWcyIENyb3NzZmxvdyIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iQ3Jvc3NmbG93IGNvZWZmaWNpZW50IChjYXZlMS0gY2F2ZTIpICIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhdjJ3IiBBbGlhcz0iVnVnMi10by1XZWxsIENyb3NzZmxvdyIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iQ3Jvc3NmbG93IGNvZWZmaWNpZW50IChjYXZlMi0gd2VsbGJvcmUpIiAvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8IS0tPFBhcmFJdGVtIAlOYW1lPSJLUmYxZjIiIEFsaWFzPSLoo4LnvJ0x6KOC57ydMua4l+mAj+eOh+avlCIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iVGhlIHJhdGlvIG9mIHRoZSBwcm9kdWN0IG9mIHBlcm1lYWJpbGl0eSBhbmQgZmxvdyBhcmVhIChmcmFjdHVyZSAxLyhmcmFjdHVyZSAxK2ZyYWN0dXJlIDIpKSIvPiBYQSItLT4NCg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IiIgQWxpYXM9Ik90aGVyIFBhcmFtZXRlcnMiPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9Imh3IiBBbGlhcz0iUGVyZm9yYXRpb24gSGVpZ2h0IiBVbml0PSJtIiBEZWZhdWx0PSIxIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0ibGVuZ3RoIG9mIGNvbm5lY3RlZCBzZWN0aW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJaYSIgQWxpYXM9IlBlcmZvcmF0aW9uIFRvcCBEZXB0aCIgVW5pdD0ibSIgRGVmYXVsdD0iMi41IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0idG9wIHBvc2l0aW9uIG9mIGNvbm5lY3RlZCBzZWN0aW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ6dyIgQWxpYXM9IlZlcnRpY2FsIFdlbGwgUG9zaXRpb24iIFVuaXQ9Im0iIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSLnlJ/kuqfmrrXkuK3lv4Pot53lgqjlsYLlupXpg6jot53nprsodmVydGljYWwgd2VsbCBwb3NpdGlvbikiIC8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0ieGYiIEFsaWFzPSJGcmFjdHVyZSBIYWxmLUxlbmd0aCIgVW5pdD0ibSIgRGVmYXVsdD0iNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSI2IiBEZXNjPSJmcmFjdHVyZSBoYWxmLWxlbmd0aCIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0id2YiIEFsaWFzPSJGcmFjdHVyZSBXaWR0aCIgVW5pdD0ibSIgRGVmYXVsdD0iMC4wMDEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjYiIERlc2M9ImZyYWN0dXJlIHdpZHRoIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJGYyIgQWxpYXM9IkZyYWN0dXJlIENvbmR1Y3Rpdml0eSIgVW5pdD0ibUQubSIgRGVmYXVsdD0iMTAwMDAiIE1heD0iMWUrMzAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJmcmFjdHVyZSBjb25kdWN0aXZpdHkiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkZjMSIgQWxpYXM9IkZyYWN0dXJlIENvbmR1Y3Rpdml0eSAxIiBVbml0PSJtRC5tIiBEZWZhdWx0PSIxNTAwMCIgTWF4PSIxZSszMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImZyYWN0dXJlIGNvbmR1Y3Rpdml0eTEiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkZjMiIgQWxpYXM9IkZyYWN0dXJlIENvbmR1Y3Rpdml0eSAyIiBVbml0PSJtRC5tIiBEZWZhdWx0PSIxMDAwMCIgTWF4PSIxZSszMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImZyYWN0dXJlIGNvbmR1Y3Rpdml0eTIiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkZjMyIgQWxpYXM9IkZyYWN0dXJlIENvbmR1Y3Rpdml0eSAzIiBVbml0PSJtRC5tIiBEZWZhdWx0PSI1MDAwIiBNYXg9IjFlKzMwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZnJhY3R1cmUgY29uZHVjdGl2aXR5MyIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iRmNEIiBBbGlhcz0iRGltZW5zaW9ubGVzcyBGcmFjdHVyZSBDb25kdWN0aXZpdHkiIFVuaXQ9IiIgRGVmYXVsdD0iNTAwMCIgTWF4PSIxZSszMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIFVzZU1vZGU9IjMiIERlc2M9ImZyYWN0dXJlIGNvbmR1Y3Rpdml0eSBkaW1lbnNpb25sZXNzIiAvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9InhmMSIgQWxpYXM9IkZyYWN0dXJlIEhhbGYtTGVuZ3RoIDEiIFVuaXQ9Im0iIERlZmF1bHQ9IjIwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iNiIgRGVzYz0iZnJhY3R1cmUgaGFsZi1sZW5ndGgxIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ4ZjIiIEFsaWFzPSJGcmFjdHVyZSBIYWxmLUxlbmd0aCAyIiBVbml0PSJtIiBEZWZhdWx0PSI0MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjYiIERlc2M9ImZyYWN0dXJlIGhhbGYtbGVuZ3RoMiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieGYzIiBBbGlhcz0iRnJhY3R1cmUgSGFsZi1MZW5ndGggMyIgVW5pdD0ibSIgRGVmYXVsdD0iNjAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSI2IiBEZXNjPSJmcmFjdHVyZSBoYWxmLWxlbmd0aDMiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Inhmc3VtIiBBbGlhcz0iVG90YWwgRnJhY3R1cmUgSGFsZi1MZW5ndGgiIFVuaXQ9Im0iIERlZmF1bHQ9IjYwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBVc2VNb2RlPSIzIiBEaWdpdD0iMyIgRGVzYz0idG90YWwgZnJhY3R1cmUgaGFsZi1sZW5ndGgiIC8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3hmIiBBbGlhcz0iRnJhY3R1cmUgSGFsZi1MZW5ndGggU2NhbGluZyIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwMCIgTWluPSIxZS0wMiIgRGlnaXQ9IjMiIERlc2M9ImZyYWN0dXJlIGhhbGYtbGVuZ3RoMyIgLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IkNGYyIgQWxpYXM9IkZyYWN0dXJlIENvbmR1Y3Rpdml0eSBTY2FsaW5nIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAwIiBNaW49IjFlLTAyIiBEaWdpdD0iMyIgRGVzYz0iZnJhY3R1cmUgaGFsZi1sZW5ndGgzIiAvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iRmNfMSIgQWxpYXM9IlJlc2Vydm9pcjEgRnJhY3R1cmUgQ29uZHVjdGl2aXR5IiBVbml0PSJtRC5tIiBEZWZhdWx0PSIxNTAwMCIgTWF4PSIxZSszMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImZyYWN0dXJlIGNvbmR1Y3Rpdml0eTEiIC8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJGY18yIiBBbGlhcz0iUmVzZXJ2b2lyMiBGcmFjdHVyZSBDb25kdWN0aXZpdHkiIFVuaXQ9Im1ELm0iIERlZmF1bHQ9IjEwMDAwIiBNYXg9IjFlKzMwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZnJhY3R1cmUgY29uZHVjdGl2aXR5MiIgLz4NCiAgICA8IS0tWEEiLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IkZjXzMiIEFsaWFzPSJSZXNlcnZvaXIzIEZyYWN0dXJlIENvbmR1Y3Rpdml0eSIgVW5pdD0ibUQubSIgRGVmYXVsdD0iNTAwMCIgTWF4PSIxZSszMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImZyYWN0dXJlIGNvbmR1Y3Rpdml0eTMiIC8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ4Zl8xIiBBbGlhcz0iUmVzZXJ2b2lyMSBGcmFjdHVyZSBIYWxmLUxlbmd0aCIgVW5pdD0ibSIgRGVmYXVsdD0iMjAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSI2IiBEZXNjPSJmcmFjdHVyZSBoYWxmLWxlbmd0aDEiIC8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ4Zl8yIiBBbGlhcz0iUmVzZXJ2b2lyMiBGcmFjdHVyZSBIYWxmLUxlbmd0aCIgVW5pdD0ibSIgRGVmYXVsdD0iNDAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSI2IiBEZXNjPSJmcmFjdHVyZSBoYWxmLWxlbmd0aDIiIC8+DQogICAgPCEtLVhBIi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ4Zl8zIiBBbGlhcz0iUmVzZXJ2b2lyMyBGcmFjdHVyZSBIYWxmLUxlbmd0aCIgVW5pdD0ibSIgRGVmYXVsdD0iNjAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSI2IiBEZXNjPSJmcmFjdHVyZSBoYWxmLWxlbmd0aDMiIC8+DQogICAgPCEtLVhBIi0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9InEiIEFsaWFzPSJOZWFyLVdlbGwgUmF0ZSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0icmF0ZSByYXRpbyIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icTEiIEFsaWFzPSJOZWFyLVdlbGwgUmF0ZSBSYXRpbyAxIiBVbml0PSIiIERlZmF1bHQ9IjAuNCIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSIzIiBEZXNjPSJyYXRlIHJhdGlvMSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icTIiIEFsaWFzPSJOZWFyLVdlbGwgUmF0ZSBSYXRpbyAyIiBVbml0PSIiIERlZmF1bHQ9IjAuMyIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSIzIiBEZXNjPSJyYXRlIHJhdGlvMiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iRSIgQWxpYXM9IlBsYW5lIFN0cmFpbiBNb2R1bHVzIiBVbml0PSJNUGEiIERlZmF1bHQ9IjEwMDAwIiBNYXg9IjEwMDAwMCIgTWluPSIxMDAwIiBEaWdpdD0iMyIgRGVzYz0icGxhbmUtc3RyYWluIG1vZHVsdXMiIC8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iRGlmZmRwIiBBbGlhcz0iQ29uZGVuc2F0ZSBUd28tUGhhc2UgRGV2aWF0aW9uIiBVbml0PSJNUGEiIERlZmF1bHQ9IjEwMDAwIiBNYXg9IjEwMDAwMCIgTWluPSIxMDAwIiBEaWdpdD0iMyIgRGVzYz0iIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJEZXdQIiBBbGlhcz0iRGV3IFBvaW50IFByZXNzdXJlIiBVbml0PSJNUGEiIERlZmF1bHQ9IjEwMDAwIiBNYXg9IjEwMDAwMCIgTWluPSIxMDAwIiBEaWdpdD0iMyIgRGVzYz0iIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJrc3RhcmZ2IiBBbGlhcz0iRnJhY3R1cmUvVnVnIFBlcm1lYWJpbGl0eSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNSIgRGVzYz0iIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJrc3RhcmZtIiBBbGlhcz0iRnJhY3R1cmUvTWF0cml4IFBlcm1lYWJpbGl0eSBSYXRpbyIgVW5pdD0iIiBEZWZhdWx0PSIwLjUiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNSIgRGVzYz0iIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJhIiBBbGlhcz0iQWRzb3JwdGlvbiBDb2VmZmljaWVudCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNSIgRGVzYz0iIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJiZXRhIiBBbGlhcz0iSW50ZXJmZXJlbmNlIENvZWZmaWNpZW50IiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49Ii0xIiBEaWdpdD0iNSIgRGVzYz0iIiAvPg0KICAgIDwhLS1YQSItLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQXJlYSIgQWxpYXM9IlJlc2Vydm9pciBBcmVhIiBVbml0PSJtXjIiIERlZmF1bHQ9IjEwMDAwIiBNYXg9IjFlKzMwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0icmVzZXJ2b2lyIGFyZWEiIC8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iWGZQb3NYIiBBbGlhcz0iRnJhY3R1cmUgWCIgVW5pdD0ibSIgRGVmYXVsdD0iMCIgRGlnaXQ9IjMiIERlc2M9IlhmIFBvcyBYIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJYZlBvc1kiIEFsaWFzPSJGcmFjdHVyZSBZIiBVbml0PSJtIiBEZWZhdWx0PSIwIiBEaWdpdD0iMyIgRGVzYz0iWGYgUG9zIFkiIC8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0ibmYiIEFsaWFzPSJOdW1iZXIgb2YgRnJhY3R1cmVzIiBEZWZhdWx0PSIyIiBNaW49IjIiIE1heD0iMTAwMCIgUGFyYVR5cGU9IjciIERlc2M9Im51bWJlciBvZiBsaXF1aWQgc2VjdGlvbnMiIFN1Ykl0ZW1zPSJYZlBvc1g7WGZQb3NZO3hmO0ZjIiAvPg0KDQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iQmR5IiBBbGlhcz0iQm91bmRhcnkiID4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ0b3AiIEFsaWFzPSJUb3AgQm91bmRhcnkiIExheWVyTW9kZT0iMiIgRGVmYXVsdD0iMCIgUGFyYVR5cGU9IjYiIEJkeVR5cGU9IjEiIEl0ZW1PcHRpb25zPSJJbXBlcm1lYWJsZTtDb25zdGFudCBQcmVzc3VyZSIgRGVzYz0idG9wIGJvdW5kYXJ5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJib3R0b20iIEFsaWFzPSJCb3R0b20gQm91bmRhcnkiIExheWVyTW9kZT0iMiIgRGVmYXVsdD0iMSIgUGFyYVR5cGU9IjYiIEJkeVR5cGU9IjEiIEl0ZW1PcHRpb25zPSJJbXBlcm1lYWJsZTtDb25zdGFudCBQcmVzc3VyZSIgRGVzYz0iYm90dG9tIGJvdW5kYXJ5IiAvPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IngxIiBBbGlhcz0iQm91bmRhcnkgRGlzdGFuY2UgMSIgTGF5ZXJNb2RlPSIyIiBVbml0PSJtIiBEZWZhdWx0PSI1MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIEJkeVR5cGU9IjAiIERlc2M9ImJvdW5kYXJ5IGRpc3RhbmNlMSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieDIiIEFsaWFzPSJCb3VuZGFyeSBEaXN0YW5jZSAyIiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjUwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0iYm91bmRhcnkgZGlzdGFuY2UyIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ4MyIgQWxpYXM9IkJvdW5kYXJ5IERpc3RhbmNlIDMiIExheWVyTW9kZT0iMiIgVW5pdD0ibSIgRGVmYXVsdD0iNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBCZHlUeXBlPSIwIiBEZXNjPSJib3VuZGFyeSBkaXN0YW5jZTMiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ing0IiBBbGlhcz0iQm91bmRhcnkgRGlzdGFuY2UgNCIgTGF5ZXJNb2RlPSIyIiBVbml0PSJtIiBEZWZhdWx0PSI1MCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIEJkeVR5cGU9IjAiIERlc2M9ImJvdW5kYXJ5IGRpc3RhbmNlNCIgLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJuZSIgQWxpYXM9Ik5vcnRoIEJvdW5kYXJ5IiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjQwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0ic3F1YXJlIGJvdW5kYXJ5IGRpc3RhbmNlKG5vcnRoKSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ic2UiIEFsaWFzPSJTb3V0aCBCb3VuZGFyeSIgTGF5ZXJNb2RlPSIyIiBVbml0PSJtIiBEZWZhdWx0PSI0MDAiIE1heD0iMTAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIEJkeVR5cGU9IjAiIERlc2M9InNxdWFyZSBib3VuZGFyeSBkaXN0YW5jZShzb3V0aCkiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IndlIiBBbGlhcz0iV2VzdCBCb3VuZGFyeSIgTGF5ZXJNb2RlPSIyIiBVbml0PSJtIiBEZWZhdWx0PSI0MDAiIE1heD0iMTAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIEJkeVR5cGU9IjAiIERlc2M9InNxdWFyZSBib3VuZGFyeSBkaXN0YW5jZSh3ZXN0KSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iZWUiIEFsaWFzPSJFYXN0IEJvdW5kYXJ5IiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjQwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0ic3F1YXJlIGJvdW5kYXJ5IGRpc3RhbmNlKGVhc3QpIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJyZSIgQWxpYXM9IkNpcmN1bGFyIEJvdW5kYXJ5IiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjQwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0iY2lyY3VsYXIgYm91bmRhcnkgZGlzdGFuY2UiIC8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3Jvc3NBbmdsZSIgQWxpYXM9IkJvdW5kYXJ5IEFuZ2xlIiBMYXllck1vZGU9IjIiIE1pbj0iMCIgTWF4PSIxODAiIFVuaXQ9IsKwIiBEZWZhdWx0PSI5MCIgRGlnaXQ9IjEiIFRpcHM9IiIgRGVzYz0iYW5nbGUgb2YgYm91bmRhcnkiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InJlXzEiIEFsaWFzPSJSZXNlcnZvaXIxIENpcmN1bGFyIEJvdW5kYXJ5IiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjQwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0iY2lyY3VsYXIgYm91bmRhcnkgZGlzdGFuY2UiIC8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9InJlXzIiIEFsaWFzPSJSZXNlcnZvaXIyIENpcmN1bGFyIEJvdW5kYXJ5IiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjQwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0iY2lyY3VsYXIgYm91bmRhcnkgZGlzdGFuY2UiIC8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9InJlXzMiIEFsaWFzPSJSZXNlcnZvaXIzIENpcmN1bGFyIEJvdW5kYXJ5IiBMYXllck1vZGU9IjIiIFVuaXQ9Im0iIERlZmF1bHQ9IjQwMCIgTWF4PSIxMDAwMCIgTWluPSIxIiBEaWdpdD0iMyIgQmR5VHlwZT0iMCIgRGVzYz0iY2lyY3VsYXIgYm91bmRhcnkgZGlzdGFuY2UiIC8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9InRoZXRhIiBBbGlhcz0iQW5nbGUiIExheWVyTW9kZT0iMiIgVW5pdD0iwrAiIERlZmF1bHQ9IjkwIiBNYXg9IjE4MCIgTWluPSIwIiBEaWdpdD0iMSIgRGVzYz0iYW5nbGUgb2YgYm91bmRhcnkiIC8+DQoNCiAgPC9QYXJhR3JvdXA+DQoNCiAgPFBhcmFHcm91cCBOYW1lPSIiIEFsaWFzPSJGbHVpZCBQcm9wZXJ0aWVzIj4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJaZyIgQWxpYXM9IkdhcyBaIEZhY3RvciIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwIiBEaWdpdD0iNCIgRGVzYz0iWiBmYWN0b3IiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkNnIiBBbGlhcz0iR2FzIENvbXByZXNzaWJpbGl0eSIgVW5pdD0iMS9NUGEiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlJob2ciIEFsaWFzPSJHYXMgRGVuc2l0eSIgVW5pdD0ia2cvbV4zIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQYiIgQWxpYXM9IkJ1YmJsZSBQb2ludCBQcmVzc3VyZSIgVW5pdD0iTVBhIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJScyIgQWxpYXM9Ikdhcy1PaWwgUmF0aW8iIFVuaXQ9Im1eMy9tXjMiIERlZmF1bHQ9IjEwMCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImdhcyBvaWwgcmF0aW8iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkNvIiBBbGlhcz0iT2lsIENvbXByZXNzaWJpbGl0eSIgVW5pdD0iMS9NUGEiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlJob28iIEFsaWFzPSJPaWwgRGVuc2l0eSIgVW5pdD0ia2cvbV4zIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSc3ciIEFsaWFzPSJHYXMtV2F0ZXIgUmF0aW8iIFVuaXQ9Im1eMy9tXjMiIERlZmF1bHQ9IjIuMDMiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJnYXMgd2F0ZXIgcmF0aW8iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkJ3IiBBbGlhcz0iV2F0ZXIgRm9ybWF0aW9uIFZvbHVtZSBGYWN0b3IiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJmb3JtYXRpb24gdm9sdW1lIGZhY3RvciIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3ciIEFsaWFzPSJXYXRlciBDb21wcmVzc2liaWxpdHkiIFVuaXQ9IjEvTVBhIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSaG93IiBBbGlhcz0iV2F0ZXIgRGVuc2l0eSIgVW5pdD0ia2cvbV4zIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXV3IiBBbGlhcz0iV2F0ZXIgVmlzY29zaXR5IiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIyIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0id2F0ZXIgdmlzY29zaXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJybyIgQWxpYXM9Ik9pbCBHcmF2aXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuOCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9Im9pbCBncmF2aXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJyZyIgQWxpYXM9IkdhcyBHcmF2aXR5IiBVbml0PSIiIERlZmF1bHQ9IjAuNyIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImdhcyBncmF2aXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQc2VwIiBBbGlhcz0iU2VwYXJhdG9yIFByZXNzdXJlIiBVbml0PSJNUGEiIERlZmF1bHQ9IjAuNzkxMTExIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iNiIgRGVzYz0ic2VwYXJhdG9yIHByZXNzdXJlIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJUc2VwIiBBbGlhcz0iU2VwYXJhdG9yIFRlbXBlcmF0dXJlIiBVbml0PSLihIMiIERlZmF1bHQ9IjE1LjU1NTYiIE1heD0iMTAwMDAiIE1pbj0iLTQ2MCIgRGlnaXQ9IjYiIERlc2M9InNlcGFyYXRvciB0ZW1wZXJhdHVyZSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icnQiIEFsaWFzPSJSZXNlcnZvaXIgVGVtcGVyYXR1cmUiIFVuaXQ9IuKEgyIgRGVmYXVsdD0iMTAwIiBNYXg9IjEwMDAwIiBNaW49Ii0yNzQiIERpZ2l0PSIzIiBEZXNjPSJyZXNlcnZvaXIgdGVtcGVyYXR1cmUiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InlnIiBBbGlhcz0iR2FzIE1vbGUgRnJhY3Rpb24iIFVuaXQ9IiIgRGVmYXVsdD0iMC41MDI0NSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSIzIiBEZXNjPSJnYXMgbW9sZSBmcmFjdGlvbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0idGIiIEFsaWFzPSJCdWJibGUgVGVtcGVyYXR1cmUiIFVuaXQ9IuKEgyIgRGVmYXVsdD0iODguMiIgTWF4PSIxMDAwMCIgTWluPSItMjc0IiBEaWdpdD0iMyIgRGVzYz0iYnViYmxlIHRlbXBlcmF0dXJlIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwd1NDIiBBbGlhcz0iV2F0ZXIgRGVuc2l0eSBAU0MiIFVuaXQ9ImtnL21eMyIgRGVmYXVsdD0iMTAwMCIgTWF4PSIxMDAwMCIgTWluPSIxZS01IiBEaWdpdD0iMyIgRGVzYz0id2F0ZXIgZGVuc2l0eSBTQyIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGdTQyIgQWxpYXM9IkFpciBEZW5zaXR5IEBTQyIgVW5pdD0ia2cvbV4zIiBEZWZhdWx0PSIxLjI5MyIgTWF4PSIxMDAwMCIgTWluPSIxZS01IiBEaWdpdD0iMyIgRGVzYz0iYWlyIGRlbnNpdHkgU0MiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InlDTzIiIEFsaWFzPSJDTzIgTW9sZSBGcmFjdGlvbiIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0iQ08yIG1vbGUgZnJhY3Rpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InlOMiIgQWxpYXM9Ik4yIE1vbGUgRnJhY3Rpb24iIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjMiIERlc2M9Ik4yIG1vbGUgZnJhY3Rpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InlIMlMiIEFsaWFzPSJIMlMgTW9sZSBGcmFjdGlvbiIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0iSDJTIG1vbGUgZnJhY3Rpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InRjIiBBbGlhcz0iQ3JpdGljYWwgVGVtcGVyYXR1cmUiIFVuaXQ9IuKEgyIgRGVmYXVsdD0iLTYwLjUiIE1heD0iMTAwMDAiIE1pbj0iLTI3NCIgRGlnaXQ9IjMiIERlc2M9ImNyaXRpY2FsIHRlbXBlcmF0dXJlIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ0cHIiIEFsaWFzPSJSZWR1Y2VkIFRlbXBlcmF0dXJlIiBVbml0PSIiIERlZmF1bHQ9IjIuMSIgTWF4PSIxMDAwMCIgTWluPSIxZS01IiBEaWdpdD0iMyIgRGVzYz0iY29ycmVzcG9uZGluZyB0ZW1wZXJhdHVyZSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUGMiIEFsaWFzPSJDcml0aWNhbCBQcmVzc3VyZSIgVW5pdD0iTVBhIiBEZWZhdWx0PSI0LjYiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJjcml0aWNhbCBwcmVzc3VyZSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUHByIiBBbGlhcz0iUmVkdWNlZCBQcmVzc3VyZSIgVW5pdD0iTVBhIiBEZWZhdWx0PSI3LjIiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJjb3JyZXNwb25kaW5nIHByZXNzdXJlIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNZyIgQWxpYXM9IkdhcyBNb2xhciBNYXNzIiBVbml0PSJnL21vbCIgRGVmYXVsdD0iMTYiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJnYXMgbW9sZSBtYXNzIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ3cyIgQWxpYXM9IlNhbGluaXR5IiBVbml0PSJtZy9MIiBEZWZhdWx0PSI1MDAwMDAiIE1heD0iMTAwMDAwMCIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0ibWFzcyBmcmFjdHVyZSBvZiBzYWx0IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJycCIgQWxpYXM9IlJlc2Vydm9pciBQcmVzc3VyZSIgVW5pdD0iTVBhIiBEZWZhdWx0PSIzMy40IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0icmVzZXJ2b2lyIHByZXNzdXJlIiAvPg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IiIgQWxpYXM9IlRlbXBvcmFyeSI+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iUWciIEFsaWFzPSJTaW5nbGUtUG9pbnQgUmF0ZSIgVW5pdD0iMTBeNCptXjMvZCIgRGVmYXVsdD0iNDUiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9InByb2R1Y3Rpdml0eSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUHdmIiBBbGlhcz0iQm90dG9taG9sZSBGbG93aW5nIFByZXNzdXJlIiBVbml0PSJNUGEiIERlZmF1bHQ9IjI5LjEiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IkJvdHRvbSBob2xlIHByZXNzdXJlIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSc3EiIEFsaWFzPSJkUy9kUSIgVW5pdD0iMS9tXjMvZCIgRGVmYXVsdD0iMC4wMDAwMSIgTWF4PSIxMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IlJhdGlvIG9mIFMgdG8gUSIgLz4NCiAgPC9QYXJhR3JvdXA+DQoNCiAgPFBhcmFHcm91cCBOYW1lPSIiIEFsaWFzPSJUZW1wb3JhcnkiPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9Inh3IiBBbGlhcz0iV2VsbCBYIiBVbml0PSJtIiBEZWZhdWx0PSIyNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Inl3IiBBbGlhcz0iV2VsbCBZIiBVbml0PSJtIiBEZWZhdWx0PSIyNTAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9InhlIiBBbGlhcz0iUmVzZXJ2b2lyIExlbmd0aCIgVW5pdD0ibSIgRGVmYXVsdD0iNTAwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ5ZSIgQWxpYXM9IlJlc2Vydm9pciBXaWR0aCIgVW5pdD0ibSIgRGVmYXVsdD0iNTAwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJjZHMiIEFsaWFzPSJDRGUyUyIgVW5pdD0ibSIgRGVmYXVsdD0iMS4wIiBNaW49IjAuMDAxIiBEaWdpdD0iMyIgRGVzYz0iIiAvPg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9Ik1vZGVsT3B0aW9uIiBBbGlhcz0iTW9kZWwgT3B0aW9ucyI+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iTW9XZWwiIEFsaWFzPSJXZWxsIFR5cGUiIERlZmF1bHQ9IjEiIFBhcmFUeXBlPSIxMSIgSXRlbU9wdGlvbnM9IkZ1bGx5IE9wZW4gVmVydGljYWw7UGFydGlhbGx5IE9wZW4gVmVydGljYWw7RnJhY3R1cmVkIFZlcnRpY2FsIFVuaWZvcm0gRmx1eDtGcmFjdHVyZWQgVmVydGljYWwgSW5maW5pdGUgQ29uZHVjdGl2aXR5IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNb1JlcyIgQWxpYXM9IlJlc2Vydm9pciBUeXBlIiBEZWZhdWx0PSIwIiBQYXJhVHlwZT0iMTEiIEl0ZW1PcHRpb25zPSJIb21vZ2VuZW91cztEdWFsIFBvcm9zaXR5IFBTUyBTaW5nbGUgUGVybTtEdWFsIFBvcm9zaXR5IFBTUyBEdWFsIFBlcm07VHJpcGxlIFBvcm9zaXR5IFBTUyIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTW9XYnMiIEFsaWFzPSJXZWxsYm9yZSBTdG9yYWdlIFR5cGUiIExheWVyTW9kZT0iMSIgRGVmYXVsdD0iMCIgUGFyYVR5cGU9IjExIiBJdGVtT3B0aW9ucz0iTm9uZTtDb25zdGFudDtWYXJpYWJsZShGYWlyKTtWYXJpYWJsZShIZWdlbWFuKSIgLz4NCiAgPC9QYXJhR3JvdXA+DQoNCiAgPFBhcmFHcm91cCBOYW1lPSIiIEFsaWFzPSJCb3VuZGFyeSI+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iTW9CZHkiIEFsaWFzPSJCb3VuZGFyeSBUeXBlIiBMYXllck1vZGU9IjIiIERlZmF1bHQ9IjAiIFBhcmFUeXBlPSIxMSIgSXRlbU9wdGlvbnM9IkluZmluaXRlO1NpbmdsZTtQYXJhbGxlbDtVLXNoYXBlZDtJbnRlcnNlY3Rpbmc7Q2lyY3VsYXI7UmVjdGFuZ3VsYXIiIC8+DQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iS0sxIiBBbGlhcz0iT2lsLVdhdGVyIFJlbGF0aXZlIFBlcm1lYWJpbGl0eSI+DQogICAgPFBhcmFJdGVtIE5hbWU9IlN3aSIgQWxpYXM9IklycmVkdWNpYmxlIFdhdGVyIFNhdHVyYXRpb24iIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTb3J3IiBBbGlhcz0iUmVzaWR1YWwgT2lsIFNhdHVyYXRpb24iIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcm9jdyIgQWxpYXM9Ik1heCBPaWwgUmVsIFBlcm0iIERlZmF1bHQ9IjEuMCIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJPaWwgcGVybWVhYmlsaXR5IGF0IGlycmVkdWNpYmxlIHdhdGVyIHNhdHVyYXRpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Iktyd3JvIiBBbGlhcz0iTWF4IFdhdGVyIFJlbCBQZXJtIiBEZWZhdWx0PSIxLjAiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iV2F0ZXIgcGVybWVhYmlsaXR5IGF0IHJlc2lkdWFsIG9pbCBzYXR1cmF0aW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcm93TW9kZWwiIEFsaWFzPSJLcm93IE1vZGVsIiBEZWZhdWx0PSIwIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IlBvd2VyO0V4cG9uZW50aWFsIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcm93SW5kZXgiIEFsaWFzPSJLcm93IEV4cG9uZW50IiBEZWZhdWx0PSIyLjAiIE1heD0iMTAwIiBNaW49IjAiIERpZ2l0PSIzIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcndvTW9kZWwiIEFsaWFzPSJLcndvIE1vZGVsIiBEZWZhdWx0PSIwIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IlBvd2VyO0V4cG9uZW50aWFsIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcndvSW5kZXgiIEFsaWFzPSJLcndvIEV4cG9uZW50IiBEZWZhdWx0PSIyLjAiIE1heD0iMTAwIiBNaW49IjAiIERpZ2l0PSIzIiAvPg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IktLMiIgQWxpYXM9Ik9pbC1HYXMgUmVsYXRpdmUgUGVybWVhYmlsaXR5Ij4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU29jZyIgQWxpYXM9IklycmVkdWNpYmxlIE9pbCBTYXR1cmF0aW9uIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU2dybyIgQWxpYXM9IlJlc2lkdWFsIEdhcyBTYXR1cmF0aW9uIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3JvcmciIEFsaWFzPSJNYXggT2lsIFJlbCBQZXJtIiBEZWZhdWx0PSIxLjAiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iT2lsIHBlcm1lYWJpbGl0eSBhdCByZXNpZHVhbCBnYXMgc2F0dXJhdGlvbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3Jncm8iIEFsaWFzPSJNYXggR2FzIFJlbCBQZXJtIiBEZWZhdWx0PSIxLjAiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iR2FzIHBlcm1lYWJpbGl0eSBhdCByZXNpZHVhbCBvaWwgc2F0dXJhdGlvbiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3JvZ01vZGVsIiBBbGlhcz0iS3JvZyBNb2RlbCIgRGVmYXVsdD0iMCIgUGFyYVR5cGU9IjYiIEl0ZW1PcHRpb25zPSJQb3dlcjtFeHBvbmVudGlhbCIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3JvZ0luZGV4IiBBbGlhcz0iS3JvZyBFeHBvbmVudCIgRGVmYXVsdD0iMi4wIiBNYXg9IjEwMCIgTWluPSIwIiBEaWdpdD0iMyIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3Jnb01vZGVsIiBBbGlhcz0iS3JnbyBNb2RlbCIgRGVmYXVsdD0iMCIgUGFyYVR5cGU9IjYiIEl0ZW1PcHRpb25zPSJQb3dlcjtFeHBvbmVudGlhbCIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iS3Jnb0luZGV4IiBBbGlhcz0iS3JnbyBFeHBvbmVudCIgRGVmYXVsdD0iMi4wIiBNYXg9IjEwMCIgTWluPSIwIiBEaWdpdD0iMyIgLz4NCiAgPC9QYXJhR3JvdXA+DQoNCiAgPFBhcmFHcm91cCBOYW1lPSJLSzMiIEFsaWFzPSJHYXMtV2F0ZXIgUmVsYXRpdmUgUGVybWVhYmlsaXR5Ij4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU3dpZ3ciIEFsaWFzPSJJcnJlZHVjaWJsZSBXYXRlciBTYXR1cmF0aW9uIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iU2djIiBBbGlhcz0iUmVzaWR1YWwgR2FzIFNhdHVyYXRpb24iIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcmdjdyIgQWxpYXM9Ik1heCBHYXMgUmVsIFBlcm0iIERlZmF1bHQ9IjEuMCIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJHYXMgcGVybWVhYmlsaXR5IGF0IGlycmVkdWNpYmxlIHdhdGVyIHNhdHVyYXRpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Iktyd2djIiBBbGlhcz0iTWF4IFdhdGVyIFJlbCBQZXJtIiBEZWZhdWx0PSIxLjAiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iV2F0ZXIgcGVybWVhYmlsaXR5IGF0IHJlc2lkdWFsIGdhcyBzYXR1cmF0aW9uIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcmd3TW9kZWwiIEFsaWFzPSJLcmd3IE1vZGVsIiBEZWZhdWx0PSIwIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IlBvd2VyO0V4cG9uZW50aWFsIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcmd3SW5kZXgiIEFsaWFzPSJLcmd3IEV4cG9uZW50IiBEZWZhdWx0PSIyLjAiIE1heD0iMTAwIiBNaW49IjAiIERpZ2l0PSIzIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcndnTW9kZWwiIEFsaWFzPSJLcndnIE1vZGVsIiBEZWZhdWx0PSIwIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IlBvd2VyO0V4cG9uZW50aWFsIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLcndnSW5kZXgiIEFsaWFzPSJLcndnIEV4cG9uZW50IiBEZWZhdWx0PSIyLjAiIE1heD0iMTAwIiBNaW49IjAiIERpZ2l0PSIzIiAvPg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IktLNCIgQWxpYXM9IlRocmVlLVBoYXNlIFJlbGF0aXZlIFBlcm1lYWJpbGl0eSI+DQogICAgPFBhcmFJdGVtIE5hbWU9Iktyb2d3TW9kZWwiIEFsaWFzPSJLcm9ndyBNb2RlbCIgRGVmYXVsdD0iMCIgUGFyYVR5cGU9IjYiIEl0ZW1PcHRpb25zPSJTdG9uZSAxO1N0b25lIDIiIC8+DQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iU1MiIEFsaWFzPSJTdHJlc3MgU2Vuc2l0aXZpdHkiPg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IkRTIiBBbGlhcz0iQWRzb3JwdGlvbiI+DQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iRGVjb252X0lucHV0IiBBbGlhcz0iRGVjb252b2x1dGlvbiBJbnB1dCIgRGVzYz0iRGVjb252b2x1dGlvbiBUT0RPIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iaW5pX1ByZSIgQWxpYXM9IkluaXRpYWwgUmVzZXJ2b2lyIFByZXNzdXJlIiBVbml0PSJNUGEiIERlZmF1bHQ9IjMwIiBNYXg9IjUwMCIgTWluPSIwLjEiIERpZ2l0PSI1IiBEZXNjPSJJbml0aWFsIHJlc2Vydm9pciBwcmVzc3VyZSIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iYl92YWx1ZSIgQWxpYXM9IkItU3BsaW5lIEJhc2UiIERlZmF1bHQ9IjIuMyIgTWF4PSIzLjIiIE1pbj0iMS41IiBEaWdpdD0iMyIgRGVzYz0iQi1zcGxpbmUga25vdCBiYXNlIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJBbGZhMSIgQWxpYXM9IlNtb290aGluZyBGYWN0b3IgzrEiIERlZmF1bHQ9IjAuMDMiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNSIgRGVzYz0iUmVndWxhcml6YXRpb24gd2VpZ2h0IM6xIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJCZWx0YSIgQWxpYXM9IlNtb290aGluZyBGYWN0b3IgzrIiIERlZmF1bHQ9IjAuMDIiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iNSIgRGVzYz0iUmVndWxhcml6YXRpb24gd2VpZ2h0IM6yIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTZWdUaW1lMSIgQWxpYXM9IlNlZ21lbnQgU3RhcnQgVGltZSIgVW5pdD0iaCIgRGVmYXVsdD0iNSIgTWF4PSIxZSszMCIgTWluPSIwIiBEaWdpdD0iNSIgRGVzYz0iIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJTZWdUaW1lMiIgQWxpYXM9IlNlZ21lbnQgRW5kIFRpbWUiIFVuaXQ9ImgiIERlZmF1bHQ9IjI4MCIgTWF4PSIxZSszMCIgTWluPSIwIiBEaWdpdD0iNSIgRGVzYz0iIiAvPg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IkRlY29udl9PdXRwdXQiIEFsaWFzPSJEZWNvbnZvbHV0aW9uIE91dHB1dCIgRGVzYz0iRGVjb252b2x1dGlvbiBUT0RPIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibGluZW51bTYiIEFsaWFzPSJEYXRhIFBvaW50cyIgRGVmYXVsdD0iNTAiIE1pbj0iMSIgRGlnaXQ9IjAiIERlc2M9IiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iT3V0cHV0X1QwIiBBbGlhcz0iU3RhcnQgVGltZSIgVW5pdD0iaCIgRGVmYXVsdD0iMC4wMDEiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjUiIERlc2M9IiIgLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iT3V0cHV0X1QxIiBBbGlhcz0iRW5kIFRpbWUiIFVuaXQ9ImgiIERlZmF1bHQ9IjMwMCIgTWF4PSIxZSszMCIgTWluPSIwIiBEaWdpdD0iNSIgRGVzYz0iIiAvPg0KICA8L1BhcmFHcm91cD4NCg0KICA8UGFyYUdyb3VwIE5hbWU9IlBzZXVQIiBBbGlhcz0iUHNldWRvIFByZXNzdXJlIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUHNldVByZXNzdXJlIiBBbGlhcz0iU3RhbmRhcmQgUHNldWRvIFByZXNzdXJlIiBEZWZhdWx0PSIwIiAvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQc2V1UHJlc3N1cmUzIiBBbGlhcz0iVGhyZWUtWm9uZSBQc2V1ZG8gUHJlc3N1cmUiIERlZmF1bHQ9IjAiIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBzZXVQcmVzc3VyZUMiIEFsaWFzPSJDb21wb3NpdGlvbmFsIFBzZXVkbyBQcmVzc3VyZSIgRGVmYXVsdD0iMCIgLz4NCiAgPC9QYXJhR3JvdXA+DQoNCjwvUm9vdD4NCg== \ No newline at end of file diff --git a/Bin/Config/Common/ModelParaDefinesWDT_cn.dat b/Bin/Config/Common/ModelParaDefinesWDT_cn.dat new file mode 100644 index 0000000..26c4b26 --- /dev/null +++ b/Bin/Config/Common/ModelParaDefinesWDT_cn.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu5/nmoTlj4LmlbDlrprkuYkgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBBdXRob3Iocyk6IHdhbmd6ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgRGF0ZTogMjAyNDA3MTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLQ0KICAgIFBhcmFHcm91cCDnuqfliKsNCiAgICAgICAgSUQ6ICAgICAgICAgIOWUr+S4gOagh+ivhg0KICAgICAgICBOYW1l77yaICAgICAgIOWQjeensO+8jOmAmuW4uOiLseaWhw0KICAgICAgICBBbGlhc++8miAgICAgIOWIq+WQje+8jOmAmuW4uOS4reaWhw0KICAgICAgICBEZXNj77yaICAgICAgIOi+heWKqeivtOaYjg0KDQogICAgICAgIFBhcmFJdGVtIOe6p+WIqw0KICAgICAgICAgICAgTmFtZe+8miAgICAgICDlkI3np7DvvIzpgJrluLjoi7HmlocNCiAgICAgICAgICAgIEFsaWFz77yaICAgICAg5Yir5ZCN77yM6YCa5bi45Lit5paHDQogICAgICAgICAgICBVbml0ICAgICAgICAg5Y2V5L2N77yM6buY6K6kDQogICAgICAgICAgICBEZWZhdWx0ICAgICAg6buY6K6k5YC8DQogICAgICAgICAgICBNYXggICAgICAgICAg5pyA5aSn5YC8DQogICAgICAgICAgICBNYXggICAgICAgICAg5pyA5bCP5YC8DQogICAgICAgICAgICBEaWdpdCAgICAgICAg5bCP5pWw5L2N5pWwDQogICAgICAgICAgICBTY2llbnRpZmljICAg5piv5ZCm5Lul56eR5a2m6K6h5pWw5rOV6KGo56S677yIMjAyNjA0MTMgQWRkZWTvvIkNCiAgICAgICAgICAgIFJlYWRvbmx5ICAgICDmmK/lkKblj6ror7sNCg0KICAgICAgICAgICAgUGFyYVR5cGU6ICAgIOWPguaVsOaJgOWxnuexu+Wei+WMuuWIhu+8jOm7mOiupOS4ujIoZG91YmxlKToNCiAgICAgICAgICAgICAgICAgICAgICAgICAw4oCU4oCU5a2X56ym5Liy77yI5paH5pys77yJIFRleHTlsZ7mgKcNCiAgICAgICAgICAgICAgICAgICAgICAgICAx4oCU4oCU5pW05b2iDQogICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlERvdWJsZeaVsOWAvA0KICAgICAgICAgICAgICAgICAgICAgICAgIDPigJTigJTlm77lg48gVGV4dOWxnuaApyDlrZjmlL7ot6/lvoQNCiAgICAgICAgICAgICAgICAgICAgICAgICA04oCU4oCU5LqM6L+b5Yi2IFRPRE8NCiAgICAgICAgICAgICAgICAgICAgICAgICA14oCU4oCU5pe26Ze057G75Z6LICJUZXh0IuWtmOaUvuaXtumXtO+8jCJGb3JtYXQi5a2Y5pS+5qC85byPDQogICAgICAgICAgICAgICAgICAgICAgICAgNuKAlOKAlOS4i+aLiUNtYiDlhbfmnIkiSXRlbU9wdGlvbnMi5bGe5oCnDQogICAgICAgICAgICAgICAgICAgICAgICAgN+KAlOKAlFNlZ+a1geWKqOauteaooeW8jyDlhbfmnIkiU3ViSXRlbXMi5bGe5oCn77yM5YW35pyJ57Sv56ev6ZW/5bqm44CB5Lqn6YeP562J5YaF5a65DQogICAgICAgICAgICAgICAgICAgICAgICAgOOKAlOKAlFNlZ+a1geWKqOauteaooeW8j++8jOaJqeWxleaooeW8jyDlhbfmnIkiU3ViSXRlbXMi5bGe5oCn77yMDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg5bm25LiU5LulTW9yZeaMiemSruW9ouW8j+W8ueWHuuWPr+inhuWMlueql+WPow0KICAgICAgICAgICAgICAgICAgICAgICAgIDnigJTigJTlj4zkuIvmi4nvvIjmiaPlnosr5YWs5q+N77yJ77yM5rS+55Sf6IeqIFBJVF9DYnjvvIwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICDlhbfmnIkiSXRlbU9wdGlvbnMiKyJJdGVtT3B0aW9uRXhzIuWxnuaApw0KICAgICAgICAgICAgICAgICAgICAgICAgIDEw4oCU4oCU5YW35pyJIlN1Ykl0ZW1zIuWxnuaAp++8jOaZrumAmueahOaooeW8j++8jOavlOWmgiDlsYLmlbDmja7vvIxDTzINCiAgICAgICAgICAgICAgICAgICAgICAgICAxMeKAlOKAlFvlup/lvINd5LiL5ouJQ21i77yM6ZKI5a+55qih5Z6L6YCJ6aG555qE6L+b5LiA5q2l5omp5bGV77yM6ZyA6KaB5Yqo5oCB5aGr5YWF55qEICJJdGVtT3B0aW9ucyLlsZ7mgKflj6/mnInlj6/ml6ANCiAgICAgICAgICAgICAgICAgICAgICAgICAxMuKAlOKAlOaMiemSruexu++8jOeCueWHu+WQju+8jOW8ueWHuuihqOagvOaVsOaNru+8iOazqOaEj++8jOacrOi6q+WPquaYr+WNlee6r+eahOihqOagvO+8ieWPr+S7peeUseWklumDqOaIquiOt+a2iOaBr+i/m+ihjOiHquihjOWumuWItg0KDQogICAgICAgICAgICBVc2VNb2RlOiAgIOino+mHiuWPguaVsOW6lOeUqOWcuuWQiDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAw4oCU4oCU6YCC55So5omA5pyJ77yM5LiN6ZyA6YWN572uDQogICAgICAgICAgICAgICAgICAgICAgICAgMeKAlOKAlOS7heS7hemAgueUqOWkhOeQhuaLn+WQiA0KICAgICAgICAgICAgICAgICAgICAgICAgIDLigJTigJTku4Xku4XpgILnlKjor5XkupXorr7orqENCiAgICAgICAgICAgICAgICAgICAgICAgICAz4oCU4oCU5Y+v5Lul5pi+56S65Y+v5Lul5LiN5pi+56S677yM6YCa6L+H5oyJ6ZKu5o6n5Yi2DQogICAgICAgICAgICAgICAgICAgICAgICAgNOKAlOKAlOaYvuekuu+8jOS4jeWPguS4juaLn+WQiCDmmL7npLrliLDnu5PmnpzvvIjnlYzpnaLmmL7npLrvvIzmi5/lkIjkuI3mi5/lkIjvvIznu5PmnpzmmL7npLrvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICA14oCU4oCU5LiN5pi+56S677yM5LiN5Y+C5LiO5ouf5ZCI77yM5LiN5pi+56S65Yiw57uT5p6c5Lit77yI5aaCIOa3t+WQiOm7j+W6pu+8iQ0KICAgICAgICAgICAgICAgICAgICAgICAgIDbigJTigJTmmL7npLrvvIzkuI3lj4LkuI7mi5/lkIjvvIzkuI3mmL7npLrliLDnu5PmnpzkuK3vvIjlrZTpmpnvvIzljprluqbpnZ5qb2Lph4zpnaLvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICA34oCU4oCU5LiN5pi+56S677yM5LiN5Y+C5LiO5ouf5ZCI77yM5pi+56S65Yiw57uT5p6c5Lit77yI5o6i5rWL5Y2K5b6E44CB5YiG5rWB546H77yJDQogICAgICAgICAgICAgICAgICAgICAgICAgOOKAlOKAlOWvueS6juWkmuebuOaYvuekuu+8jOWNleebuOS4jeaYvuekuueahOaDheWGtQ0KDQogICAgICAgICAgICBCZHlUeXBlOiAgICAg6L6555WM57G75Z6L77yM6buY6K6k5Li6MijlubbpnZ7ovrnnlYwpOg0KICAgICAgICAgICAgICAgICAgICAgICAgIDDigJTigJTluLjop4TovrnnlYzlj4LmlbDvvIzljIXmi6zmlbDlgLzjgIHku6Xlj4rnsbvlnovvvIjlsIHpl63jgIHlrprljovjgIHml6DpmZDlpKfvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAx4oCU4oCU5Y2V57qv55qE57G75Z6L77yM5bqV5rC044CB562J77yM5peg5pWw5a2XDQogICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlOW5tumdnui+ueeVjA0KICAgICAgICAgICAgICAgICAgICAgICAgIDPigJTigJTlhbblroPvvIzlvoXmianlsZUNCg0KICAgICAgICAgICAgTGF5ZXJNb2RlOiAgIOWcqOWkmuWxguaooeWei+aDheW9ouS4i+eahOaYvuekuuS4jumakOiXj+mAu+i+ke+8iDIwMjYwMTA15paw5aKe77yJOg0KICAgICAgICAgICAgICAgICAgICAgICAgIDDigJTigJTpu5jorqTvvIzmmL7npLrlnKjlsYLlhoUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOWPguaVsOekuuS+i++8mua4l+mAj+eOh+OAgeihqOearuOAgeaooeWei+mAiemhue+8iOS6leWeiy/lgqjlsYLnsbvlnovvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgICAx4oCU4oCU5pi+56S65Zyo5bGC5aSW77yM5L2c5Li6IOmAmueUqOWPguaVsOexuw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg5Y+C5pWw56S65L6L77ya5LqV5YKo57O75pWw44CB5Yid5aeL5Y6L5Yqb562JDQogICAgICAgICAgICAgICAgICAgICAgICAgMuKAlOKAlOS6pOabv+aYvuekuu+8jOeqnOa1geaooeW8j+S4i++8jOaYvuekuuWcqOWxguWkllvmr4/lsYLlhoXkuI3mmL7npLpd77ybDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDpnZ7nqpzmtYHmqKHlvI/kuIvvvIzmmL7npLrlnKjlsYLlhoVb5q+P5bGC5YaF5Z2H5pi+56S6Xe+8jA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg5Y+C5pWw56S65L6L77ya5aaC6L6555WM57G75Z6L44CB6L6555WM6Led56a7DQogICAgICAgICAgICAgICAgICAgICAgICAgM+KAlOKAlOWFtuWug++8jOW+heaJqeWxlQ0KDQoNCiAgICAgICAgICAgIFN1Ykl0ZW1z77yaICAg6YWN572u5a2Q6aG577yM5q+U5aaC5Lqn5ray5q615pWwDQogICAgICAgICAgICBGb3JtYXTvvJogICAgIOaXpeacn+Wei+WPguaVsO+8jOaYvuekuueahOagt+W8j++8jOaaguacquWQr+eUqA0KICAgICAgICAgICAgSXRlbU9wdGlvbnPvvJrlrZDpobnvvIzlr7nkuo7kuIvmi4nmoYbvvIzmr5TlpoIg5bCB6Zet44CB5a6a5Y6L562J5Zu65a6a55qE5YaF5a65DQogICAgICAgICAgICBUZXh077yaICAgICAgIOWtl+espuS4suWPguaVsOOAgeaIluiAhSDlm77lg4/nmoTot6/lvoQNCiAgICAgICAgICAgIERlc2PvvJogICAgICAg6L6F5Yqp6K+05piODQotLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQoNCjxSb290Pg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i5LqV5YKo5Y+C5pWwIj4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQyIgQWxpYXM9IuS6leetkuWCqOmbhuezu+aVsCIgTGF5ZXJNb2RlPSIxIiBVbml0PSJtXjMvTVBhIiBEZWZhdWx0PSIwLjEiIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjMiIFNjaWVudGlmaWM9IjEiIERlc2M9IndlbGxib3JlIHN0b3JhZ2UgZmFjdG9yIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkNpZFJhdGlvIiBBbGlhcz0i5Yid5pyr5LqV562S5YKo6ZuG57O75pWw5q+UIiBMYXllck1vZGU9IjEiIFVuaXQ9IiIgRGVmYXVsdD0iMC40IiBNYXg9IjEwMDAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9IlJhdGlvIG9mIGluaXRpYWwgYW5kIGZpbmFsIHdlbGxib3JlIHN0b3JhZ2UiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iYWxwaGEiIEFsaWFzPSLlj5jkupXlgqjml7bpl7QiIExheWVyTW9kZT0iMSIgVW5pdD0iaCIgRGVmYXVsdD0iMSIgTWF4PSIxZSszMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iY2hhbmdpbmcgd2VsbGJvcmUgc3RvcmFnZSB0aW1lIi8+DQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i5Z+656GA5Y+C5pWwIj4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJydyIgQWxpYXM9IuS6leW+hCIgVW5pdD0ibSIgRGVmYXVsdD0iMC4xMDgiIE1heD0iMSIgTWluPSIwLjAxIiBEaWdpdD0iNSIgRGVzYz0id2VsbCByYWRpdXMiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0id2VsbERpcyIgQWxpYXM9IuS6lemXtOi3neemuyIgVW5pdD0ibSIgRGVmYXVsdD0iMTAzNCIgTWF4PSIxMDAwMCIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0id2VsbCBpbnRlciBkaXN0YW5jZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ3ZWxsQW5nbGUiIEFsaWFzPSLkupXpl7TlgL7op5IiIFVuaXQ9IsKwIiBEZWZhdWx0PSIwIiBNYXg9IjM2MCIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0id2VsbCBpbnRlciBhbmdsZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJMIiBBbGlhcz0i5rC05bmz5LqV6ZW/5bqmIiBVbml0PSJtIiBEZWZhdWx0PSI2MDAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJob3Jpem9udGFsIHdlbGwgbGVuZ3RoIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ikx3IiBBbGlhcz0i5pac5LqV6ZW/5bqmIiBVbml0PSJtIiBEZWZhdWx0PSIyOC44IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0id2VsbCBsZW5ndGgiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iRGV2IiBBbGlhcz0i5LqV5pac6KeS5bqmIiBVbml0PSLCsCIgRGVmYXVsdD0iODAiIE1heD0iMTgwIiBNaW49IjAiIERpZ2l0PSIzIiBEZXNjPSJXZWxsIE9yaWVudGF0aW9uIEFuZ2xlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBvc1giIEFsaWFzPSLlnZDmoIdYIiBVbml0PSJtIiBEZWZhdWx0PSIwIiBEaWdpdD0iMyIgRGVzYz0iV2VsbCBQb3MgWCIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQb3NZIiBBbGlhcz0i5Z2Q5qCHWSIgVW5pdD0ibSIgRGVmYXVsdD0iMCIgRGlnaXQ9IjMiIERlc2M9IldlbGwgUG9zIFkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icndfMSIgQWxpYXM9IuWCqOWxgjHkupXlvoQiIFVuaXQ9Im0iIERlZmF1bHQ9IjAuMTA4IiBNYXg9IjEiIE1pbj0iMC4wMSIgRGlnaXQ9IjUiIERlc2M9IndlbGwgcmFkaXVzIi8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9InJ3XzIiIEFsaWFzPSLlgqjlsYIy5LqV5b6EIiBVbml0PSJtIiBEZWZhdWx0PSIwLjEwOCIgTWF4PSIxIiBNaW49IjAuMDEiIERpZ2l0PSI1IiBEZXNjPSJ3ZWxsIHJhZGl1cyIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJyd18zIiBBbGlhcz0i5YKo5bGCM+S6leW+hCIgVW5pdD0ibSIgRGVmYXVsdD0iMC4xMDgiIE1heD0iMSIgTWluPSIwLjAxIiBEaWdpdD0iNSIgRGVzYz0id2VsbCByYWRpdXMiLz4NCiAgICA8IS0tWEEtLT4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJoIiBBbGlhcz0i5YKo5bGC5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9InBheSB6b25lIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkgxRFBFIiBBbGlhcz0i5bGC5LiA5YKo5bGC5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMXN0IHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkgyRFBFIiBBbGlhcz0i5bGC5LqM5YKo5bGC5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkgxTVAiIEFsaWFzPSLlgqjlsYLljprluqYxIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMXN0IHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkgyTVAiIEFsaWFzPSLlgqjlsYLljprluqYyIiBVbml0PSJtIiBEZWZhdWx0PSIxMCIgTWF4PSIxMDAwMDAwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImgxIiBBbGlhcz0i5bGC5LiA5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMXN0IHBheSB6b25lIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImgyIiBBbGlhcz0i5bGC5LqM5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImhfMSIgQWxpYXM9IuWCqOWxgjHljprluqYiIFVuaXQ9Im0iIERlZmF1bHQ9IjUiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSIxc3QgcGF5IHpvbmUiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iaF8yIiBBbGlhcz0i5YKo5bGCMuWOmuW6piIgVW5pdD0ibSIgRGVmYXVsdD0iNSIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9IjJuZCBwYXkgem9uZSIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJoXzMiIEFsaWFzPSLlgqjlsYIz5Y6a5bqmIiBVbml0PSJtIiBEZWZhdWx0PSI1IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iMm5kIHBheSB6b25lIi8+DQogICAgPCEtLVhBLS0+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpIiBBbGlhcz0i5a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0icG9yb3NpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpMU1QIiBBbGlhcz0i5a2U6ZqZ5bqmMSIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IjFzdCBwb3Jvc2l0eSBvZiBkdWFsIHBlcm1lYWJpbGl0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkyTVAiIEFsaWFzPSLlrZTpmpnluqYyIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0iMm5kIHBvcm9zaXR5IG9mIGR1YWwgcGVybWVhYmlsaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9InBoaWYiIEFsaWFzPSLljovoo4LnvJ3lrZTpmpnluqYiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBVc2VNb2RlPSI1IiBEZXNjPSJwb3Jvc2l0eSBvZiBmcmFjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkyRCIgQWxpYXM9Iuijgue8neWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIFVzZU1vZGU9IjUiIERlc2M9InBvcm9zaXR5IG9mIG5hdHVyZSBmcmFjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkxRCIgQWxpYXM9IuWfuui0qOWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIFVzZU1vZGU9IjUiIERlc2M9InBvcm9zaXR5IG9mIHN0cm9tYSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkxIiBBbGlhcz0i5YaF5Yy65a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgVXNlTW9kZT0iNSIgRGVzYz0iSW5uZXIgcG9yb3NpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpMiIgQWxpYXM9IuWkluWMuuWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIFVzZU1vZGU9IjUiIERlc2M9Ik91dGVyIHBvcm9zaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9InBoaTFEUEUiIEFsaWFzPSLlsYLkuIDlrZTpmpnluqYiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBVc2VNb2RlPSI1IiBEZXNjPSIxc3QgcG9yb3NpdHkgb2YgZHVhbCBwZXJtZWFiaWxpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpMkRQRSIgQWxpYXM9IuWxguS6jOWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIFVzZU1vZGU9IjUiIERlc2M9IjJuZCBwb3Jvc2l0eSBvZiBkdWFsIHBlcm1lYWJpbGl0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJmYWkxMSIgQWxpYXM9IuWxguS4gDHljLrlrZTpmpnluqYiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0iMXN0IHBlcm1lYWJpbGl0eSBvZiBpbm5lciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iZmFpMTIiIEFsaWFzPSLlsYLkuIAy5Yy65a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMjUiIE1heD0iMSIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IjFzdCBwZXJtZWFiaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImZhaTIxIiBBbGlhcz0i5bGC5LqMMeWMuuWtlOmameW6piIgVW5pdD0iIiBEZWZhdWx0PSIwLjI1IiBNYXg9IjEiIE1pbj0iMWUtMDUiIERpZ2l0PSI0IiBEZXNjPSIybmQgcGVybWVhYmlsaXR5IG9mIGlubmVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJmYWkyMiIgQWxpYXM9IuWxguS6jDLljLrlrZTpmpnluqYiIFVuaXQ9IiIgRGVmYXVsdD0iMC4yNSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0iMm5kIHBlcm1lYWJpbGl0eSBvZiBvdXRlciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpXzEiIEFsaWFzPSLlgqjlsYIx5a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0icG9yb3NpdHkiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpXzIiIEFsaWFzPSLlgqjlsYIy5a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0icG9yb3NpdHkiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGhpXzMiIEFsaWFzPSLlgqjlsYIz5a2U6ZqZ5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0icG9yb3NpdHkiLz4NCiAgICA8IS0tWEEtLT4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJCIiBBbGlhcz0i5L2T56ev57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQm8iIEFsaWFzPSLmsrnkvZPnp6/ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJmb3JtYXRpb24gdm9sdW1lIGZhY3RvciIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJCZyIgQWxpYXM9IuawlOS9k+enr+ezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9ImZvcm1hdGlvbiB2b2x1bWUgZmFjdG9yIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkJ3IiBBbGlhcz0i5rC05L2T56ev57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQl8xIiBBbGlhcz0i5YKo5bGCMeS9k+enr+ezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9ImZvcm1hdGlvbiB2b2x1bWUgZmFjdG9yIi8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IkJfMiIgQWxpYXM9IuWCqOWxgjLkvZPnp6/ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJmb3JtYXRpb24gdm9sdW1lIGZhY3RvciIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJCXzMiIEFsaWFzPSLlgqjlsYIz5L2T56ev57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiLz4NCiAgICA8IS0tWEEtLT4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXUiIEFsaWFzPSLpu4/luqYozrwpIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIxNTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0idmlzY29zaXR5Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1pdW8iIEFsaWFzPSLmsrnnm7jpu4/luqYiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjE1MCIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9Im9pbCB2aXNjb3NpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1bzEiIEFsaWFzPSLlhoXljLrmsrnnm7jpu4/luqYiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjUwIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0ib2lsIHZpc2Nvc2l0eSBvZiBDb21wbGV4IElubmVyIHpvbmUiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1bzIiIEFsaWFzPSLlpJbljLrmtYHkvZPpu4/luqYiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjUwIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0ib2lsIHZpc2Nvc2l0eSBvZiBDb21wbGV4IG91dGVyIHpvbmUiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1ZyIgQWxpYXM9IuawlOm7j+W6piIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMiIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9ImdhcyB2aXNjb3NpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1dyIgQWxpYXM9IuawtOebuOm7j+W6piIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMiIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IndhdGVyIHZpc2Nvc2l0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXV4IiBBbGlhcz0i5re35ZCI6buP5bqmIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMi40IiBNYXg9IjUwIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgVXNlTW9kZT0iNSIgRGVzYz0iTWl4IHZpc2Nvc2l0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXVfMSIgQWxpYXM9IuWCqOWxgjHpu4/luqYozrwpIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIxNTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0idmlzY29zaXR5Ii8+DQogICAgPCEtLVhBLS0+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1pdV8yIiBBbGlhcz0i5YKo5bGCMum7j+W6pijOvCkiIFVuaXQ9Im1QYS5zIiBEZWZhdWx0PSIxIiBNYXg9IjE1MCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJ2aXNjb3NpdHkiLz4NCiAgICA8IS0tWEEtLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTWl1XzMiIEFsaWFzPSLlgqjlsYIz6buP5bqmKM68KSIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMTUwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9InZpc2Nvc2l0eSIvPg0KICAgIDwhLS1YQS0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IkN0IiBBbGlhcz0i57u85ZCI5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBEZXNjPSJ0b3RhbCBjb21wcmVzc2liaWxpdHkgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkNmIiBBbGlhcz0i5bKp55+z5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBEZXNjPSJyb2NrIGNvbXByZXNzaWJpbGl0eSAiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3RmRiIgQWxpYXM9IuWOi+ijgue8nee7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIGZyYWN0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0ZiIgQWxpYXM9Iuijgue8nee7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIG5hdHVyZSBmcmFjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdG0iIEFsaWFzPSLln7rotKjnu7zlkIjljovnvKnns7vmlbAiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMDQzIiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjUiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eSBvZiBzdHJvbWEgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MURQRSIgQWxpYXM9IuWxguS4gOe7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0iMXN0IHRvdGFsIGNvbXByZXNzaWJpbGl0eSBvZiBkdWFsIHBlcm1lYWJpbGl0eSAiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3QyRFBFIiBBbGlhcz0i5bGC5LqM57u85ZCI5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBVc2VNb2RlPSI1IiBEZXNjPSIybmQgdG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIGR1YWwgcGVybWVhYmlsaXR5ICIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdDEiIEFsaWFzPSLkuIDlsYLnu7zlkIjljovnvKnns7vmlbAiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMDQzIiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjYiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eTEgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MiIgQWxpYXM9IuS6jOWxgue7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDM2IiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjYiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eTIgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MyIgQWxpYXM9IuS4ieWxgue7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDM2IiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjYiIERlc2M9InRvdGFsIGNvbXByZXNzaWJpbGl0eTMgIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MTEiIEFsaWFzPSLlsYLkuIAx5Yy657u85ZCI5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBVc2VNb2RlPSI1IiBEZXNjPSIxc3QgdG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIGlubmVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdDIxIiBBbGlhcz0i5bGC5LqMMeWMuue7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgVXNlTW9kZT0iNSIgRGVzYz0iMm5kIHRvdGFsIGNvbXByZXNzaWJpbGl0eSBvZiBpbm5lciByZWdpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3QxMiIgQWxpYXM9IuWxguS4gDLljLrnu7zlkIjljovnvKnns7vmlbAiIFVuaXQ9IjEvTVBhIiBEZWZhdWx0PSIwLjAwMDQzIiBNYXg9IjEwIiBNaW49IjFlLTMwIiBEaWdpdD0iMTAiIFVzZU1vZGU9IjUiIERlc2M9IjFzdCB0b3RhbCBjb21wcmVzc2liaWxpdHkgb2Ygb3V0ZXIgcmVnaW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IkN0MjIiIEFsaWFzPSLlsYLkuowy5Yy657u85ZCI5Y6L57yp57O75pWwIiBVbml0PSIxL01QYSIgRGVmYXVsdD0iMC4wMDA0MyIgTWF4PSIxMCIgTWluPSIxZS0zMCIgRGlnaXQ9IjEwIiBVc2VNb2RlPSI1IiBEZXNjPSIybmQgdG90YWwgY29tcHJlc3NpYmlsaXR5IG9mIG91dGVyIHJlZ2lvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdF8xIiBBbGlhcz0i5YKo5bGCMee7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5ICIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdF8yIiBBbGlhcz0i5YKo5bGCMue7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5ICIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDdF8zIiBBbGlhcz0i5YKo5bGCM+e7vOWQiOWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAwNDMiIE1heD0iMTAiIE1pbj0iMWUtMzAiIERpZ2l0PSIxMCIgRGVzYz0idG90YWwgY29tcHJlc3NpYmlsaXR5ICIvPg0KICAgIDwhLS1YQS0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQZSIgQWxpYXM9IuWOn+Wni+WcsOWxguWOi+WKmyIgTGF5ZXJNb2RlPSIxIiBVbml0PSJNUGEiIERlZmF1bHQ9IjMwIiBNYXg9IjUwMCIgTWluPSIwLjEiIERpZ2l0PSI1IiBEZXNjPSJpbml0aWFsIGZvcm1hdGlvbiBwcmVzc3VyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQcmVmIiBBbGlhcz0i5Y+C6ICD5Y6L5YqbIiBMYXllck1vZGU9IjEiIFVuaXQ9Ik1QYSIgRGVmYXVsdD0iMzAiIE1heD0iNTAwIiBNaW49IjAuMSIgRGlnaXQ9IjUiIERlc2M9IlJlZmVyZW5jZSBwcmVzc3VyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQaSIgQWxpYXM9IuWIneWni+WOi+WKmyIgTGF5ZXJNb2RlPSIxIiBVbml0PSJNUGEiIERlZmF1bHQ9IjMwIiBNYXg9IjUwMCIgTWluPSIwLjEiIERpZ2l0PSI1IiBEZXNjPSJpbml0aWFsIHByZXNzdXJlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBpdCIgQWxpYXM9IuWcsOWxguWOi+WKmyIgTGF5ZXJNb2RlPSIxIiBVbml0PSJNUGEiIERlZmF1bHQ9IjMwIiBNYXg9IjEwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjUiIERlc2M9ImluaXRpYWwgcHJlc3N1cmUxIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iTiIgQWxpYXM9IuWCqOmHjyIgVW5pdD0ibV4zIiBEZWZhdWx0PSIxMDAwMDAiIE1heD0iMWUrMzAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJyZXNlcnZlcyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJnYW1tYSIgQWxpYXM9Iua4l+mAj+eOh+aooemHjyIgVW5pdD0iMS9NUGEiIERlZmF1bHQ9IjAuMDAxIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjEwIiBEZXNjPSJzdHJlc3Mgc2Vuc2l0aXZpdHkgY29lZmZpY2llbnQiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iZGVscGF0IiBBbGlhcz0i6KOC57yd5Y2K6ZW/5Y+Y5YyW5Zug5a2QIiBVbml0PSIiIERlZmF1bHQ9IjUiIE1heD0iMTAwMCIgTWluPSIwLjEiIERpZ2l0PSIzIiBEZXNjPSJmcmFjdHVyZSBzaHJpbmthZ2UgY29lZmZpY2llbnQiLz4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJOcSIgQWxpYXM9IuS6p+mHj+auteaVsCIgRGVmYXVsdD0iMiIgTWF4PSI2IiBNaW49IjIiIFBhcmFUeXBlPSI4IiBEZXNjPSJudW1iZXIgb2YgbGlxdWlkIHNlY3Rpb25zIiBTdWJJdGVtcz0iTnFBO05xWDtOcUw7TnFRIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik5xQSIgQWxpYXM9IuinkuW6piIgTWluPSIxZS0wNSIgTWF4PSIzNjAiIFVuaXQ9IsKwIiBEZWZhdWx0PSI5MCIgRGlnaXQ9IjMiIFRpcHM9IiIgRGVzYz0ibG9jYXRpb24gb2YgbGlxdWlkIHNlY3Rpb24iIC8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik5xWCIgQWxpYXM9IuS9jee9riIgVW5pdD0ibSIgRGVmYXVsdD0iMzAiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJsb2NhdGlvbiBvZiBsaXF1aWQgc2VjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJOcUwiIEFsaWFzPSLplb/luqYiIFVuaXQ9Im0iIERlZmF1bHQ9IjYwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0ibGVuZ2ggb2YgbGlxdWlkIHNlY3Rpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iTnFRIiBBbGlhcz0i5Lqn6YePIiBVbml0PSJtXjMiIERlZmF1bHQ9IjEwIiBNYXg9IjEwMDAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJsaXF1aWQgcHJvZHVjdGlvbiBvZiBsaXF1aWQgc2VjdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJOZiIgQWxpYXM9IuWOi+ijguauteaVsCIgRGVmYXVsdD0iNCIgTWF4PSI2IiBNaW49IjEiIFVzZU1vZGU9IjQiIERlc2M9Im51bWJlciBvZiBmcmFjdHVyZSBzZWN0aW9ucyIgU3ViSXRlbXM9Ik5xUSIvPg0KDQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i5rWB5L2T5oCn6LSoIj4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJaZyIgQWxpYXM9IuawlOS9k+WBj+W3ruWboOWtkCIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwIiBEaWdpdD0iNCIgRGVzYz0iWiBmYWN0b3IiLz4NCiAgICA8IS0tPFBhcmFJdGVtIE5hbWU9IkJnIiBBbGlhcz0i5rCU5L2T56ev57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiLz4tLT4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ2ciIEFsaWFzPSLmsJTkvZPljovnvKnns7vmlbAiIFVuaXQ9IjEvTVBhIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlJob2ciIEFsaWFzPSLmsJTkvZPlr4bluqYiIFVuaXQ9ImtnL21eMyIvPg0KICAgIDwhLS08UGFyYUl0ZW0gTmFtZT0iTWl1ZyIgQWxpYXM9IuawlOm7j+W6piIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMiIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImdhcyB2aXNjb3NpdHkiLz4tLT4NCiAgICA8IS0tPFBhcmFJdGVtIE5hbWU9IkRpZmZkcCIgQWxpYXM9IuWHneaekOS9k+ezu+S4pOebuOWBj+W3ruezu+aVsCIgVW5pdD0iTVBhIiBEZWZhdWx0PSIxMDAwMCIgTWF4PSIxMDAwMDAiIE1pbj0iMTAwMCIgRGlnaXQ9IjMiIERlc2M9IiIvPi0tPg0KICAgIDwhLS08UGFyYUl0ZW0gTmFtZT0iRGV3UCIgQWxpYXM9IuWHneaekOawlOmcsueCueWOi+WKmyIgVW5pdD0iTVBhIiBEZWZhdWx0PSIxMDAwMCIgTWF4PSIxMDAwMDAiIE1pbj0iMTAwMCIgRGlnaXQ9IjMiIERlc2M9IiIvPi0tPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IlBiIiBBbGlhcz0i5rOh54K55Y6L5YqbIiBVbml0PSJNUGEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUnMiIEFsaWFzPSLmsJTmsrnmr5QxMTEiIFVuaXQ9Im1eMy9tXjMiIERlZmF1bHQ9IjEwIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZ2FzIG9pbCByYXRpbyIvPg0KICAgIDwhLS08UGFyYUl0ZW0gTmFtZT0iQm8iIEFsaWFzPSLmsrnkvZPnp6/ns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJmb3JtYXRpb24gdm9sdW1lIGZhY3RvciIvPi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJDbyIgQWxpYXM9IuayueWOi+e8qeezu+aVsCIgVW5pdD0iMS9NUGEiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUmhvbyIgQWxpYXM9IuayueWvhuW6piIgVW5pdD0ia2cvbV4zIi8+DQogICAgPCEtLTxQYXJhSXRlbSBOYW1lPSJNaXVvIiBBbGlhcz0i5rK555u46buP5bqmIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIxNTAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJvaWwgdmlzY29zaXR5Ii8+LS0+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0iUnN3IiBBbGlhcz0i5rCU5rC05q+UIiBVbml0PSJtXjMvbV4zIiBEZWZhdWx0PSIyLjAzIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZ2FzIHdhdGVyIHJhdGlvIi8+DQogICAgPCEtLTxQYXJhSXRlbSBOYW1lPSJCdyIgQWxpYXM9IuawtOS9k+enr+ezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9ImZvcm1hdGlvbiB2b2x1bWUgZmFjdG9yIi8+LS0+DQogICAgPFBhcmFJdGVtIE5hbWU9IkJ3IiBBbGlhcz0i5rC05L2T56ev57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iZm9ybWF0aW9uIHZvbHVtZSBmYWN0b3IiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iQ3ciIEFsaWFzPSLmsLTljovnvKnns7vmlbAiIFVuaXQ9IjEvTVBhIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlJob3ciIEFsaWFzPSLmsLTlr4bluqYiIFVuaXQ9ImtnL21eMyIvPg0KICAgIDwhLS08UGFyYUl0ZW0gTmFtZT0iTWl1dyIgQWxpYXM9IuawtOebuOm7j+W6piIgVW5pdD0ibVBhLnMiIERlZmF1bHQ9IjEiIE1heD0iMiIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IndhdGVyIHZpc2Nvc2l0eSIvPi0tPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNaXV3IiBBbGlhcz0i5rC055u46buP5bqmIiBVbml0PSJtUGEucyIgRGVmYXVsdD0iMSIgTWF4PSIyIiBNaW49IjFlLTA1IiBEaWdpdD0iNCIgRGVzYz0id2F0ZXIgdmlzY29zaXR5Ii8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0icm8iIEFsaWFzPSLmsrnnm7jmr5Tph40iIFVuaXQ9IiIgRGVmYXVsdD0iMC44IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0ib2lsIGdyYXZpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icmciIEFsaWFzPSLmsJTnm7jmr5Tph40iIFVuaXQ9IiIgRGVmYXVsdD0iMC43IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0iZ2FzIGdyYXZpdHkiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iUHNlcCIgQWxpYXM9IuWIhuemu+WZqOWOi+WKmyIgVW5pdD0iTVBhIiBEZWZhdWx0PSIwLjc5MTExIiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0ic2VwYXJhdG9yIHByZXNzdXJlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlRzZXAiIEFsaWFzPSLliIbnprvlmajmuKnluqYiIFVuaXQ9IkYiIERlZmF1bHQ9IjYwIiBNYXg9IjEwMDAwIiBNaW49Ii00NjAiIERpZ2l0PSIzIiBEZXNjPSJzZXBhcmF0b3IgdGVtcGVyYXR1cmUiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icnQiIEFsaWFzPSLmsrnol4/muKnluqZnZyIgVW5pdD0i4oSDIiBEZWZhdWx0PSIxMDAiIE1heD0iMTAwMDAiIE1pbj0iLTI3NCIgRGlnaXQ9IjMiIERlc2M9InJlc2Vydm9pciB0ZW1wZXJhdHVyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ5ZyIgQWxpYXM9IuawlOS9k+aRqeWwlOWIhuaVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjUwMjQ1IiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjMiIERlc2M9ImdhcyBtb2xlIGZyYWN0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InRiIiBBbGlhcz0i5rK454K55rip5bqmIiBVbml0PSLihIMiIERlZmF1bHQ9Ijg4LjIiIE1heD0iMTAwMDAiIE1pbj0iLTI3NCIgRGlnaXQ9IjMiIERlc2M9ImJ1YmJsZSB0ZW1wZXJhdHVyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJwd1NDIiBBbGlhcz0i5qCH5Ya15LiL5rC05a+G5bqmIiBVbml0PSJrZy9tXjMiIERlZmF1bHQ9IjEwMDAiIE1heD0iMTAwMDAiIE1pbj0iMWUtNSIgRGlnaXQ9IjMiIERlc2M9IndhdGVyIGRlbnNpdHkgU0MiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icGdTQyIgQWxpYXM9Iuagh+WGteS4i+epuuawlOWvhuW6piIgVW5pdD0ia2cvbV4zIiBEZWZhdWx0PSIxLjI5MyIgTWF4PSIxMDAwMCIgTWluPSIxZS01IiBEaWdpdD0iMyIgRGVzYz0iYWlyIGRlbnNpdHkgU0MiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieUNPMiIgQWxpYXM9IuS6jOawp+WMlueis+aRqeWwlOWIhuaVsCIgVW5pdD0iIiBEZWZhdWx0PSIwLjEiIE1heD0iMSIgTWluPSIwIiBEaWdpdD0iMyIgRGVzYz0iQ08yIG1vbGUgZnJhY3Rpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ieU4yIiBBbGlhcz0i5rCu5rCU5pGp5bCU5YiG5pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSIzIiBEZXNjPSJOMiBtb2xlIGZyYWN0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InlIMlMiIEFsaWFzPSLnoavljJbmsKLmkanlsJTliIbmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMC4xIiBNYXg9IjEiIE1pbj0iMCIgRGlnaXQ9IjMiIERlc2M9IkgyUyBtb2xlIGZyYWN0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9InRjIiBBbGlhcz0i5Li055WM5rip5bqmIiBVbml0PSLihIMiIERlZmF1bHQ9Ii02MC41IiBNYXg9IjEwMDAwIiBNaW49Ii0yNzQiIERpZ2l0PSIzIiBEZXNjPSJjcml0aWNhbCB0ZW1wZXJhdHVyZSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJ0cHIiIEFsaWFzPSLlr7nmr5TmuKnluqYiIFVuaXQ9IiIgRGVmYXVsdD0iMi4xIiBNYXg9IjEwMDAwIiBNaW49IjFlLTUiIERpZ2l0PSIzIiBEZXNjPSJjb3JyZXNwb25kaW5nIHRlbXBlcmF0dXJlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBjIiBBbGlhcz0i5Li055WM5Y6L5YqbIiBVbml0PSJNUGEiIERlZmF1bHQ9IjQuNiIgTWF4PSIxMDAwMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjMiIERlc2M9ImNyaXRpY2FsIHByZXNzdXJlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBwciIgQWxpYXM9IuWvueavlOWOi+WKmyIgVW5pdD0iTVBhIiBEZWZhdWx0PSI3LjIiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJjb3JyZXNwb25kaW5nIHByZXNzdXJlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Ik1nIiBBbGlhcz0i5rCU5L2T5pGp5bCU6LSo6YePIiBVbml0PSJnL21vbCIgRGVmYXVsdD0iMTYiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJnYXMgbW9sZSBtYXNzIi8+DQoNCiAgICA8UGFyYUl0ZW0gTmFtZT0id3MiIEFsaWFzPSLnn7/ljJbluqYiIFVuaXQ9Im1nL0wiIERlZmF1bHQ9IjUwMDAwMCIgTWF4PSIxMDAwMDAwIiBNaW49IjAiIERpZ2l0PSIzIiBEZXNjPSJtYXNzIGZyYWN0dXJlIG9mIHNhbHQiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0icnAiIEFsaWFzPSLmsrnol4/ljovliptnZyIgVW5pdD0iTVBhIiBEZWZhdWx0PSIzMy40IiBNYXg9IjEwMDAwIiBNaW49IjFlLTA1IiBEaWdpdD0iMyIgRGVzYz0icmVzZXJ2b2lyIHByZXNzdXJlIi8+DQogIDwvUGFyYUdyb3VwPg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i5YKo5bGC5Y+C5pWwIj4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJtaWRkZXB0aCIgQWxpYXM9IuayueiXj+S4rea3sSIgVW5pdD0ibSIgIE1heD0iMjAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIERlc2M9IiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSZXNQcmUiIEFsaWFzPSLmsrnol4/ljovlipsiIFVuaXQ9Ik1QYSIgIE1heD0iNTAwIiBNaW49IjAuMSIgRGlnaXQ9IjUiIERlc2M9IiIvPiAgICANCiAgICA8UGFyYUl0ZW0gTmFtZT0iUmVzVGVtcCIgQWxpYXM9IuayueiXj+a4qeW6piIgVW5pdD0i4oSDIiAgTWF4PSIxMDAwMCIgTWluPSItMjc0IiBEaWdpdD0iMyIgRGVzYz0icmVzZXJ2b2lyIHRlbXBlcmF0dXJlIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9ImdyYWRUIiBBbGlhcz0i5Zyw5rip5qKv5bqmIiBVbml0PSLihIMvbSIgRGVmYXVsdD0iMC4wMyIgTWF4PSIxMCIgTWluPSIwLjAiIERpZ2l0PSI2IiBEZXNjPSIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iZ3JhZFRGIiBBbGlhcz0i5Zyw5rip5qKv5bqm5L+u5q2j57O75pWwIiAgRGVmYXVsdD0iMC4wIiBNYXg9IjEwIiBNaW49IjAiIERpZ2l0PSIzIiAgRGVzYz0iIi8+DQoNCiAgPC9QYXJhR3JvdXA+DQogIA0KICANCiAgPFBhcmFHcm91cCBOYW1lPSIiIEFsaWFzPSLmtYHkvZPlj4LmlbAiPg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IkZtb2RlbCIgQWxpYXM9Iua1geS9k+aooeWeiyIgRGVmYXVsdD0i6buR5rK55qih5Z6LIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9Ium7keayueaooeWeiyIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJEZW5PIiBBbGlhcz0i5Zyw6Z2i5Y6f5rK55a+G5bqmIiAgVW5pdD0iZy9jbV4zIiBEZWZhdWx0PSIwLjgiIE1heD0iMTAiIE1pbj0iMC4wMDEiIERpZ2l0PSI0IiBEZXNjPSIiLz4gICAgDQogICAgPFBhcmFJdGVtIE5hbWU9IlJkZW5HIiBBbGlhcz0i5aSp54S25rCU55u45a+55a+G5bqmIiBVbml0PSIiIERlZmF1bHQ9IjAuNyIgTWF4PSIxMCIgTWluPSIxZS0wNSIgRGlnaXQ9IjQiIERlc2M9IiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJEZW5XIiBBbGlhcz0i5Zyw5bGC5rC05a+G5bqmIiBVbml0PSJnL2NtXjMiIERlZmF1bHQ9IjEuMDEzIiBNYXg9IjEwIiBNaW49IjAuMDEiIERpZ2l0PSI0IiBEZXNjPSIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0iZnciIEFsaWFzPSLlkKvmsLQiIERlZmF1bHQ9IiIgTWF4PSIxIiBNaW49IjAiIERpZ2l0PSI2Ii8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlJzIiBBbGlhcz0i5rCU5rK55q+UIiBVbml0PSJtXjMvbV4zIiBEZWZhdWx0PSIiIE1heD0iMTAwMDAiIE1pbj0iMWUtMDUiIERpZ2l0PSIzIiBEZXNjPSJnYXMgb2lsIHJhdGlvIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9IlBiV2R0IiBBbGlhcz0i6aWx5ZKM5Y6L5YqbIiBVbml0PSJNUGEiICBEZWZhdWx0PSIgIiBNYXg9IjUwMCIgTWluPSIwLjEiIERpZ2l0PSI1IiBEZXNjPSIiLz4gICAgDQogICAgPFBhcmFJdGVtIE5hbWU9IlRiV2R0IiBBbGlhcz0i6aWx5ZKM5Y6L5Yqb5rWL6K+V5rip5bqmIiBVbml0PSLihIMiICBEZWZhdWx0PSIgIiAgTWF4PSIxMDAwIiBNaW49Ii0yNzQiIERpZ2l0PSIzIiBEZXNjPSJyZXNlcnZvaXIgdGVtcGVyYXR1cmUiLz4NCiANCiANCiAgPC9QYXJhR3JvdXA+DQogIA0KICA8UGFyYUdyb3VwIE5hbWU9IiIgQWxpYXM9IlBWVOaooeWeiyI+DQogICAgICAgIA0KICAgIDxQYXJhSXRlbSBOYW1lPSJtUnMiIEFsaWFzPSLmurbop6PmsJTmsrnmr5QiIERlZmF1bHQ9IjEiIFBhcmFUeXBlPSI2IiBJdGVtT3B0aW9ucz0iU3RhbmRpbmc7TGFzYXRlciIvPiAgICA8UGFyYUl0ZW0gTmFtZT0ibVJzRjEiIEFsaWFzPSJSc+S/ruato+ezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9InRyYW5zbGF0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Im1Sc0YyIiBBbGlhcz0iUnPkv67mraPns7vmlbAyIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iWFoiLz4gICANCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJtQm8iIEFsaWFzPSLljp/msrnkvZPnp6/ns7vmlbAiIERlZmF1bHQ9IjEiIFBhcmFUeXBlPSI2IiBJdGVtT3B0aW9ucz0iU3RhbmRpbmc7TGFzYXRlciIvPiAgICA8UGFyYUl0ZW0gTmFtZT0ibUJvVEYxIiBBbGlhcz0iQm/kv67mraPns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJ0cmFuc2xhdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJtQm9GMiIgQWxpYXM9IkJv5L+u5q2j57O75pWwMiIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwIiBNaW49IjAuMDAwMSIgRGlnaXQ9IjQiIERlc2M9IlhaIi8+ICAgDQogICAgPFBhcmFJdGVtIE5hbWU9Im1NaXVPIiBBbGlhcz0i5Y6f5rK557KY5bqm6K6h566X5pa55byPIiBEZWZhdWx0PSIxIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IioqKiIvPg0KICAgICAgICA8UGFyYUl0ZW0gTmFtZT0iTWRPIiBBbGlhcz0i5q275rK557KY5bqmIiBEZWZhdWx0PSIxIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IlN0YW5kaW5nO0xhc2F0ZXIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibVN2aXNPIiBBbGlhcz0i6aWx5ZKM5Y6f5rK557KY5bqmIiBEZWZhdWx0PSIxIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IlN0YW5kaW5nO0xhc2F0ZXIiLz4gIA0KICAgIDxQYXJhSXRlbSBOYW1lPSJtVVN2aXNPIiBBbGlhcz0i5pyq6aWx5ZKM5Y6f5rK557KY5bqmIiBEZWZhdWx0PSIxIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IlN0YW5kaW5nO0xhc2F0ZXIiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibVVTdmlzT1RGMSIgQWxpYXM9IlVv5L+u5q2j57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0idHJhbnNsYXRpb24iLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0ibVVTdmlzT0YyIiBBbGlhcz0iVW/kv67mraPns7vmlbAyIiBVbml0PSIiIERlZmF1bHQ9IjEiIE1heD0iMTAiIE1pbj0iMC4wMDAxIiBEaWdpdD0iNCIgRGVzYz0iWFoiLz4gICANCiAgICANCiAgICA8UGFyYUl0ZW0gTmFtZT0ibU1pdXciIEFsaWFzPSLlnLDlsYLmsLTmsLTnspjluqYiICBEZWZhdWx0PSIxIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IlN0YW5kaW5nO0xhc2F0ZXIiLz4NCg0KIA0KICAgIDxQYXJhSXRlbSBOYW1lPSJNWiIgQWxpYXM9IuWkqeeEtuawlOWOi+e8qeWboOWtkCIgRGVmYXVsdD0iMSIgUGFyYVR5cGU9IjYiIEl0ZW1PcHRpb25zPSJTdGFuZGluZztMYXNhdGVyIi8+ICAgIA0KICAgIDxQYXJhSXRlbSBOYW1lPSJNWlRGMSIgQWxpYXM9Ilrkv67mraPns7vmlbAiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJ0cmFuc2xhdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJNWkYyIiBBbGlhcz0iWuS/ruato+ezu+aVsDIiIFVuaXQ9IiIgRGVmYXVsdD0iMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJYWiIvPiAgIA0KICAgIA0KICAgIDxQYXJhSXRlbSBOYW1lPSJMbWRPIiBBbGlhcz0i5Y6f5rK55a+854Ot57O75pWwIiBEZWZhdWx0PSIxIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IkFQSSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJMbWRHIiBBbGlhcz0i5aSp54S25rCU5a+854Ot57O75pWwIiBEZWZhdWx0PSIxIiBQYXJhVHlwZT0iNiIgSXRlbU9wdGlvbnM9IkFQSSIvPiAgICANCg0KICA8L1BhcmFHcm91cD4NCiAgDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i5rWB5YWl5Yqo5oCB5Y+C5pWwIj4NCg0KICAgIDxQYXJhSXRlbSBOYW1lPSJtaWRkZXB0aCIgQWxpYXM9IuayueWxguWOmuW6piIgVW5pdD0ibSIgIE1heD0iMjAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIERlc2M9IiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJLXzMiIEFsaWFzPSLmsrnlsYLmuJfpgI/njociIFVuaXQ9Im1EIiBNYXg9IjEwMDAwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwZXJtZWFiaWxpdHkiLz4gICAgDQogICAgPFBhcmFJdGVtIE5hbWU9Ik1aVEYxIiBBbGlhcz0i6Z2e5Z2H6LSo57O75pWwIiBVbml0PSIiIERlZmF1bHQ9IjAuMSIgTWF4PSIxMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJ0cmFuc2xhdGlvbiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJtaWRkZXB0aCIgQWxpYXM9IuawtOW5s+autemVv+W6piIgVW5pdD0ibSIgIE1heD0iMjAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIERlc2M9IiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJSYyIgQWxpYXM9IuazhOa1geWNiuW+hCIgVW5pdD0ibSIgIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjMiIFVzZU1vZGU9IjciIERlc2M9InJhZGl1cyBvZiBpbnZlc3RpZ2F0aW9uIi8+DQogICAgPFBhcmFJdGVtIE5hbWU9Im1XZWxsciIgQWxpYXM9IuS6leecvOWNiuW+hCIgVW5pdD0ibSIgIE1heD0iMjAwMDAiIE1pbj0iMSIgRGlnaXQ9IjMiIERlc2M9IiIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJtUyIgQWxpYXM9IuWCqOWxguihqOearuezu+aVsCIgVW5pdD0iIiBEZWZhdWx0PSIxIiBNYXg9IjEwMCIgTWluPSIwLjAwMDEiIERpZ2l0PSI0IiBEZXNjPSJYWiIvPiAgDQogICAgDQogICAgDQogICAgPFBhcmFJdGVtIE5hbWU9IndkdFFvIiBBbGlhcz0i5Lqn5rK56YePIiBVbml0PSJtXjMvZCIgIE1heD0iMWUrMzAiIE1pbj0iMCIgRGlnaXQ9IjYiIERlc2M9InByb2R1Y3Rpdml0eSIvPg0KICAgIDxQYXJhSXRlbSBOYW1lPSJQd2ZkdCIgQWxpYXM9IuS6leW6lea1geWOiyIgVW5pdD0iTVBhIiAgTWF4PSIxZSszMCIgTWluPSIwIiBEaWdpdD0iNiIgRGVzYz0iQm90dG9tIGhvbGUgcHJlc3N1cmUiLz4NCiAgICA8UGFyYUl0ZW0gTmFtZT0id2R0UWciIEFsaWFzPSLkuqfmsJTph48iIFVuaXQ9IjEwXjQqbV4zL2QiICBNYXg9IjFlKzMwIiBNaW49IjAiIERpZ2l0PSI2IiBEZXNjPSJwcm9kdWN0aXZpdHkiLz4NCg0KDQogICAgPFBhcmFJdGVtIE5hbWU9IndkdFRlc3REYXRhIiBBbGlhcz0i5rWL6K+V5pWw5o2uIiBQYXJhVHlwZT0iMTIiIERlc2M9Iui+k+WFpeaIlumAieWPlua1i+ivleaVsOaNriIvPg0KICA8L1BhcmFHcm91cD4NCiAgDQoNCiAgPFBhcmFHcm91cCBOYW1lPSIiIEFsaWFzPSLkuqfog73lvbHlk43lm6DntKDliIbmnpAiPg0KDQogICA8L1BhcmFHcm91cD4NCg0KDQogIDxQYXJhR3JvdXAgTmFtZT0iIiBBbGlhcz0i5ZCI55CG5Lqn6IO96K6h566X6K6+572uIj4NCg0KICA8L1BhcmFHcm91cD4NCiAgDQo8L1Jvb3Q+DQo= \ No newline at end of file diff --git a/Bin/Config/Common/ModelParaDefinesWDT.dat b/Bin/Config/Common/ModelParaDefinesWDT_en.dat similarity index 100% rename from Bin/Config/Common/ModelParaDefinesWDT.dat rename to Bin/Config/Common/ModelParaDefinesWDT_en.dat diff --git a/Bin/Config/Common/ModelSpecialParaDefinesLP_cn.dat b/Bin/Config/Common/ModelSpecialParaDefinesLP_cn.dat new file mode 100644 index 0000000..98f4e4c --- /dev/null +++ b/Bin/Config/Common/ModelSpecialParaDefinesLP_cn.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+i+heWKqU1vZGVsRGVzY3N4eC54bWzmlofku7bvvIzkvZzkuLrlhbbovoXliqnooaXlhYXpg6jliIYgICAgICAgIC0tPg0KPCEtLSAgICBBdXRob3Iocyk6IHdhbmd6ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgQ3JlYXRlZCBEYXRlOiAyMDE3MDkyNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIE1vZGlmaWVkIERhdGU6IDIwMjQwNzI1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCjwhLS0gTW9kZWxEZXNj5pWw5o2u6aG56K+05piO77yI5omA5pyJ6aG5IOWhq+WGmeS4reaWh++8jOS4jk1vZGVsRGVzY3N4eC54bWzkuK3kv53mjIHkuIDoh7TvvIkNCiAgICAgICAgU2VyaWVz77ya57O75YiXDQogICAgICAgIFdic01vZGVs77ya5LqV5YKo57yW56CB77yM6K+35Lyg5YWlQ29kZS9JRA0KICAgICAgICBXZWxNb2RlbO+8muS6leaooeWei+e8luegge+8jOivt+S8oOWFpUNvZGUvSUQNCiAgICAgICAgUmVzTW9kZWw6IOayueiXj+e8luegge+8jOivt+S8oOWFpUNvZGUvSUQNCiAgICAgICAg5rOo77ya5aaC5p6c5p+Q5LiA6aG55rKh5pyJ77yM5YiZ6buY6K6k5omA5pyJ5oOF5Ya15LiLDQotLT4NCjwhLS0gUGFyYUl0ZW3mlbDmja7pobnor7TmmI7vvIjmiYDmnInpgInloavpobnvvIzlpoLmnpzkuI3loavvvIzliJnku45Nb2RlbFBhcmFEZWZpbmVzeHgueG1s6I635Y+W77yJDQogICAgICAgIE5hbWXvvJogIOWQjeensO+8jOW/heWhq++8jOaOqOiNkOWhq+WGmeiLseaWh++8jOW5tuS4lOS4jk1vZGVsUGFyYURlZmluZXN4eC54bWzkuK3kv53mjIHkuIDoh7QNCiAgICAgICAgVW5pdO+8miAg5Y2V5L2N77yM6YCJ5aGrDQogICAgICAgIERlZmF1bHQ66buY6K6k5YC877yM6YCJ5aGrDQogICAgICAgIERpZ2l0OiAg5bCP5pWw5L2N5pWw77yM6YCJ5aGrDQogICAgICAgIE1pbjogICAg5pyA5bCP5YC877yM6YCJ5aGrDQogICAgICAgIE1heDogICAg5pyA5aSn5YC877yM6YCJ5aGrDQogICAgICAgIE90aGVyczog5YW25a6D5b6F5aKe5Yqg6aG5DQotLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQoNCjwhLS0g6ZKI5a+55L2O5riX5qih5Z6LLS0+DQoNCjxSb290Pg0KDQogICAgPCEtLeS7heS7heS4uua1i+ivlS0tPg0KICAgIDxNb2RlbERlc2MgV2JzTW9kZWw9IjAwMDAwMDAwMDAiIFdlbE1vZGVsPSIwMDAwMDAwMDAwIiBSZXNNb2RlbD0iMDAwMDAwMDAwMDAwIj4NCiAgICAgICAgPFBhcmFJdGVtIE5hbWU9IksiIERpZ2l0PSIyIiBNaW49IjAuMDEiIEFsaWFzPSLmuJfpgI/njodb5Li05pe25rWL6K+VXSIvPg0KICAgICAgICA8UGFyYUl0ZW0gTmFtZT0iUyIgTWluPSIwIiBNYXg9IjEiLz4NCiAgICA8L01vZGVsRGVzYz4NCg0KICAgIDwhLS3ljovoo4LkupXml6nmnJ/lsI/kv6Hlj7fvvIzlnYfljIDmtYHph4/jgIHml6DpmZDlr7zmtYHvvIzmnInpmZDlr7zmtYHjgIHkuI3lnYfljIDlr7zmtYHog73lipvjgIENCiAgICDlhajop6PmnpDjgIHlj4zlrZTljovoo4LkupXnrYnmqKHlnovkuK3vvIzpg73mmK8w6IezMeS5i+mXtO+8jOS4jeiDveS4uui0n+WAvC0tPg0KICAgIDxNb2RlbERlc2MgV2VsTW9kZWw9IjEwMjsxMDM7MTEwOzEwNjsyMDciIFJlc01vZGVsPSIxMDA7MTAyOzEwMzsxMDQ7MTA1OzExNiI+DQogICAgICAgIDxQYXJhSXRlbSBOYW1lPSJTIiBNaW49IjAiIE1heD0iMSIgQWxpYXM9Iuijgue8neihqOearuezu+aVsCIvPg0KICAgIDwvTW9kZWxEZXNjPg0KDQogICAgPE1vZGVsRGVzYyBTZXJpZXM9IkhXIj4NCg0KICAgICAgICA8UGFyYUl0ZW0gTmFtZT0iSyIgRGlnaXQ9IjIiIE1pbj0iMC4wMSIvPg0KICAgICAgICA8UGFyYUl0ZW0gTmFtZT0id2YiIERlZmF1bHQ9IjAuMDAzIiBVc2VNb2RlPSI1IiBEaWdpdD0iMiIvPg0KICAgICAgICA8UGFyYUl0ZW0gTmFtZT0icnciIERlZmF1bHQ9IjAuMSIvPg0KDQogICAgICAgIDxQYXJhSXRlbSBOYW1lPSJwaGkiIERlZmF1bHQ9IjAuMiIvPg0KICAgICAgICA8UGFyYUl0ZW0gTmFtZT0iQiIgRGVmYXVsdD0iMS4xIi8+DQogICAgICAgIDxQYXJhSXRlbSBOYW1lPSJCbyIgRGVmYXVsdD0iMS4xIi8+DQogICAgICAgIDxQYXJhSXRlbSBOYW1lPSJCZyIgRGVmYXVsdD0iMS4xIi8+DQogICAgICAgIDxQYXJhSXRlbSBOYW1lPSJCdyIgRGVmYXVsdD0iMS4xIi8+DQogICAgICAgIDxQYXJhSXRlbSBOYW1lPSJNaXVvIiBEZWZhdWx0PSIyLjQiLz4NCg0KICAgICAgICA8UGFyYUl0ZW0gTmFtZT0iQyIgRGVmYXVsdD0iMC41IiBEaWdpdD0iMiIvPg0KDQogICAgICAgIDxQYXJhSXRlbSBOYW1lPSJTIiBEZWZhdWx0PSIwLjUiIERpZ2l0PSIyIi8+DQogICAgICAgIDxQYXJhSXRlbSBOYW1lPSJTMSIgTWluPSIzMCIgRGVmYXVsdD0iMCIgRGlnaXQ9IjIiLz4NCiAgICAgICAgPFBhcmFJdGVtIE5hbWU9IlMyIiBNaW49IjMwIiBEZWZhdWx0PSIwIiBEaWdpdD0iMiIvPg0KDQogICAgICAgIDxQYXJhSXRlbSBOYW1lPSJvbWVnYWYiIERlZmF1bHQ9IjAuMDEiIERpZ2l0PSIyIi8+DQogICAgICAgIDxQYXJhSXRlbSBOYW1lPSJsYW1iZGEiIERpZ2l0PSIyIi8+DQoNCiAgICAgICAgPFBhcmFJdGVtIE5hbWU9Ik0yMSIgRGVmYXVsdD0iMSIvPg0KICAgICAgICA8UGFyYUl0ZW0gTmFtZT0iTTMxIiBEZWZhdWx0PSIxIi8+DQogICAgICAgIDxQYXJhSXRlbSBOYW1lPSJEIiBEZWZhdWx0PSIwLjEiLz4NCiAgICAgICAgPFBhcmFJdGVtIE5hbWU9IkQxIiBEZWZhdWx0PSIwLjIiLz4NCiAgICAgICANCg0KICAgICAgICA8UGFyYUl0ZW0gTmFtZT0id2YiIERlZmF1bHQ9IjAuMDAzIiBVc2VNb2RlPSI1IiBEaWdpdD0iMiIvPg0KDQogICAgICAgIDxQYXJhSXRlbSBOYW1lPSJLZiIgTWF4PSIxMDAwMCIvPg0KICAgICAgICA8UGFyYUl0ZW0gTmFtZT0ienciIERlZmF1bHQ9IjUiIC8+DQoNCiAgICAgICAgPFBhcmFJdGVtIERlZmF1bHQ9IjUwIiBOYW1lPSJ4ZjEiLz4NCiAgICAgICAgPFBhcmFJdGVtIERlZmF1bHQ9IjUwIiBOYW1lPSJ4ZjIiLz4NCiAgICAgICAgPFBhcmFJdGVtIERlZmF1bHQ9IjUwIiBOYW1lPSJ4ZjMiLz4NCg0KICAgICAgICA8UGFyYUl0ZW0gTmFtZT0iRmMxIiBEZWZhdWx0PSIxMDAwIi8+DQo8IS0tICAgICAgICA8UGFyYUl0ZW0gTmFtZT0iRmMyIiBEZWZhdWx0PSIxMDAwIi8+LS0+DQogICAgICAgIDxQYXJhSXRlbSBOYW1lPSJGYzMiIERlZmF1bHQ9IjEwMDAiLz4NCg0KPCEtLSAgICAgICAgPFBhcmFJdGVtIE5hbWU9InEiIERlZmF1bHQ9IjAuNSIgQWxpYXM9Iui/keS6leautea1gemHj+eZvuWIhuavlCIvPi0tPg0KICAgICAgICA8UGFyYUl0ZW0gTmFtZT0icTEiIERlZmF1bHQ9IjAuNSIgQWxpYXM9Iui/keS6leautea1gemHj+eZvuWIhuavlDEiLz4NCiAgICAgICAgPFBhcmFJdGVtIE5hbWU9InEyIiBEZWZhdWx0PSIwLjUiIEFsaWFzPSLov5HkupXmrrXmtYHph4/nmb7liIbmr5QyIi8+DQoNCiAgICAgICAgPFBhcmFJdGVtIE5hbWU9IngxIiBWYWxpZGF0ZVN0cj0iR1Q6TCAwLjUiLz4NCg0KICAgIDwvTW9kZWxEZXNjPg0KDQogICAgPE1vZGVsRGVzYyBTZXJpZXM9IlBGIj4NCg0KICAgICAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhMSIgQWxpYXM9IueqnOa1geezu+aVsDEiIE1heD0iMC4xIiBEZWZhdWx0PSIxZS0wNiIvPg0KICAgICAgICA8UGFyYUl0ZW0gTmFtZT0ibGFtYmRhMiIgQWxpYXM9IueqnOa1geezu+aVsDIiIE1heD0iMC4xIiBEZWZhdWx0PSIxZS0wNiIvPg0KDQogICAgPC9Nb2RlbERlc2M+DQoNCg0KICAgIDxNb2RlbERlc2MgU2VyaWVzPSJYQSI+DQoNCiAgICAgICAgPCEtLea1i+ivleaWh+acrOagh+ivhuS4jeS4gOiHtC0tPg0KICAgICAgICA8IS0tPFBhcmFJdGVtIE5hbWU9IlMiIEFsaWFzPSLooajnmq7ns7vmlbAiLz4tLT4NCg0KICAgIDwvTW9kZWxEZXNjPg0KDQo8L1Jvb3Q+DQo= \ No newline at end of file diff --git a/Bin/Config/Common/ModelSpecialParaDefinesLP.dat b/Bin/Config/Common/ModelSpecialParaDefinesLP_en.dat similarity index 100% rename from Bin/Config/Common/ModelSpecialParaDefinesLP.dat rename to Bin/Config/Common/ModelSpecialParaDefinesLP_en.dat diff --git a/Bin/Config/Common/NmXmlDemo.dat b/Bin/Config/Common/NmXmlDemo_cn.dat similarity index 100% rename from Bin/Config/Common/NmXmlDemo.dat rename to Bin/Config/Common/NmXmlDemo_cn.dat diff --git a/Bin/Config/Common/NmXmlDemo_en.dat b/Bin/Config/Common/NmXmlDemo_en.dat new file mode 100644 index 0000000..1f3b4ed --- /dev/null +++ b/Bin/Config/Common/NmXmlDemo_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLSAgICDmnKzmlofmoaPnmoTnm67nmoTmmK/kuLrmlbDlgLzor5XkupXpg6jliIbmj5DkvpvkuIDkuKp4bWzop6PmnpDnmoREZW1vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBBdXRob3Iocyk6IHdhbmd6ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIENyZWF0ZWQgRGF0ZTogMjAyNDA5MjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgTW9kaWZpZWQgRGF0ZTogMjAyNDA5MjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCjwhLS0gSXRlbSDor7TmmI4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIE5hbWXvvJogIOiLseaWh+agh+ivhiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgQWxpYXPvvJog5Yir5ZCN77yM5Lit5paH5qCH6K+GICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgVGFn77yaICAg5YaF6YOo5qCH6K+GICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBQYXJhc++8miDlj4LmlbDliJfooaggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIFJlc0NvZGVz77yaIOayueiXj+exu+Wei+e8lueggSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgTnVt77yaIOaemuS4vuexu+Wei++8jOS4jm5tVXNlTW9kZeWumuS5ieS4peagvOWvueW6lO+8jDDvvJrmnprkuL4xICAx77ya5p6a5Li+MiAgMu+8muWFtuS7liAgICAgICAgICAgIC0tPg0KPCEtLSAgICBzVGlwc++8miAgICDlh73mlbDmjqXlj6Por7TmmI7kv6Hmga8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCg0KPFJvb3Q+DQo8SXRlbSBOYW1lPSJEZW1vTm9kZTEiIFRhZz0idGFnMSIgUGFyYXM9Iks7UyIgTnVtPSIwIiAvPg0KPEl0ZW0gTmFtZT0iRGVtb05vZGUyIiBBbGlhcz0i6IqC54K5MiIgVGFnPSJ0YWcyIiBQYXJhcz0iSztTO3J3IiBOdW09IjEiIC8+DQo8SXRlbSBOYW1lPSJEZW1vTm9kZTMiIEFsaWFzPSLoioLngrkzIiBUYWc9InRhZzMiIFBhcmFzPSJLO1M7cnciIE51bT0iMiIgLz4NCjwvUm9vdD4NCg== \ No newline at end of file diff --git a/Bin/Config/Common/OICE.css b/Bin/Config/Common/OICE.css deleted file mode 100644 index d182b10..0000000 --- a/Bin/Config/Common/OICE.css +++ /dev/null @@ -1,716 +0,0 @@ -/* -* MPA's css setting -* By WANG, Zhan-guo -* Created On: 2017-04-05 -* Modified On: 2022-06-13 -*/ - - /*统一设定系统字体,注:1点 pt 约等于1.33像素 px*/ -* { - font-family: 'Microsoft YaHei'; - font-size: 9pt; - - /*font-weight: bold; - color:red;*/ -} - -/*iPlotCurveWxT*/ -iPlotCurveWxT { - border : 1px ridge gray; -} - -/* QPushButton */ -QPushButton { - background-color: transparent; -} -QPushButton::menu-indicator { - subcontrol-position: right bottom; - subcontrol-origin: padding; - left: -2px; -} -QPushButton:hover:pressed { - background-color: #0081cf; -} -QPushButton:hover:!pressed { - background-color: #0081cf; -/* font-size:24px;*/ -} -QPushButton { - color: black; -} - - - -/* QToolBar */ -QToolBar { - background-color: transparent; - border-style : dotted; -} -QToolBar:handle { -} -QToolBar::separator { -} - - - -/* === QToolButton === */ -QToolButton { - background-color: transparent; -} -QToolButton:hover { - background-color: #0081cf; -} -QToolButton:checked{ /*选中后*/ - background-color: #0081cf; - border:none; -} - -/*QToolButton:pressed { - background-color: #8100cf; -}*/ - - -/* only for MenuButtonPopup */ -QToolButton[popupMode="1"] { - padding-right: 20px; -} -/*QToolButton::menu-button { - background: transparent; - width: 16px; -}*/ - -QDateTimeEdit { - background: transparent; -} - -#qt_calendar_calendarview { - background: white; -} -QCalendarView{ -} -QCalendarView QHeaderView::section { - border: 1px solid lightgray; -height: 1px -} -QCalendarView QHeaderView { -border: 1px solid lightgray; -height: 1px -} -QCalendarView QTableCornerButton::section { - border: 1px solid lightgray; -height: 1px -} -QCalendarView QScrollBar { -} - - - - - - - -/* === QToolTip === */ -QToolTip { - background-color: light gray; - color: black; -} - - - - -/* QLabel */ -QLabel { - background-color: transparent; -} - - - -/* QLineEdit */ -QLineEdit { - background-color: transparent; -} -QLineEdit[readOnly="true"]{ - color: gray; -} - - - - -/* QTextEdit */ -QTextEdit { - background-color: transparent; -} - -/*QSlider*/ -QSlider::groove:horizontal { - position: absolute; - top: 1px; height: 1px; - background: #B1B1B1; -} -QSlider::handle:horizontal { - border-image:url($/Res/Icon/slider-handle.png); - border: 1px solid #000000; - width: 8px; - margin: -5px 0; -} - - - -/* QCheckBox */ -QCheckBox { - background-color: transparent; -} -QCheckBox::indicator::checked { - image: url($/Res/Icon/checkBox_checked.png); -} -QCheckBox::indicator::unchecked { - image: url($/Res/Icon/checkBox_unchecked.png); -} - - - -/* QRadioButton */ -QRadioButton { - background-color: transparent; -} -QRadioButton::indicator::checked { - image: url($/Res/Icon/radio_checked.png); -} -QRadioButton::indicator::unchecked { - image: url($/Res/Icon/radio_unchecked.png); -} - -/* QComboBox*/ -QComboBox { - background-color: transparent; - border: 1px solid gray; - border-radius: 3px; - padding: 1px 2px 1px 2px; - min-width: 3em; -} - -ZxHeaderComboBoxEx{ - background-color: light gray; - min-width: 1em; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 20px; - - border-left-width: 1px; - border-left-color: darkgray; - border-left-style: solid; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -QComboBox::down-arrow { - /*border: 2px solid #333333;*/ -/* background: #5f5f5f;*/ -/* border-style : dotted;*/ - image: url($/Res/Icon/CbxBtn.png); -} - -/* QSpinBox */ -QSpinBox { - background-color: transparent; -/* border: 1px solid gray;*/ -} - - - -/* QDoubleSpinBox */ -QDoubleSpinBox { - background-color: transparent; -/* border: 1px solid gray;*/ -} - - -/* QGroupBox */ -QGroupBox { - background-color: transparent; -} -QGroupBox::title { - color: blue; - subcontrol-origin: margin; - subcontrol-position: top left; - margin-left: 5px; -} - - - -/* QSplitter */ -QSplitter { -/* background-color: transparent;*/ -} -QSplitter::handle { - background-color:light blue; - border-width:0px; - border-style:dotted; - height:1px; -} - - - -/*QProgressBar*/ -QProgressBar{ - border: 1px solid gray; - border-radius: 5px; - text-align: center; -} - - - -/* QListWidget */ -QListWidget { - background-color: transparent; - border: 1px solid gray; -} -QListWidget::item:selected{ - background:lightblue; - color:blue; -} -QListWidget QScrollBar { -/* background:transparent;*/ -} - - - -/* QTreeWidget */ -QTreeWidget{ - background-color: transparent; - border-color:light gray; -} -QTreeWidget QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTreeWidget QHeaderView { - background: transparent; -} - - - -/*QTreeView*/ -QTreeView{ - background-color: transparent; - alternate-background-color:rgb(0, 192, 0); - border-color:light gray; -} -QTreeView QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTreeView QHeaderView { - background: transparent; -} -/*QTreeView::item:selected{ - background:lightblue; - color:blue; -}*/ - - -/* QTableWidget */ -QTableWidget{ - background-color:transparent; - alternate-background-color:rgb(0, 192, 0); - border: none; -} -QTableWidget QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTableWidget QHeaderView { - background: transparent; -} -QTableWidget QTableCornerButton::section { - border: 1px solid lightgray; - background: transparent; -} -QTableWidget QScrollBar { - background:transparent; -} - - - - - -/* QTableView */ -QTableView{ - background-color:transparent; - alternate-background-color:rgb(232, 232, 232); - border: 1px solid gray; - - selection-background-color: rgb(51, 153, 255)/*lightblue*/; - selection-color: white; - - gridline-color: lightgray; -} -/*QTableView::grid -{ border: 1px solid red; -color: rgb(255, 0, 0); -gridline-color: rgb(255, 0, 0); -} -QTableView::grid -{ border: 1px solid gray; -}*/ - - -QTableView QHeaderView { -/* background: transparent;*/ -/* border: 1px solid lightgray;*/ -} - -/*QTableView上侧*/ -QTableView QHeaderView::section:horizontal { - background: transparent; - - border: none; /*想单独设置,必须先指定none*/ - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; -} - -/*QTableView左侧*/ -QTableView QHeaderView::section:vertical { - background: transparent; - - border: none; /*想单独设置,必须先指定none*/ - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; - - /*min-width:30px;/*避免左侧序号列太窄*/ -} - -/*QTableView左上角侧*/ -QTableView QTableCornerButton::section { - background: transparent; - - border: none; - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; -} - -QTableView QScrollBar { - background:transparent; -} -/*QTableView::item::selected -{ - background-color:lightblue; - color: white; -}*/ - -/* QTabWidget */ -QTabWidget { - background-color: transparent; -} -QTabWidget::pane{ - border-width:1px; - border-color:transparent; - border-style:dotted; - background-color: transparent; -} -QTabWidget::tab-bar{ - border-width:0px; -} -QTabBar::tab:first:selected, -QTabBar::tab:middle:selected, -QTabBar::tab:last:selected, -QTabBar::tab:only-one{ -/* background-color: white;*/ -/* color: blue;*/ -/* border-width:10px; - border-color:rgb(48, 104, 151); - border-style: outset;*/ -} -QTabBar::tab:first:!selected, -QTabBar::tab:middle:!selected, -QTabBar::tab:last:!selected { -/* background-color: transparent;*/ -/* color: rgb(128, 128, 128);*/ -/* border:1px solid rgba(0,0,0,50);*/ -/* border-width:10px; - border-color:rgb(48, 104, 151); - border-style: ridge;*/ -} - -QTabBar::tab:top, QTabBar::tab:bottom { -/* min-width:60px;*/ -} -QTabBar::tab:left, QTabBar::tab:right { -/* min-height:50px;*/ -} -/*QTabBar::tab{ - border-bottom-color: red; - padding: 0px; -} -QTabBar QToolButton::right-arrow { - background-color:light blue; - border-width: 0; - background-image: url(:/images/tab/rightbtn.png); -} -QTabBar QToolButton::left-arrow { - background-color:light blue; - border-width: 0; - background-image: url(:/images/tab/leftbtn.png); -}*/ - - -/* === QMenu === */ -QMenu { - background-color: rgb(138, 209, 251); -/* border: 1px solid gray; - color: white; - padding: 1px;*/ -} -/*QMenu::item { - padding: 2px 25px 2px 20px; - border: 1px solid transparent; -} -QMenu::item:disabled { - color: #666666; -} -QMenu::item:selected { - border-color: gray; - background: #222222; -} -QMenu::icon:checked { -} -QMenu::separator { - height: 1px; -} -QMenu::indicator { - width: 13px; - height: 13px; -}*/ - - - - -/* === QMenuBar === */ -QMenuBar { - background-color: transparent; -} -/*QMenuBar::item { - background: transparent; -} -QMenuBar::item:disabled { - color: gray; -} -QMenuBar::item:selected { - background: #222222; -} -QMenuBar::item:pressed { - background: #444444; -}*/ - - - -/*QDockWidget*/ -QDockWidget{ -/* image: url($/Res/Image/MPA_Main.png);*/ -/* border:1px ridge lightgray; - border:3px ridge red;*/ - /*titlebar-close-icon: url($/Res/Icon/close.png);*/ -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ -} -QDockWidget::title { - text-align: left; -/* background: transparent;*/ - padding-left:5px; - height:20px; -} -QDockWidget::close-button,QDockWidget::float-button { - /* border:1px solid darkgray;*/ -/* background: darkgray;*/ -/* padding:0px;*/ -} -QDockWidget::close-button:hover,QDockWidget::float-button:hover { -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ - background: gray; -} -QDockWidget::close-button:pressed,QDockWidget::float-button:pressed { -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ -/* padding:1px-1px-1px-1px;*/ -} -/*QDockWidget::close-button { - subcontrol-position: top left; - subcontrol-origin: margin; - position: absolute; - top:0px; left:0px; bottom:0px; - width:14px; -} -QDockWidget::float-button { - subcontrol-position: top left; - subcontrol-origin: margin; - position: absolute; - top:0px; left:16px; bottom:0px; - width:14px; -}*/ - - - -/*ZxPropertySheet*/ -ZxPropertySheet { - background : transparent; - border:1px ridge gray; -} - -/*QMdiArea*/ -QMdiArea { -/* background : transparent;*/ - border:1px ridge gray; -/* border-image:url($/Res/Image/MPA_Main.png); - image:url($/Res/Image/MPA_Main.png);*/ - -} -iSubWndFitting { -/* background : transparent;*/ - border-image:url($/Res/Image/MPA_Main.png); - image:url($/Res/Image/MPA_Main.png); - -} - -/*QMdiSubWindow*/ -QMdiSubWindow{ - background : rgb(194, 213, 233); -/* border:1px ridge gray;*/ -} - - -/*Ribbon*/ - -QMenu { - background-color: #FCFCFC; - border: 1px solid #8492A6; -} -QMenu::item { - background-color: transparent; -} -iWxMenuItem::hover{ - border: 1px solid #FFB700; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1,stop:0 #FEF9F4, stop:0.38 #FDE0BD,stop:0.39 #FFCE69, stop:1 #FFFFE7); -} -QMenu::item:selected { - background-color: #654321; -} -/*QWidget{ - font-family: "微软雅黑"; -} -#MainWindowClass{ - background-color: #D2DCEA; -}*/ -#btnRibbonFile::menu-indicator{ - image:None; -} - - - -#btnRibbonFile{ - min-width:50px; - max-width:50px; - height:22px; - - color:white; - border: 1px solid #416ABD; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #467FBD, stop:0.5 #2A5FAC,stop:0.51 #1A4088, stop:1 #419ACF); -} -#btnRibbonFile::hover{ - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #7BB2EB, stop:0.5 #477ECD,stop:0.51 #114ECF, stop:1 #80E1FF); -} -#btnRibbonFile::pressed{ - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #467BBB, stop:0.5 #2F63AE,stop:0.51 #1C438A, stop:1 #358BC9); -} - -/* -QTabWidget:pane{ \ - border: 1px solid red; top: -1px;background-color:grey;}\ -QTabBar::tab{height:22px; background-color:grey; margin-right: 2px; margin-bottom:-2px;}\ - QTabBar::tab:selected{border:1px solid red;border-bottom-color: none;}\ - QTabBar::tab:!selected{border-bottom: 3px solid red;}*/ - - - -#tabWxMain::tab-bar { - left: 65px; -/* border: 1px solid #BAC9DB;*/ -} -#tabWxMain QTabBar::tab{ - height:24px; - /*background: transparent; - margin-left: 5px; - margin-right: 5px;*/ -/* border: 1px solid #BAC9DB;*/ -} -#tabWxMain QTabBar::tab:selected -{ - /*border:1px solid red;border-bottom-color: none; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - margin-left: 2px; - margin-right: 2px; - border: 1px solid #BAC9DB; - border-bottom-color: #FFFFFF;*/ -} -#tabWxMain QTabBar::tab:!selected -{ - background-color: transparent; - /*border-bottom: 1px solid red; - margin-top: 1px; - border: none; - border-bottom-color: #FFFFFF;*/ -/* margin-left: 2px; - margin-right: 2px; - border-left-color: #FFFFFF;*/ -} - - - -#tabWxMain QTabBar::tab:hover :selected -{ - /* background-color: light Gray; - border-top-left-radius: 2px; - border-top-right-radius: 2px;*/ -} -#tabWxMain QTabBar::tab:hover:!selected -{ - background-color: rgb(250, 250, 250); -/* border: 1px solid #ECBC3D;*/ -} - -#tabWxMain QTabWidget::pane{ - /*border-width:4px; - border-color:red; - border-style: solid; - background-color: transparent; - border: 1px solid red; top: -1px;background-color:grey;*/ -} - - -#tabWxMain::pane -{ - border-width: 1px; - border-color: rgb(192, 192, 192); - border-style:solid; - top: -1px;/*background-color:grey;*/ -} - - -#tabWxMain QGroupBox{ - border-left: 1px solid #B0B0B0; - border-top: 0px solid gray; -} -#tabWxMain QGroupBox::title { - color: #081121/*#738399*/; - subcontrol-position: bottom center; -} - -/* QWebView */ -QWebView { - background-color: transparent; -} diff --git a/Bin/Config/Common/OICE_2k.css b/Bin/Config/Common/OICE_2k.css deleted file mode 100644 index d182b10..0000000 --- a/Bin/Config/Common/OICE_2k.css +++ /dev/null @@ -1,716 +0,0 @@ -/* -* MPA's css setting -* By WANG, Zhan-guo -* Created On: 2017-04-05 -* Modified On: 2022-06-13 -*/ - - /*统一设定系统字体,注:1点 pt 约等于1.33像素 px*/ -* { - font-family: 'Microsoft YaHei'; - font-size: 9pt; - - /*font-weight: bold; - color:red;*/ -} - -/*iPlotCurveWxT*/ -iPlotCurveWxT { - border : 1px ridge gray; -} - -/* QPushButton */ -QPushButton { - background-color: transparent; -} -QPushButton::menu-indicator { - subcontrol-position: right bottom; - subcontrol-origin: padding; - left: -2px; -} -QPushButton:hover:pressed { - background-color: #0081cf; -} -QPushButton:hover:!pressed { - background-color: #0081cf; -/* font-size:24px;*/ -} -QPushButton { - color: black; -} - - - -/* QToolBar */ -QToolBar { - background-color: transparent; - border-style : dotted; -} -QToolBar:handle { -} -QToolBar::separator { -} - - - -/* === QToolButton === */ -QToolButton { - background-color: transparent; -} -QToolButton:hover { - background-color: #0081cf; -} -QToolButton:checked{ /*选中后*/ - background-color: #0081cf; - border:none; -} - -/*QToolButton:pressed { - background-color: #8100cf; -}*/ - - -/* only for MenuButtonPopup */ -QToolButton[popupMode="1"] { - padding-right: 20px; -} -/*QToolButton::menu-button { - background: transparent; - width: 16px; -}*/ - -QDateTimeEdit { - background: transparent; -} - -#qt_calendar_calendarview { - background: white; -} -QCalendarView{ -} -QCalendarView QHeaderView::section { - border: 1px solid lightgray; -height: 1px -} -QCalendarView QHeaderView { -border: 1px solid lightgray; -height: 1px -} -QCalendarView QTableCornerButton::section { - border: 1px solid lightgray; -height: 1px -} -QCalendarView QScrollBar { -} - - - - - - - -/* === QToolTip === */ -QToolTip { - background-color: light gray; - color: black; -} - - - - -/* QLabel */ -QLabel { - background-color: transparent; -} - - - -/* QLineEdit */ -QLineEdit { - background-color: transparent; -} -QLineEdit[readOnly="true"]{ - color: gray; -} - - - - -/* QTextEdit */ -QTextEdit { - background-color: transparent; -} - -/*QSlider*/ -QSlider::groove:horizontal { - position: absolute; - top: 1px; height: 1px; - background: #B1B1B1; -} -QSlider::handle:horizontal { - border-image:url($/Res/Icon/slider-handle.png); - border: 1px solid #000000; - width: 8px; - margin: -5px 0; -} - - - -/* QCheckBox */ -QCheckBox { - background-color: transparent; -} -QCheckBox::indicator::checked { - image: url($/Res/Icon/checkBox_checked.png); -} -QCheckBox::indicator::unchecked { - image: url($/Res/Icon/checkBox_unchecked.png); -} - - - -/* QRadioButton */ -QRadioButton { - background-color: transparent; -} -QRadioButton::indicator::checked { - image: url($/Res/Icon/radio_checked.png); -} -QRadioButton::indicator::unchecked { - image: url($/Res/Icon/radio_unchecked.png); -} - -/* QComboBox*/ -QComboBox { - background-color: transparent; - border: 1px solid gray; - border-radius: 3px; - padding: 1px 2px 1px 2px; - min-width: 3em; -} - -ZxHeaderComboBoxEx{ - background-color: light gray; - min-width: 1em; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 20px; - - border-left-width: 1px; - border-left-color: darkgray; - border-left-style: solid; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -QComboBox::down-arrow { - /*border: 2px solid #333333;*/ -/* background: #5f5f5f;*/ -/* border-style : dotted;*/ - image: url($/Res/Icon/CbxBtn.png); -} - -/* QSpinBox */ -QSpinBox { - background-color: transparent; -/* border: 1px solid gray;*/ -} - - - -/* QDoubleSpinBox */ -QDoubleSpinBox { - background-color: transparent; -/* border: 1px solid gray;*/ -} - - -/* QGroupBox */ -QGroupBox { - background-color: transparent; -} -QGroupBox::title { - color: blue; - subcontrol-origin: margin; - subcontrol-position: top left; - margin-left: 5px; -} - - - -/* QSplitter */ -QSplitter { -/* background-color: transparent;*/ -} -QSplitter::handle { - background-color:light blue; - border-width:0px; - border-style:dotted; - height:1px; -} - - - -/*QProgressBar*/ -QProgressBar{ - border: 1px solid gray; - border-radius: 5px; - text-align: center; -} - - - -/* QListWidget */ -QListWidget { - background-color: transparent; - border: 1px solid gray; -} -QListWidget::item:selected{ - background:lightblue; - color:blue; -} -QListWidget QScrollBar { -/* background:transparent;*/ -} - - - -/* QTreeWidget */ -QTreeWidget{ - background-color: transparent; - border-color:light gray; -} -QTreeWidget QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTreeWidget QHeaderView { - background: transparent; -} - - - -/*QTreeView*/ -QTreeView{ - background-color: transparent; - alternate-background-color:rgb(0, 192, 0); - border-color:light gray; -} -QTreeView QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTreeView QHeaderView { - background: transparent; -} -/*QTreeView::item:selected{ - background:lightblue; - color:blue; -}*/ - - -/* QTableWidget */ -QTableWidget{ - background-color:transparent; - alternate-background-color:rgb(0, 192, 0); - border: none; -} -QTableWidget QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTableWidget QHeaderView { - background: transparent; -} -QTableWidget QTableCornerButton::section { - border: 1px solid lightgray; - background: transparent; -} -QTableWidget QScrollBar { - background:transparent; -} - - - - - -/* QTableView */ -QTableView{ - background-color:transparent; - alternate-background-color:rgb(232, 232, 232); - border: 1px solid gray; - - selection-background-color: rgb(51, 153, 255)/*lightblue*/; - selection-color: white; - - gridline-color: lightgray; -} -/*QTableView::grid -{ border: 1px solid red; -color: rgb(255, 0, 0); -gridline-color: rgb(255, 0, 0); -} -QTableView::grid -{ border: 1px solid gray; -}*/ - - -QTableView QHeaderView { -/* background: transparent;*/ -/* border: 1px solid lightgray;*/ -} - -/*QTableView上侧*/ -QTableView QHeaderView::section:horizontal { - background: transparent; - - border: none; /*想单独设置,必须先指定none*/ - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; -} - -/*QTableView左侧*/ -QTableView QHeaderView::section:vertical { - background: transparent; - - border: none; /*想单独设置,必须先指定none*/ - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; - - /*min-width:30px;/*避免左侧序号列太窄*/ -} - -/*QTableView左上角侧*/ -QTableView QTableCornerButton::section { - background: transparent; - - border: none; - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; -} - -QTableView QScrollBar { - background:transparent; -} -/*QTableView::item::selected -{ - background-color:lightblue; - color: white; -}*/ - -/* QTabWidget */ -QTabWidget { - background-color: transparent; -} -QTabWidget::pane{ - border-width:1px; - border-color:transparent; - border-style:dotted; - background-color: transparent; -} -QTabWidget::tab-bar{ - border-width:0px; -} -QTabBar::tab:first:selected, -QTabBar::tab:middle:selected, -QTabBar::tab:last:selected, -QTabBar::tab:only-one{ -/* background-color: white;*/ -/* color: blue;*/ -/* border-width:10px; - border-color:rgb(48, 104, 151); - border-style: outset;*/ -} -QTabBar::tab:first:!selected, -QTabBar::tab:middle:!selected, -QTabBar::tab:last:!selected { -/* background-color: transparent;*/ -/* color: rgb(128, 128, 128);*/ -/* border:1px solid rgba(0,0,0,50);*/ -/* border-width:10px; - border-color:rgb(48, 104, 151); - border-style: ridge;*/ -} - -QTabBar::tab:top, QTabBar::tab:bottom { -/* min-width:60px;*/ -} -QTabBar::tab:left, QTabBar::tab:right { -/* min-height:50px;*/ -} -/*QTabBar::tab{ - border-bottom-color: red; - padding: 0px; -} -QTabBar QToolButton::right-arrow { - background-color:light blue; - border-width: 0; - background-image: url(:/images/tab/rightbtn.png); -} -QTabBar QToolButton::left-arrow { - background-color:light blue; - border-width: 0; - background-image: url(:/images/tab/leftbtn.png); -}*/ - - -/* === QMenu === */ -QMenu { - background-color: rgb(138, 209, 251); -/* border: 1px solid gray; - color: white; - padding: 1px;*/ -} -/*QMenu::item { - padding: 2px 25px 2px 20px; - border: 1px solid transparent; -} -QMenu::item:disabled { - color: #666666; -} -QMenu::item:selected { - border-color: gray; - background: #222222; -} -QMenu::icon:checked { -} -QMenu::separator { - height: 1px; -} -QMenu::indicator { - width: 13px; - height: 13px; -}*/ - - - - -/* === QMenuBar === */ -QMenuBar { - background-color: transparent; -} -/*QMenuBar::item { - background: transparent; -} -QMenuBar::item:disabled { - color: gray; -} -QMenuBar::item:selected { - background: #222222; -} -QMenuBar::item:pressed { - background: #444444; -}*/ - - - -/*QDockWidget*/ -QDockWidget{ -/* image: url($/Res/Image/MPA_Main.png);*/ -/* border:1px ridge lightgray; - border:3px ridge red;*/ - /*titlebar-close-icon: url($/Res/Icon/close.png);*/ -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ -} -QDockWidget::title { - text-align: left; -/* background: transparent;*/ - padding-left:5px; - height:20px; -} -QDockWidget::close-button,QDockWidget::float-button { - /* border:1px solid darkgray;*/ -/* background: darkgray;*/ -/* padding:0px;*/ -} -QDockWidget::close-button:hover,QDockWidget::float-button:hover { -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ - background: gray; -} -QDockWidget::close-button:pressed,QDockWidget::float-button:pressed { -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ -/* padding:1px-1px-1px-1px;*/ -} -/*QDockWidget::close-button { - subcontrol-position: top left; - subcontrol-origin: margin; - position: absolute; - top:0px; left:0px; bottom:0px; - width:14px; -} -QDockWidget::float-button { - subcontrol-position: top left; - subcontrol-origin: margin; - position: absolute; - top:0px; left:16px; bottom:0px; - width:14px; -}*/ - - - -/*ZxPropertySheet*/ -ZxPropertySheet { - background : transparent; - border:1px ridge gray; -} - -/*QMdiArea*/ -QMdiArea { -/* background : transparent;*/ - border:1px ridge gray; -/* border-image:url($/Res/Image/MPA_Main.png); - image:url($/Res/Image/MPA_Main.png);*/ - -} -iSubWndFitting { -/* background : transparent;*/ - border-image:url($/Res/Image/MPA_Main.png); - image:url($/Res/Image/MPA_Main.png); - -} - -/*QMdiSubWindow*/ -QMdiSubWindow{ - background : rgb(194, 213, 233); -/* border:1px ridge gray;*/ -} - - -/*Ribbon*/ - -QMenu { - background-color: #FCFCFC; - border: 1px solid #8492A6; -} -QMenu::item { - background-color: transparent; -} -iWxMenuItem::hover{ - border: 1px solid #FFB700; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1,stop:0 #FEF9F4, stop:0.38 #FDE0BD,stop:0.39 #FFCE69, stop:1 #FFFFE7); -} -QMenu::item:selected { - background-color: #654321; -} -/*QWidget{ - font-family: "微软雅黑"; -} -#MainWindowClass{ - background-color: #D2DCEA; -}*/ -#btnRibbonFile::menu-indicator{ - image:None; -} - - - -#btnRibbonFile{ - min-width:50px; - max-width:50px; - height:22px; - - color:white; - border: 1px solid #416ABD; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #467FBD, stop:0.5 #2A5FAC,stop:0.51 #1A4088, stop:1 #419ACF); -} -#btnRibbonFile::hover{ - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #7BB2EB, stop:0.5 #477ECD,stop:0.51 #114ECF, stop:1 #80E1FF); -} -#btnRibbonFile::pressed{ - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #467BBB, stop:0.5 #2F63AE,stop:0.51 #1C438A, stop:1 #358BC9); -} - -/* -QTabWidget:pane{ \ - border: 1px solid red; top: -1px;background-color:grey;}\ -QTabBar::tab{height:22px; background-color:grey; margin-right: 2px; margin-bottom:-2px;}\ - QTabBar::tab:selected{border:1px solid red;border-bottom-color: none;}\ - QTabBar::tab:!selected{border-bottom: 3px solid red;}*/ - - - -#tabWxMain::tab-bar { - left: 65px; -/* border: 1px solid #BAC9DB;*/ -} -#tabWxMain QTabBar::tab{ - height:24px; - /*background: transparent; - margin-left: 5px; - margin-right: 5px;*/ -/* border: 1px solid #BAC9DB;*/ -} -#tabWxMain QTabBar::tab:selected -{ - /*border:1px solid red;border-bottom-color: none; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - margin-left: 2px; - margin-right: 2px; - border: 1px solid #BAC9DB; - border-bottom-color: #FFFFFF;*/ -} -#tabWxMain QTabBar::tab:!selected -{ - background-color: transparent; - /*border-bottom: 1px solid red; - margin-top: 1px; - border: none; - border-bottom-color: #FFFFFF;*/ -/* margin-left: 2px; - margin-right: 2px; - border-left-color: #FFFFFF;*/ -} - - - -#tabWxMain QTabBar::tab:hover :selected -{ - /* background-color: light Gray; - border-top-left-radius: 2px; - border-top-right-radius: 2px;*/ -} -#tabWxMain QTabBar::tab:hover:!selected -{ - background-color: rgb(250, 250, 250); -/* border: 1px solid #ECBC3D;*/ -} - -#tabWxMain QTabWidget::pane{ - /*border-width:4px; - border-color:red; - border-style: solid; - background-color: transparent; - border: 1px solid red; top: -1px;background-color:grey;*/ -} - - -#tabWxMain::pane -{ - border-width: 1px; - border-color: rgb(192, 192, 192); - border-style:solid; - top: -1px;/*background-color:grey;*/ -} - - -#tabWxMain QGroupBox{ - border-left: 1px solid #B0B0B0; - border-top: 0px solid gray; -} -#tabWxMain QGroupBox::title { - color: #081121/*#738399*/; - subcontrol-position: bottom center; -} - -/* QWebView */ -QWebView { - background-color: transparent; -} diff --git a/Bin/Config/Common/OICE_4k.css b/Bin/Config/Common/OICE_4k.css deleted file mode 100644 index d182b10..0000000 --- a/Bin/Config/Common/OICE_4k.css +++ /dev/null @@ -1,716 +0,0 @@ -/* -* MPA's css setting -* By WANG, Zhan-guo -* Created On: 2017-04-05 -* Modified On: 2022-06-13 -*/ - - /*统一设定系统字体,注:1点 pt 约等于1.33像素 px*/ -* { - font-family: 'Microsoft YaHei'; - font-size: 9pt; - - /*font-weight: bold; - color:red;*/ -} - -/*iPlotCurveWxT*/ -iPlotCurveWxT { - border : 1px ridge gray; -} - -/* QPushButton */ -QPushButton { - background-color: transparent; -} -QPushButton::menu-indicator { - subcontrol-position: right bottom; - subcontrol-origin: padding; - left: -2px; -} -QPushButton:hover:pressed { - background-color: #0081cf; -} -QPushButton:hover:!pressed { - background-color: #0081cf; -/* font-size:24px;*/ -} -QPushButton { - color: black; -} - - - -/* QToolBar */ -QToolBar { - background-color: transparent; - border-style : dotted; -} -QToolBar:handle { -} -QToolBar::separator { -} - - - -/* === QToolButton === */ -QToolButton { - background-color: transparent; -} -QToolButton:hover { - background-color: #0081cf; -} -QToolButton:checked{ /*选中后*/ - background-color: #0081cf; - border:none; -} - -/*QToolButton:pressed { - background-color: #8100cf; -}*/ - - -/* only for MenuButtonPopup */ -QToolButton[popupMode="1"] { - padding-right: 20px; -} -/*QToolButton::menu-button { - background: transparent; - width: 16px; -}*/ - -QDateTimeEdit { - background: transparent; -} - -#qt_calendar_calendarview { - background: white; -} -QCalendarView{ -} -QCalendarView QHeaderView::section { - border: 1px solid lightgray; -height: 1px -} -QCalendarView QHeaderView { -border: 1px solid lightgray; -height: 1px -} -QCalendarView QTableCornerButton::section { - border: 1px solid lightgray; -height: 1px -} -QCalendarView QScrollBar { -} - - - - - - - -/* === QToolTip === */ -QToolTip { - background-color: light gray; - color: black; -} - - - - -/* QLabel */ -QLabel { - background-color: transparent; -} - - - -/* QLineEdit */ -QLineEdit { - background-color: transparent; -} -QLineEdit[readOnly="true"]{ - color: gray; -} - - - - -/* QTextEdit */ -QTextEdit { - background-color: transparent; -} - -/*QSlider*/ -QSlider::groove:horizontal { - position: absolute; - top: 1px; height: 1px; - background: #B1B1B1; -} -QSlider::handle:horizontal { - border-image:url($/Res/Icon/slider-handle.png); - border: 1px solid #000000; - width: 8px; - margin: -5px 0; -} - - - -/* QCheckBox */ -QCheckBox { - background-color: transparent; -} -QCheckBox::indicator::checked { - image: url($/Res/Icon/checkBox_checked.png); -} -QCheckBox::indicator::unchecked { - image: url($/Res/Icon/checkBox_unchecked.png); -} - - - -/* QRadioButton */ -QRadioButton { - background-color: transparent; -} -QRadioButton::indicator::checked { - image: url($/Res/Icon/radio_checked.png); -} -QRadioButton::indicator::unchecked { - image: url($/Res/Icon/radio_unchecked.png); -} - -/* QComboBox*/ -QComboBox { - background-color: transparent; - border: 1px solid gray; - border-radius: 3px; - padding: 1px 2px 1px 2px; - min-width: 3em; -} - -ZxHeaderComboBoxEx{ - background-color: light gray; - min-width: 1em; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 20px; - - border-left-width: 1px; - border-left-color: darkgray; - border-left-style: solid; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -QComboBox::down-arrow { - /*border: 2px solid #333333;*/ -/* background: #5f5f5f;*/ -/* border-style : dotted;*/ - image: url($/Res/Icon/CbxBtn.png); -} - -/* QSpinBox */ -QSpinBox { - background-color: transparent; -/* border: 1px solid gray;*/ -} - - - -/* QDoubleSpinBox */ -QDoubleSpinBox { - background-color: transparent; -/* border: 1px solid gray;*/ -} - - -/* QGroupBox */ -QGroupBox { - background-color: transparent; -} -QGroupBox::title { - color: blue; - subcontrol-origin: margin; - subcontrol-position: top left; - margin-left: 5px; -} - - - -/* QSplitter */ -QSplitter { -/* background-color: transparent;*/ -} -QSplitter::handle { - background-color:light blue; - border-width:0px; - border-style:dotted; - height:1px; -} - - - -/*QProgressBar*/ -QProgressBar{ - border: 1px solid gray; - border-radius: 5px; - text-align: center; -} - - - -/* QListWidget */ -QListWidget { - background-color: transparent; - border: 1px solid gray; -} -QListWidget::item:selected{ - background:lightblue; - color:blue; -} -QListWidget QScrollBar { -/* background:transparent;*/ -} - - - -/* QTreeWidget */ -QTreeWidget{ - background-color: transparent; - border-color:light gray; -} -QTreeWidget QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTreeWidget QHeaderView { - background: transparent; -} - - - -/*QTreeView*/ -QTreeView{ - background-color: transparent; - alternate-background-color:rgb(0, 192, 0); - border-color:light gray; -} -QTreeView QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTreeView QHeaderView { - background: transparent; -} -/*QTreeView::item:selected{ - background:lightblue; - color:blue; -}*/ - - -/* QTableWidget */ -QTableWidget{ - background-color:transparent; - alternate-background-color:rgb(0, 192, 0); - border: none; -} -QTableWidget QHeaderView::section { - border: 1px solid lightgray; - background: transparent; -} -QTableWidget QHeaderView { - background: transparent; -} -QTableWidget QTableCornerButton::section { - border: 1px solid lightgray; - background: transparent; -} -QTableWidget QScrollBar { - background:transparent; -} - - - - - -/* QTableView */ -QTableView{ - background-color:transparent; - alternate-background-color:rgb(232, 232, 232); - border: 1px solid gray; - - selection-background-color: rgb(51, 153, 255)/*lightblue*/; - selection-color: white; - - gridline-color: lightgray; -} -/*QTableView::grid -{ border: 1px solid red; -color: rgb(255, 0, 0); -gridline-color: rgb(255, 0, 0); -} -QTableView::grid -{ border: 1px solid gray; -}*/ - - -QTableView QHeaderView { -/* background: transparent;*/ -/* border: 1px solid lightgray;*/ -} - -/*QTableView上侧*/ -QTableView QHeaderView::section:horizontal { - background: transparent; - - border: none; /*想单独设置,必须先指定none*/ - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; -} - -/*QTableView左侧*/ -QTableView QHeaderView::section:vertical { - background: transparent; - - border: none; /*想单独设置,必须先指定none*/ - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; - - /*min-width:30px;/*避免左侧序号列太窄*/ -} - -/*QTableView左上角侧*/ -QTableView QTableCornerButton::section { - background: transparent; - - border: none; - border-right: 1px solid lightgray; - border-bottom: 1px solid lightgray; -} - -QTableView QScrollBar { - background:transparent; -} -/*QTableView::item::selected -{ - background-color:lightblue; - color: white; -}*/ - -/* QTabWidget */ -QTabWidget { - background-color: transparent; -} -QTabWidget::pane{ - border-width:1px; - border-color:transparent; - border-style:dotted; - background-color: transparent; -} -QTabWidget::tab-bar{ - border-width:0px; -} -QTabBar::tab:first:selected, -QTabBar::tab:middle:selected, -QTabBar::tab:last:selected, -QTabBar::tab:only-one{ -/* background-color: white;*/ -/* color: blue;*/ -/* border-width:10px; - border-color:rgb(48, 104, 151); - border-style: outset;*/ -} -QTabBar::tab:first:!selected, -QTabBar::tab:middle:!selected, -QTabBar::tab:last:!selected { -/* background-color: transparent;*/ -/* color: rgb(128, 128, 128);*/ -/* border:1px solid rgba(0,0,0,50);*/ -/* border-width:10px; - border-color:rgb(48, 104, 151); - border-style: ridge;*/ -} - -QTabBar::tab:top, QTabBar::tab:bottom { -/* min-width:60px;*/ -} -QTabBar::tab:left, QTabBar::tab:right { -/* min-height:50px;*/ -} -/*QTabBar::tab{ - border-bottom-color: red; - padding: 0px; -} -QTabBar QToolButton::right-arrow { - background-color:light blue; - border-width: 0; - background-image: url(:/images/tab/rightbtn.png); -} -QTabBar QToolButton::left-arrow { - background-color:light blue; - border-width: 0; - background-image: url(:/images/tab/leftbtn.png); -}*/ - - -/* === QMenu === */ -QMenu { - background-color: rgb(138, 209, 251); -/* border: 1px solid gray; - color: white; - padding: 1px;*/ -} -/*QMenu::item { - padding: 2px 25px 2px 20px; - border: 1px solid transparent; -} -QMenu::item:disabled { - color: #666666; -} -QMenu::item:selected { - border-color: gray; - background: #222222; -} -QMenu::icon:checked { -} -QMenu::separator { - height: 1px; -} -QMenu::indicator { - width: 13px; - height: 13px; -}*/ - - - - -/* === QMenuBar === */ -QMenuBar { - background-color: transparent; -} -/*QMenuBar::item { - background: transparent; -} -QMenuBar::item:disabled { - color: gray; -} -QMenuBar::item:selected { - background: #222222; -} -QMenuBar::item:pressed { - background: #444444; -}*/ - - - -/*QDockWidget*/ -QDockWidget{ -/* image: url($/Res/Image/MPA_Main.png);*/ -/* border:1px ridge lightgray; - border:3px ridge red;*/ - /*titlebar-close-icon: url($/Res/Icon/close.png);*/ -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ -} -QDockWidget::title { - text-align: left; -/* background: transparent;*/ - padding-left:5px; - height:20px; -} -QDockWidget::close-button,QDockWidget::float-button { - /* border:1px solid darkgray;*/ -/* background: darkgray;*/ -/* padding:0px;*/ -} -QDockWidget::close-button:hover,QDockWidget::float-button:hover { -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ - background: gray; -} -QDockWidget::close-button:pressed,QDockWidget::float-button:pressed { -/* titlebar-normal-icon: url($/Res/Icon/ExcludeRect.png);*/ -/* padding:1px-1px-1px-1px;*/ -} -/*QDockWidget::close-button { - subcontrol-position: top left; - subcontrol-origin: margin; - position: absolute; - top:0px; left:0px; bottom:0px; - width:14px; -} -QDockWidget::float-button { - subcontrol-position: top left; - subcontrol-origin: margin; - position: absolute; - top:0px; left:16px; bottom:0px; - width:14px; -}*/ - - - -/*ZxPropertySheet*/ -ZxPropertySheet { - background : transparent; - border:1px ridge gray; -} - -/*QMdiArea*/ -QMdiArea { -/* background : transparent;*/ - border:1px ridge gray; -/* border-image:url($/Res/Image/MPA_Main.png); - image:url($/Res/Image/MPA_Main.png);*/ - -} -iSubWndFitting { -/* background : transparent;*/ - border-image:url($/Res/Image/MPA_Main.png); - image:url($/Res/Image/MPA_Main.png); - -} - -/*QMdiSubWindow*/ -QMdiSubWindow{ - background : rgb(194, 213, 233); -/* border:1px ridge gray;*/ -} - - -/*Ribbon*/ - -QMenu { - background-color: #FCFCFC; - border: 1px solid #8492A6; -} -QMenu::item { - background-color: transparent; -} -iWxMenuItem::hover{ - border: 1px solid #FFB700; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1,stop:0 #FEF9F4, stop:0.38 #FDE0BD,stop:0.39 #FFCE69, stop:1 #FFFFE7); -} -QMenu::item:selected { - background-color: #654321; -} -/*QWidget{ - font-family: "微软雅黑"; -} -#MainWindowClass{ - background-color: #D2DCEA; -}*/ -#btnRibbonFile::menu-indicator{ - image:None; -} - - - -#btnRibbonFile{ - min-width:50px; - max-width:50px; - height:22px; - - color:white; - border: 1px solid #416ABD; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #467FBD, stop:0.5 #2A5FAC,stop:0.51 #1A4088, stop:1 #419ACF); -} -#btnRibbonFile::hover{ - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #7BB2EB, stop:0.5 #477ECD,stop:0.51 #114ECF, stop:1 #80E1FF); -} -#btnRibbonFile::pressed{ - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, - stop:0 #467BBB, stop:0.5 #2F63AE,stop:0.51 #1C438A, stop:1 #358BC9); -} - -/* -QTabWidget:pane{ \ - border: 1px solid red; top: -1px;background-color:grey;}\ -QTabBar::tab{height:22px; background-color:grey; margin-right: 2px; margin-bottom:-2px;}\ - QTabBar::tab:selected{border:1px solid red;border-bottom-color: none;}\ - QTabBar::tab:!selected{border-bottom: 3px solid red;}*/ - - - -#tabWxMain::tab-bar { - left: 65px; -/* border: 1px solid #BAC9DB;*/ -} -#tabWxMain QTabBar::tab{ - height:24px; - /*background: transparent; - margin-left: 5px; - margin-right: 5px;*/ -/* border: 1px solid #BAC9DB;*/ -} -#tabWxMain QTabBar::tab:selected -{ - /*border:1px solid red;border-bottom-color: none; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - margin-left: 2px; - margin-right: 2px; - border: 1px solid #BAC9DB; - border-bottom-color: #FFFFFF;*/ -} -#tabWxMain QTabBar::tab:!selected -{ - background-color: transparent; - /*border-bottom: 1px solid red; - margin-top: 1px; - border: none; - border-bottom-color: #FFFFFF;*/ -/* margin-left: 2px; - margin-right: 2px; - border-left-color: #FFFFFF;*/ -} - - - -#tabWxMain QTabBar::tab:hover :selected -{ - /* background-color: light Gray; - border-top-left-radius: 2px; - border-top-right-radius: 2px;*/ -} -#tabWxMain QTabBar::tab:hover:!selected -{ - background-color: rgb(250, 250, 250); -/* border: 1px solid #ECBC3D;*/ -} - -#tabWxMain QTabWidget::pane{ - /*border-width:4px; - border-color:red; - border-style: solid; - background-color: transparent; - border: 1px solid red; top: -1px;background-color:grey;*/ -} - - -#tabWxMain::pane -{ - border-width: 1px; - border-color: rgb(192, 192, 192); - border-style:solid; - top: -1px;/*background-color:grey;*/ -} - - -#tabWxMain QGroupBox{ - border-left: 1px solid #B0B0B0; - border-top: 0px solid gray; -} -#tabWxMain QGroupBox::title { - color: #081121/*#738399*/; - subcontrol-position: bottom center; -} - -/* QWebView */ -QWebView { - background-color: transparent; -} diff --git a/Bin/Config/Common/PressureConversion.dat b/Bin/Config/Common/PressureConversion_cn.dat similarity index 100% rename from Bin/Config/Common/PressureConversion.dat rename to Bin/Config/Common/PressureConversion_cn.dat diff --git a/Bin/Config/Common/PressureConversion_en.dat b/Bin/Config/Common/PressureConversion_en.dat new file mode 100644 index 0000000..2a233a4 --- /dev/null +++ b/Bin/Config/Common/PressureConversion_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxSb290Pg0KCTxQYXJhR3wzyJvdXAgTmFtZT0iIiBBbGlhcz0i5LqV5Y+j5Y6L5Yqb5oqY566X5LqV5bqV5Y6L5YqbIj4NCgkJPFBhcmFJdGVtIERlc2M9ImNvbHVtbiBsZW5ndGgiIFVuaXQ9Im0iIFRpcHM9IiIgRGVmYXVsdD0iMjAwMCIgRGlnaXQ9IjIiIE5hbWU9ImNsIiBBbGlhcz0i566h5p+x5oC76ZW/5bqmIiBNaW49IjEiIE1heD0iMTAwMDAiLz4NCgkJPFBhcmFJdGVtIERlc2M9IndlbGxoZWFkIEkuRC4iIFVuaXQ9Im0iIFRpcHM9IiIgRGVmYXVsdD0iMC4wNzYwMCIgRGlnaXQ9IjUiIE5hbWU9IndoRCIgQWxpYXM9IuS6leWPo+WGheW+hCIgTWluPSIxZS0wNSIgTWF4PSIxMDAwIi8+DQoJCTxQYXJhSXRlbSBEZXNjPSJ3ZWxsYm90dG9tIEkuRC4iIFVuaXQ9Im0iIFRpcHM9IiIgRGVmYXVsdD0iMC4wNjIwMCIgRGlnaXQ9IjUiIE5hbWU9IndiRCIgQWxpYXM9IuS6leW6leWGheW+hCIgTWluPSIxZS0wNSIgTWF4PSIxMDAwIi8+DQoJCTxQYXJhSXRlbSBEZXNjPSJ3ZWxsaGVhZCBvaWxwaXBlIE8uRC4iIFVuaXQ9Im0iIFRpcHM9IiIgRGVmYXVsdD0iMC4wODg5MCIgRGlnaXQ9IjUiIE5hbWU9IndoT0QiIEFsaWFzPSLkupXlj6PmsrnnrqHlpJblvoQiIE1pbj0iMWUtMDUiIE1heD0iMTAwMCIvPg0KCQk8UGFyYUl0ZW0gRGVzYz0id2VsbGhlYWQgY2FzaW5nIEkuRC4iIFVuaXQ9Im0iIFRpcHM9IiIgRGVmYXVsdD0iMC4xMjQzMCIgRGlnaXQ9IjUiIE5hbWU9IndoSUQiIEFsaWFzPSLkupXlj6PlpZfnrqHlhoXlvoQiIE1pbj0iMWUtMDUiIE1heD0iMTAwMCIvPg0KCQk8UGFyYUl0ZW0gRGVzYz0id2VsbGJvdHRvbSBvaWxwaXBlIE8uRC4iIFVuaXQ9Im0iIFRpcHM9IiIgRGVmYXVsdD0iMC4wNzMwMiIgRGlnaXQ9IjUiIE5hbWU9IndiT0QiIEFsaWFzPSLkupXlupXmsrnnrqHlpJblvoQiIE1pbj0iMWUtMDUiIE1heD0iMTAwMCIvPg0KCQk8UGFyYUl0ZW0gRGVzYz0id2VsbGJvdHRvbSBjYXNpbmcgSS5ELiIgVW5pdD0ibSIgVGlwcz0iIiBEZWZhdWx0PSIwLjEyMTQwIiBEaWdpdD0iNSIgTmFtZT0id2JJRCIgQWxpYXM9IuS6leW6leWll+euoeWGheW+hCIgTWluPSIxZS0wNSIgTWF4PSIxMDAwIi8+DQoJCTxQYXJhSXRlbSBEZXNjPSJmbHVpZCBkZW5zaXR5IiBVbml0PSJrZy9tXjMiIFRpcHM9IiIgRGVmYXVsdD0iMTAwMCIgRGlnaXQ9IjIiIE5hbWU9InBmIiBBbGlhcz0i5rWB5L2T5a+G5bqmIiBNaW49IjFlLTA1IiBNYXg9IjEwMDAwIi8+DQoJCTxQYXJhSXRlbSBEZXNjPSJjb25zaXN0ZW5jeSBjb2VmZmljaWVudCIgVW5pdD0ibVBhLnNebiIgVGlwcz0iIiBEZWZhdWx0PSI0MCIgRGlnaXQ9IjIiIE5hbWU9ImNjIiBBbGlhcz0i56ig5bqm57O75pWwIiBNaW49IjFlLTA1IiBNYXg9IjEwMDAwIi8+DQoJCTxQYXJhSXRlbSBEZXNjPSJmbG93IGJlaGF2aW9yIGluZGV4IiBVbml0PSJmcmFjdGlvbiIgVGlwcz0iIiBEZWZhdWx0PSIwLjYwIiBEaWdpdD0iMiIgTmFtZT0iZmJpIiBBbGlhcz0i5rWB5Y+Y5oyH5pWwIiBNaW49IjFlLTA1IiBNYXg9IjEwMDAwIi8+DQoJPC9QYXJhR3JvdXA+DQo8L1Jvb3Q+DQo= \ No newline at end of file diff --git a/Bin/Config/Common/PvtMethodDefines.dat b/Bin/Config/Common/PvtMethodDefines_cn.dat similarity index 100% rename from Bin/Config/Common/PvtMethodDefines.dat rename to Bin/Config/Common/PvtMethodDefines_cn.dat diff --git a/Bin/Config/Common/PvtMethodDefines_en.dat b/Bin/Config/Common/PvtMethodDefines_en.dat new file mode 100644 index 0000000..7d35aa7 --- /dev/null +++ b/Bin/Config/Common/PvtMethodDefines_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkgICAgIC0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogICAtLT4NCjwhLS0gICAg5pys5paH5qGj55qE55uu55qE5pivUFZU55u45YWz6YWN572uICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgQXV0aG9yKHMpOiB3YW5nemcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIERhdGU6IDIwMTcwNjEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAgICAgICAtLT4NCg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAtLT4NCjwhLS0gRmx1aWQg5rWB5L2TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgTmFtZe+8miAg5ZCN56ewICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBBbGlhc++8miDliKvlkI0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIElucHV0c++8mue7n+S4gOi+k+WFpe+8jOaaguaXtuacqueUqCAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgVGlwc++8miDlpIfms6ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KDQo8IS0tIFB2dCBQdnTlj4LmlbAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBLZXnlhbfkvZPorqHnrpfnmoTlj5jph48gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgTmFtZe+8miAg5ZCN56ewICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBNZW1iZXJz77ya57G755qE5Y+C5pWw77yM6ZyA6KaB5LuO5aSW55WM5Lyg5YWl5pWw5YC8ICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIE1ldGhvZHPvvJrov5nmmK/orqHnrpfnmoTmlrnms5Xnsbvlnovmj4/ov7AgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBCcm90aGVyc++8muivpeexu+iwg+eUqOeahOWFhOW8n+exu++8jOWmglJz6LCD55SoUGIgICAgICAgICAgICAgLS0+DQoNCjxSb290Pg0KDQogICAgPEZsdWlkIE5hbWU9Ik9pbCIgQWxpYXM9IumlseWSjOayuSIgSW5wdXRzPSJybyIgVGlwcz0iIiA+DQoNCiAgICAgICAgPCEtLeazoeeCueWOi+WKmyBidWJibGVQcmUtLT4NCiAgICAgICAgPFB2dCBOYW1lPSJQYiIgQWxpYXM9IuazoeeCueWOi+WKmyIgTWVtYmVycz0iUnM7cm87cmc7UHNlcDtUc2VwIiBNZXRob2RzPSJTdGFuZGluZztMYXNhdGVyO1Zhc3F1ZXogYW5kIEJlZ2dzO0dsYXNvIHZvbGF0aWxlO0dsYXNvIG5vbiB2b2xhdGlsZSIgVGlwcz0iUCZsdDtzdWImZ3Q7YiZsdDsvc3ViJmd0OyIgLz4NCiAgICAgICAgPCEtLeawlOayueavlCB0cmlScy0tPg0KICAgICAgICA8UHZ0IE5hbWU9IlJzIiBBbGlhcz0i5rCU5rK55q+UIiBNZW1iZXJzPSJybztyZztQc2VwO1RzZXA7eWc7cnQiIEJyb3RoZXJzPSJQYiIgTWV0aG9kcz0iVGFibGU7U3RhbmRpbmc7TGFzYXRlcjtWYXNxdWV6IGFuZCBCZWdncztHbGFzbyB2b2xhdGlsZTtHbGFzbyBub24gdm9sYXRpbGUiIFRpcHM9IlImbHQ7c3ViJmd0O3MmbHQ7L3N1YiZndDsiLz4NCiAgICAgICAgPCEtLeayueS9k+enr+ezu+aVsCBvaWxMaXZlQm8tLT4NCiAgICAgICAgPFB2dCBOYW1lPSJCbyIgQWxpYXM9IuayueS9k+enr+ezu+aVsCIgTWVtYmVycz0iUnM7cm87cmc7UHNlcDtUc2VwO3J0IiBCcm90aGVycz0iUGI7UnM7Q28iIE1ldGhvZHM9IlRhYmxlO1VzZXJJbnB1dDtTdGFuZGluZztWYXNxdWV6IGFuZCBCZWdncztHbGFzbztQZXRyb3NreSBhbmQgRmFyc2hhZCIgVGlwcz0iQiZsdDtzdWImZ3Q7byZsdDsvc3ViJmd0OyIgLz4NCiAgICAgICAgPCEtLeayueWOi+e8qeezu+aVsCBvaWxMaXZlQ28tLT4NCiAgICAgICAgPFB2dCBOYW1lPSJDbyIgQWxpYXM9IuayueWOi+e8qeezu+aVsCIgTWVtYmVycz0iUnM7cm87cmc7UHNlcDtUc2VwO3J0IiBCcm90aGVycz0iUnMiIE1ldGhvZHM9IlRhYmxlO1VzZXJJbnB1dDtWYXNxdWV6IGFuZCBCZWdncztQZXRyb3NreSBhbmQgRmFyc2hhZCIgVGlwcz0iQyZsdDtzdWImZ3Q7byZsdDsvc3ViJmd0OyIgIC8+DQogICAgICAgIDwhLS3msrnlr4bluqYgb2lsTGl2ZVJob28tLT4NCiAgICAgICAgPFB2dCBOYW1lPSJSaG9vIiBBbGlhcz0i5rK55a+G5bqmIiBNZW1iZXJzPSJybztyZztwd1NDO3BnU0MiIEJyb3RoZXJzPSJScztCbyIgTWV0aG9kcz0iVGFibGU7VXNlcklucHV0O0ludGVybmFsIiAgVGlwcz0iz4EmbHQ7c3ViJmd0O28mbHQ7L3N1YiZndDsiLz4NCiAgICAgICAgPCEtLeayuem7j+W6piBvaWxMaXZlTWl1by0tPg0KICAgICAgICA8UHZ0IE5hbWU9Ik1pdW8iIEFsaWFzPSLmsrnpu4/luqYiIE1lbWJlcnM9IlJzO3JvO3RiO3J0IiBCcm90aGVycz0iUGI7UnMiIE1ldGhvZHM9IlRhYmxlO1VzZXJJbnB1dDtCZWdncyBBbmQgUm9iaW5zb247UGV0cm9za3k7QmVyZ21hbiBBbmQgU3V0dG9uIiBUaXBzPSLOvCZsdDtzdWImZ3Q7byZsdDsvc3ViJmd0OyIvPg0KDQogICAgPC9GbHVpZD4NCg0KICAgIDxGbHVpZCBOYW1lPSJPaWxFeHQiIEFsaWFzPSLmrbvmsrkiIElucHV0cz0icm8iIFRpcHM9IiIgPg0KDQogICAgICAgIDwhLS3msrnkvZPnp6/ns7vmlbAgb2lsRGVhZEJvLS0+DQogICAgICAgIDxQdnQgTmFtZT0iQm8iIEFsaWFzPSLmsrnkvZPnp6/ns7vmlbAiIE1lbWJlcnM9IlJzO3JvO3JnO3J0IiBCcm90aGVycz0iQ28iIE1ldGhvZHM9IlRhYmxlO1VzZXJJbnB1dDtTdGFuZGluZztWYXNxdWV6IGFuZCBCZWdncyIgVGlwcz0iQiZsdDtzdWImZ3Q7byZsdDsvc3ViJmd0OyIgLz4NCiAgICAgICAgPCEtLeayueWOi+e8qeezu+aVsCBvaWxEZWFkQ28tLT4NCiAgICAgICAgPFB2dCBOYW1lPSJDbyIgQWxpYXM9IuayueWOi+e8qeezu+aVsCIgTWVtYmVycz0iUnM7cm87cmc7cnQiIEJyb3RoZXJzPSJCbyIgTWV0aG9kcz0iVGFibGU7VXNlcklucHV0O1Zhc3F1ZXogYW5kIEJlZ2dzO0Zyb20gQm8iIFRpcHM9IkMmbHQ7c3ViJmd0O28mbHQ7L3N1YiZndDsiICAvPg0KICAgICAgICA8IS0t5rK55a+G5bqmIG9pbERlYWRSaG9vLS0+DQogICAgICAgIDxQdnQgTmFtZT0iUmhvbyIgQWxpYXM9IuayueWvhuW6piIgTWVtYmVycz0iUnM7cm87cmc7cnQiIEJyb3RoZXJzPSJCbyIgTWV0aG9kcz0iVGFibGU7VXNlcklucHV0O0ludGVybmFsIiBUaXBzPSLPgSZsdDtzdWImZ3Q7byZsdDsvc3ViJmd0OyIvPg0KICAgICAgICA8IS0t5rK56buP5bqmIG9pbERlYWRNaXVvLS0+DQogICAgICAgIDxQdnQgTmFtZT0iTWl1byIgQWxpYXM9Iuayuem7j+W6piIgTWVtYmVycz0icm87cnQiIEJyb3RoZXJzPSIiIE1ldGhvZHM9IlRhYmxlO1VzZXJJbnB1dDtCZWdncyBBbmQgUm9iaW5zb247QmVhbCIgVGlwcz0izrwmbHQ7c3ViJmd0O28mbHQ7L3N1YiZndDsiLz4NCg0KICAgIDwvRmx1aWQ+DQoNCiAgICA8Rmx1aWQgTmFtZT0iR2FzIiBBbGlhcz0i5rCUIiBJbnB1dHM9InJnIiBUaXBzPSIiID4NCg0KICAgICAgICA8IS0t5rCU5L2T5Y6L57yp5Zug5a2QIGdhc1pnICDlsY/olL3vvJogO0hpZ2hUSGlnaFAtLT4NCiAgICAgICAgPFB2dCBOYW1lPSJaZyIgQWxpYXM9IuawlOS9k+WOi+e8qeWboOWtkCIgTWVtYmVycz0icnQ7cmc7dGM7UGM7eUgyUzt5Q08yO3lOMiIgQnJvdGhlcnM9IkdjIiBNZXRob2RzPSJUYWJsZTtVc2VySW5wdXQ7RHJhbmNodWs7QmVnZ3MgQW5kIEJyaWxsO0hhbGxZYXJib3JvdWdoO0RyYW5jaGtBYnVLYXNzZW07Q3Jhbm1lcjtMSSBYRiIgVGlwcz0iWiZsdDtzdWImZ3Q7ZyZsdDsvc3ViJmd0OyIvPg0KICAgICAgICA8IS0t5rCU5L2T5L2T56ev57O75pWwIGdhc0JnLS0+DQogICAgICAgIDxQdnQgTmFtZT0iQmciIEFsaWFzPSLmsJTkvZPkvZPnp6/ns7vmlbAiIE1lbWJlcnM9InJ0IiBCcm90aGVycz0iWmciIE1ldGhvZHM9IlRhYmxlO0ludGVybmFsIiBUaXBzPSJCJmx0O3N1YiZndDtnJmx0Oy9zdWImZ3Q7Ii8+DQogICAgICAgIDwhLS3msJTkvZPljovnvKnns7vmlbAgZ2FzQ2ctLT4NCiAgICAgICAgPFB2dCBOYW1lPSJDZyIgQWxpYXM9IuawlOS9k+WOi+e8qeezu+aVsCIgTWVtYmVycz0icmc7cnQiIEJyb3RoZXJzPSJaZyIgTWV0aG9kcz0iVGFibGU7VXNlcklucHV0O0RyYW5jaHVrIiBUaXBzPSJDJmx0O3N1YiZndDtnJmx0Oy9zdWImZ3Q7Ii8+DQogICAgICAgIDwhLS3msJTkvZPlr4bluqYgZ2FzUmhvZy0tPg0KICAgICAgICA8UHZ0IE5hbWU9IlJob2ciIEFsaWFzPSLmsJTkvZPlr4bluqYiIE1lbWJlcnM9InJ0O01nIiBCcm90aGVycz0iWmciIE1ldGhvZHM9IkludGVybmFsIiBUaXBzPSLPgSZsdDtzdWImZ3Q7ZyZsdDsvc3ViJmd0OyIvPg0KICAgICAgICA8IS0t5rCU5L2T6buP5bqmIGdhc1Job2ctLT4NCiAgICAgICAgPFB2dCBOYW1lPSJNaXVnIiBBbGlhcz0i5rCU5L2T6buP5bqmIiBNZW1iZXJzPSJyZztydCIgQnJvdGhlcnM9IlpnIiBNZXRob2RzPSJUYWJsZTtVc2VySW5wdXQ7TGVlIiBUaXBzPSLOvCZsdDtzdWImZ3Q7ZyZsdDsvc3ViJmd0OyIvPg0KDQogICAgICAgIDwhLS3lh53mnpDkvZPns7vkuKTnm7jlgY/lt67ns7vmlbAgZ2FzRGlmZmRw77yMIDIwMjQwOTE0IOaaguaXtumakOWOu++8jOWSqOivomJ3cC0tPg0KICAgICAgICA8IS0tPFB2dCBOYW1lPSJEaWZmZHAiIEFsaWFzPSLlh53mnpDkvZPns7vkuKTnm7jlgY/lt67ns7vmlbAiIE1lbWJlcnM9IlBjO1pnO1RjIiBCcm90aGVycz0iWmciIE1ldGhvZHM9IlRhYmxlO1VzZXJJbnB1dDtEYlBoYXNlRGlmZiIgLz4tLT4NCg0KICAgICAgICA8IS0t5Yed5p6Q5rCU6Zyy54K55Y6L5YqbIGdhc0Rld1DvvIwgMjAyNDA5MTQg5pqC5pe26ZqQ5Y6777yM5ZKo6K+iYndwLS0+DQogICAgICAgIDwhLS08UHZ0IE5hbWU9IkRld1AiIEFsaWFzPSLlh53mnpDmsJTpnLLngrnljovlipsiIE1lbWJlcnM9IkMxO0MyO0MzO2lDNDtpQzU7QzY7QzcrO3lIMlM7eUNPMjt5TjIiIE1ldGhvZHM9IlRhYmxlO1VzZXJJbnB1dDtEZXdQb2ludCIgLz4tLT4NCg0KICAgIDwvRmx1aWQ+DQoNCiAgICA8Rmx1aWQgTmFtZT0iV2F0ZXIiIEFsaWFzPSLmsLQiIElucHV0cz0icnciIFRpcHM9IiIgPg0KDQogICAgICAgIDwhLS3msJTmsLTmr5QsdHJpUnN3IC0tPg0KICAgICAgICA8UHZ0IE5hbWU9IlJzdyIgQWxpYXM9IuawlOawtOavlCIgTWVtYmVycz0icnQ7d3MiIE1ldGhvZHM9IlRhYmxlO1VzZXJJbnB1dDtNZWVoYW4tUmFtZXk7TWNDYWluIiBUaXBzPSJSJmx0O3N1YiZndDtzdyZsdDsvc3ViJmd0OyIvPg0KICAgICAgICA8IS0t5rC05L2T56ev57O75pWwIHdhdGVyQnctLT4NCiAgICAgICAgPFB2dCBOYW1lPSJCdyIgQWxpYXM9IuawtOS9k+enr+ezu+aVsCIgTWVtYmVycz0icnQiIE1ldGhvZHM9IlRhYmxlO1VzZXJJbnB1dDtHb3VsZDtNY0NhaW47TWVlaGFuLVJhbWV5IiBUaXBzPSJCJmx0O3N1YiZndDt3Jmx0Oy9zdWImZ3Q7Ii8+DQogICAgICAgIDwhLS3msLTljovnvKnns7vmlbAgd2F0ZXJDdy0tPg0KICAgICAgICA8UHZ0IE5hbWU9IkN3IiBBbGlhcz0i5rC05Y6L57yp57O75pWwIiBNZW1iZXJzPSJydDtSc3ciIEJyb3RoZXJzPSJCdyIgTWV0aG9kcz0iVGFibGU7VXNlcklucHV0O0RvZHNvbiBBbmQgU3RhbmRpbmc7RnJvbSBCdyIgVGlwcz0iQyZsdDtzdWImZ3Q7dyZsdDsvc3ViJmd0OyIvPg0KICAgICAgICA8IS0t5rC05a+G5bqmIHdhdGVyUmhvdy0tPg0KICAgICAgICA8UHZ0IE5hbWU9IlJob3ciIEFsaWFzPSLmsLTlr4bluqYiIE1lbWJlcnM9InB3U0MiIEJyb3RoZXJzPSJCdyIgTWV0aG9kcz0iSW50ZXJuYWwiIFRpcHM9Is+BJmx0O3N1YiZndDt3Jmx0Oy9zdWImZ3Q7Ii8+DQogICAgICAgIDwhLS3msLTpu4/luqYgd2F0ZXJNaXV3LS0+DQogICAgICAgIDxQdnQgTmFtZT0iTWl1dyIgQWxpYXM9IuawtOm7j+W6piIgTWVtYmVycz0icnQ7d3M7cnAiIE1ldGhvZHM9IlRhYmxlO1VzZXJJbnB1dDtWYW4gV2luZ2VuIEFuZCBGcmljaztNZWVoYW4gQW5kIFJhbWV5O01lZWhhbi1SYW1leStGcmljaztIZWxtaG9sdHorRnJpY2siIFRpcHM9Is68Jmx0O3N1YiZndDt3Jmx0Oy9zdWImZ3Q7Ii8+DQoNCiAgICA8L0ZsdWlkPg0KDQo8L1Jvb3Q+DQo= \ No newline at end of file diff --git a/Bin/Config/Common/SpeciCurveDefinesHW.dat b/Bin/Config/Common/SpeciCurveDefinesHW_cn.dat similarity index 100% rename from Bin/Config/Common/SpeciCurveDefinesHW.dat rename to Bin/Config/Common/SpeciCurveDefinesHW_cn.dat diff --git a/Bin/Config/Common/SpeciCurveDefinesHW_en.dat b/Bin/Config/Common/SpeciCurveDefinesHW_en.dat new file mode 100644 index 0000000..03be9e4 --- /dev/null +++ b/Bin/Config/Common/SpeciCurveDefinesHW_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu5/nmoTmqKHlnovln7rmnKzlj4LmlbAo6L6T5YWlK+i+k+WHuikgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEF1dGhvcihzKTogd2FuZ3pnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBEYXRlOiAyMDI0MDMwMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQoNCjwhLS0qKirkuLrkuobljLrliIbmlrnkvr/vvIzkuIDkuKrmlofku7blj6rpkojlr7nvvIjkvY7muJfpgI/jgIHogZrlkIjnianpqbHjgIHmsLTlubPkupXvvInkuK3nmoTkuIDnp43nsbvlnosqKiotLT4NCg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCjwhLS0g6YOo5YiG5pWw5o2u6aG56K+05piODQogICAgICAgIElEOiAgICAgICAgICDllK/kuIDmoIfor4YNCiAgICAgICAgTmFtZe+8miAgICAgICDlkI3np7DvvIzpgJrluLjoi7HmlocNCiAgICAgICAgQWxpYXPvvJogICAgICDliKvlkI3vvIzpgJrluLjkuK3mlocNCiAgICAgICAgSWNvbu+8miAgICAgICDlm77moIcNCiAgICAgICAgVGlwc++8miAgICAgICDovoXliqnor7TmmI4NCi0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCg0KPCEtLSDpkojlr7nkvY7muJfpgI/mqKHlnostLT4NCg0KPFJvb3Q+DQoNCiAgICA8IS0tIOaooeWei+eJueW+gee6v+eCuemFjee9riAtLT4NCiAgICA8U3BlY2lDdXJ2ZURlc2NzIE5hbWU9IiIgQWxpYXM9IuawtOW5s+S6leaooeWeiyIgVGlwcz0iIiA+DQoNCiAgICAgICAgPCEtLSDlhbHmgKfnibnlvoHngrnnur/vvIzmnaXmupDkuo4gU2hlZXTvvJrlhbHmgKflj4LmlbAgLS0+DQogICAgICAgIDxDb21tb25QYXJhbXM+DQogICAgICAgICAgICAgPEl0ZW0gTmFtZSA9ICJDIiBBbGlhcz0i5LqV5YKo57O75pWwIiBGdW5OYW1lID0gIuS6leWCqOmYtuauteazlSIgRnVuUmVtYXJrID0gIuWIqeeUqOS6leWCqOmYtuauteS7u+S4gOeCueiuoeeul+S6leWCqOezu+aVsCIgUG9pbnRzID0gIuS6leWCqOeCuSIgSWNvbiA9ICIiICBVbml0ID0gIiIvPg0KICAgICAgICAgICAgIDxJdGVtIE5hbWUgPSAiS3YiIEFsaWFzPSLlnoLnm7TmlrnlkJHlnLDlsYLmuJfpgI/njociIEZ1bk5hbWUgPSAi57q/LeWeguW+hOazlSIgRnVuUmVtYXJrID0gIuWIqeeUqOawtOW5s+e6v+aAp+a1geS7u+aEj+eCueWSjOWeguebtOW+hOWQkea1geS7u+aEj+eCuSIgUG9pbnRzID0gIuawtOW5s+e6v+aAp+a1geeCuS/lnoLlkJHlvoTlkJHmtYHngrkiIEljb24gPSAiIi8+ICANCiAgICAgICAgICAgICA8SXRlbSBOYW1lID0gIktoIiBBbGlhcz0i5rC05bmz5pa55ZCR5Zyw5bGC5riX6YCP546HIiBGdW5OYW1lID0gIuawtOW5s+W+hOWQkea1geazlSIgRnVuUmVtYXJrID0gIuWIqeeUqOawtOW5s+e6v+aAp+a1geS7u+aEj+eCueWSjOawtOW5s+W+hOWQkea1geS7u+aEj+eCuSIgUG9pbnRzID0gIuawtOW5s+e6v+aAp+a1geeCuS/msLTlubPlvoTlkJHmtYHngrkiIEljb24gPSAiIi8+ICANCiAgICAgICAgPC9Db21tb25QYXJhbXM+DQogICAgICAgIA0KICAgICAgICANCiAgICAgICAgIDwhLS0g5LqV5YKo5LiO6L2v5Lu255WM6Z2i5a+55bqU6YWN572uIC0tPg0KICAgICAgICA8V0JTUGFyYW1zPg0KICAgICAgICAgICAgPFdCU01vZGVscyBOYW1lPSAiIiBBbGlhcyA9ICIiPg0KICAgICAgICAgICAgPC9XQlNNb2RlbHM+DQogICAgICAgIDwvV0JTUGFyYW1zPg0KICAgICAgICANCiAgICAgICAgIDwhLS0g5LqV5qih5Z6L5LiO6L2v5Lu255WM6Z2i5a+55bqU6YWN572uIO+8iOaooeWei+aYr+WMheWQq+WFs+ezu+avlOWmguWOi+ijguS6le+8jOWPquimgeWMheWQq+WOi+ijguS6leeahOmDveihjO+8iS0tPg0KICAgICAgICA8V0VMUGFyYW1zPg0KICAgICAgICAgICAgPFdFTE1vZGVscyBOYW1lPSAiIiBBbGlhcyA9ICIiPg0KICAgICAgICAgICAgPC9XRUxNb2RlbHM+DQogICAgICAgIDwvV0VMUGFyYW1zPg0KICAgICAgICANCiAgICAgICAgIDwhLS0g5rK56JeP5LiO6L2v5Lu255WM6Z2i5a+55bqU6YWN572uIC0tPg0KICAgICAgICA8UkVTUGFyYW1zPg0KICAgICAgICANCiAgICAgICAgICAgICA8UkVTTW9kZWxzIE5hbWU9ICIiIEFsaWFzID0gIuWQhOWQkeW8guaApyI+DQogICAgICAgICAgICAgICAgPEl0ZW0gTmFtZSA9ICJLeiIgQWxpYXM9InrmlrnlkJHmuJfpgI/njociIEZ1bk5hbWUgPSAi57q/LeWeguW+hOazlSIgRnVuUmVtYXJrID0gIuWIqeeUqOawtOW5s+e6v+aAp+a1geS7u+aEj+eCueWSjOWeguebtOW+hOWQkea1geS7u+aEj+eCuSIgUG9pbnRzID0gIuawtOW5s+e6v+aAp+a1geeCuS/lnoLlkJHlvoTlkJHmtYHngrkiIEljb24gPSAiIi8+DQogICAgICAgICAgICAgICAgPEl0ZW0gTmFtZSA9ICJLeSIgQWxpYXM9InnmlrnlkJHmuJfpgI/njociIEZ1bk5hbWUgPSAi5rC05bmz57q/5oCn5rWB5rOVIiBGdW5SZW1hcmsgPSAi5Yip55So5rC05bmz57q/5oCn5rWB5Lu75oSP54K5IiBQb2ludHMgPSAi5rC05bmz57q/5oCn5rWB54K5IiBJY29uID0gIiIvPiAgDQogICAgICAgICAgICAgICAgPEl0ZW0gTmFtZSA9ICJLeCIgQWxpYXM9InjmlrnlkJHmuJfpgI/njociIEZ1bk5hbWUgPSAi57q/LeawtOW+hOazlSIgRnVuUmVtYXJrID0gIuWIqeeUqOawtOW5s+e6v+aAp+a1geS7u+aEj+eCueWSjOawtOW5s+W+hOWQkea1geS7u+aEj+eCuSIgUG9pbnRzID0gIuawtOW5s+e6v+aAp+a1geeCuS/msLTlubPlvoTlkJHmtYHngrkiIEljb24gPSAiIi8+ICANCg0KICAgICAgICAgICAgIDwvUkVTTW9kZWxzPg0KICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICA8L1JFU1BhcmFtcz4NCiAgICAgICAgDQogICAgICAgICA8IS0tIOi+ueeVjOS4jui9r+S7tueVjOmdouWvueW6lOmFjee9riAtLT4NCiAgICAgICAgPEJEWVBhcmFtcz4NCiAgICAgICAgICAgICA8QkRZTW9kZWxzIE5hbWU9ICIiIEFsaWFzID0gIiI+DQogICAgICAgICAgICAgIDwvQkRZTW9kZWxzPg0KICAgICAgICA8L0JEWVBhcmFtcz4NCg0KICAgICAgIA0KICAgIDwvU3BlY2lDdXJ2ZURlc2NzPg0KDQoNCjwvUm9vdD4NCg== \ No newline at end of file diff --git a/Bin/Config/Common/SpeciCurveDefinesLP.dat b/Bin/Config/Common/SpeciCurveDefinesLP_cn.dat similarity index 100% rename from Bin/Config/Common/SpeciCurveDefinesLP.dat rename to Bin/Config/Common/SpeciCurveDefinesLP_cn.dat diff --git a/Bin/Config/Common/SpeciCurveDefinesLP_en.dat b/Bin/Config/Common/SpeciCurveDefinesLP_en.dat new file mode 100644 index 0000000..043564c --- /dev/null +++ b/Bin/Config/Common/SpeciCurveDefinesLP_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+eahOebrueahOaYr+W7uueri1dUQUnova/ku7bns7vnu5/nmoTmqKHlnovln7rmnKzlj4LmlbAo6L6T5YWlK+i+k+WHuikgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEF1dGhvcihzKTogd2FuZ3pnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBEYXRlOiAyMDI0MDMwMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQoNCjwhLS0qKirkuLrkuobljLrliIbmlrnkvr/vvIzkuIDkuKrmlofku7blj6rpkojlr7nvvIjkvY7muJfpgI/jgIHogZrlkIjnianpqbHjgIHmsLTlubPkupXvvInkuK3nmoTkuIDnp43nsbvlnosqKiotLT4NCg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCjwhLS0g6YOo5YiG5pWw5o2u6aG56K+05piODQogICAgICAgIElEOiAgICAgICAgICDllK/kuIDmoIfor4YNCiAgICAgICAgTmFtZe+8miAgICAgICDlkI3np7DvvIzpgJrluLjoi7HmlocNCiAgICAgICAgQWxpYXPvvJogICAgICDliKvlkI3vvIzpgJrluLjkuK3mlocNCiAgICAgICAgSWNvbu+8miAgICAgICDlm77moIcNCiAgICAgICAgVGlwc++8miAgICAgICDovoXliqnor7TmmI4NCi0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCg0KPCEtLSDpkojlr7nkvY7muJfpgI/mqKHlnostLT4NCg0KPFJvb3Q+DQoNCiAgICA8IS0tIOaooeWei+eJueW+gee6v+eCuemFjee9riAtLT4NCiAgICA8U3BlY2lDdXJ2ZURlc2NzIE5hbWU9IiIgQWxpYXM9IuS9jua4l+mAj+aooeWeiyIgVGlwcz0iIiA+DQoNCiAgICAgICAgPCEtLSDlhbHmgKfnibnlvoHngrnnur/vvIzmnaXmupDkuo4gU2hlZXTvvJrlhbHmgKflj4LmlbAgLS0+DQogICAgICAgIDxDb21tb25QYXJhbXM+DQogICAgICAgICAgICAgPEl0ZW0gTmFtZSA9ICJDIiBBbGlhcz0i5LqV5YKo57O75pWwIiBGdW5OYW1lID0gIuS6leWCqOmYtuauteazlSIgRnVuUmVtYXJrID0gIuWIqeeUqOS6leWCqOmYtuauteS7u+S4gOeCueiuoeeul+S6leWCqOezu+aVsCIgUG9pbnRzID0gIuS6leWCqOeCuSIgSWNvbiA9ICIiIFVuaXQgPSAiIi8+DQogICAgICAgICAgICAgPEl0ZW0gTmFtZSA9ICJLIiBBbGlhcz0i5Zyw5bGC5riX6YCP546HIiBGdW5OYW1lID0gIuW+hOWQkea1geazlTvls7DlgLzms5U75bOw5YC8LeW+hOWQkea1geazlSIgRnVuUmVtYXJrID0gIuWIqeeUqOW+hOWQkea1gemYtuauteS7u+aEj+S4gOeCuTvliKnnlKjov4fmuKHmtYHls7DlgLzngrnlnZDmoIc75Yip55So6L+H5rih5rWB5bOw5YC854K55ZKM5b6E5ZCR5rWB5Lu75oSP54K55Z2Q5qCHIiBQb2ludHMgPSAi5b6E5ZCR5rWB54K5O+WzsOWAvOeCuTvls7DlgLzngrkv5b6E5ZCR5rWB54K5IiBJY29uID0gIiIvPiAgDQogICAgICAgICAgICAgPEl0ZW0gTmFtZSA9ICJTIiBBbGlhcz0i6KGo55qu57O75pWwIiBGdW5OYW1lID0gIuaoquWdkOagh+azlTvnurXlnZDmoIfms5UiIEZ1blJlbWFyayA9ICLlgJ/liqnkupXlgqjpmLbmrrXlkoznrKzkuIDlvoTlkJHmtYHpmLbmrrXkuqTngrnlnZDmoIflkoznrKzkuIDov4fmuKHmtYHls7DlgLzngrk75Yip55So6L+H5rih5rWB5bOw5YC854K55ZKM5b6E5ZCR5rWB5Lu75oSP54K55Z2Q5qCHIiBQb2ludHMgPSAi5LqV5YKo54K5L+WzsOWAvOeCuTvls7DlgLzngrkv5b6E5ZCR5rWB54K5IiBJY29uID0gIiIvPiAgICAgICANCiAgICAgICAgPC9Db21tb25QYXJhbXM+DQogICAgICAgIA0KICAgICAgICANCiAgICAgICAgIDwhLS0g5LqV5YKo5LiO6L2v5Lu255WM6Z2i5a+55bqU6YWN572uIC0tPg0KICAgICAgICA8V0JTUGFyYW1zPg0KICAgICAgICAgICAgPFdCU01vZGVscz4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPC9XQlNNb2RlbHM+DQogICAgICAgIDwvV0JTUGFyYW1zPg0KICAgICAgICANCiAgICAgICAgIDwhLS0g5LqV5qih5Z6L5LiO6L2v5Lu255WM6Z2i5a+55bqU6YWN572uIO+8iOaooeWei+aYr+WMheWQq+WFs+ezu+avlOWmguWOi+ijguS6le+8jOWPquimgeWMheWQq+WOi+ijguS6leeahOmDveihjO+8iS0tPg0KICAgICAgICA8V0VMUGFyYW1zPg0KICAgICAgICAgICAgPFdFTE1vZGVscyBOYW1lPSAiIiBBbGlhcyA9ICLljovoo4LkupXigJTigJTlnYfljIDmtYE75Y6L6KOC5LqV4oCU4oCU5peg6ZmQ5a+85rWBO+WOi+ijguS6leKAlOKAlOaciemZkOWvvOa1gTvljovoo4LkupXigJTigJTpg6jliIblsITlvIA75Y6L6KOC5LqV4oCU4oCU5Lik5q615a+85rWB6IO95YqbO+WOi+ijguS6leKAlOKAlOS4ieauteWvvOa1geiDveWKmyI+DQogICAgICAgICAgICAgICAgIDxJdGVtIE5hbWUgPSAiSyIgQWxpYXM9IuWcsOWxgua4l+mAj+eOhyIgRnVuTmFtZSA9ICLnur/mgKfmtYEt5b6E5ZCR5rWB5rOVO+e6v+aAp+a1gS3lj4zlvoTlkJHmtYHms5U75b6E5ZCR5rWBLeWPjOW+hOWQkea1geazlTvnur/mgKfmtYEt5Y+M57q/5oCn5rWB5rOVIiBGdW5SZW1hcmsgPSAi5Yip55So57q/5oCn5rWB6Zi25q615LiO5b6E5ZCR5rWB6Zi25q615Lqk54K55pWw5o2uO+WIqeeUqOe6v+aAp+a1gemYtuauteS4juWPjOW+hOWQkea1gemYtuauteS6pOeCueaVsOaNrjvliKnnlKjlj4zlvoTlkJHmtYHpmLbmrrXkuI7lvoTlkJHmtYHpmLbmrrXkuqTngrnmlbDmja475Yip55So5Y+M57q/5oCn5rWB6Zi25q615LiO57q/5oCn5rWB6Zi25q615Lqk54K55pWw5o2uIiBQb2ludHMgPSAi57q/5oCn5rWBMWjngrkv57q/5oCn5rWB5LiO5b6E5ZCR5rWB5Lqk54K5O+e6v+aAp+a1gTFo54K5L+e6v+aAp+a1geS4juWPjOW+hOWQkea1geS6pOeCuTvnur/mgKfmtYExaOeCuS/lvoTlkJHmtYHkuI7lj4zlvoTlkJHmtYHkuqTngrk757q/5oCn5rWB5LiO5Y+M57q/5oCn5rWB5Lqk54K5IiBJY29uID0gIiIvPg0KICAgICAgICAgICAgICAgICA8SXRlbSBOYW1lID0gInhmIiBBbGlhcz0i6KOC57yd5Y2K6ZW/IiBGdW5OYW1lID0gIuW+hOWQkea1geazlTvnur/mgKfmtYEt5b6E5ZCR5rWB5rOVO+e6v+aAp+a1gS3lj4zlvoTlkJHmtYHms5U75b6E5ZCR5rWBLeWPjOW+hOWQkea1geazlTvnur/mgKfmtYEt5Y+M57q/5oCn5rWB5rOVIiBGdW5SZW1hcmsgPSAi5Yip55So5b6E5ZCR5rWB6Zi25q615Lu75LiA54K55pWw5o2uO+WIqeeUqOe6v+aAp+a1gemYtuauteS4juW+hOWQkea1gemYtuauteS6pOeCueaVsOaNrjvliKnnlKjnur/mgKfmtYHpmLbmrrXkuI7lj4zlvoTlkJHmtYHpmLbmrrXkuqTngrnmlbDmja475Yip55So5Y+M5b6E5ZCR5rWB6Zi25q615LiO5b6E5ZCR5rWB6Zi25q615Lqk54K55pWw5o2uO+WIqeeUqOWPjOe6v+aAp+a1gemYtuauteS4jue6v+aAp+a1gemYtuauteS6pOeCueaVsOaNriIgUG9pbnRzID0gIue6v+aAp+a1gTFo54K5L+W+hOWQkea1geeCuTvnur/mgKfmtYExaOeCuS/nur/mgKfmtYHkuI7lvoTlkJHmtYHkuqTngrk757q/5oCn5rWBMWjngrkv57q/5oCn5rWB5LiO5Y+M5b6E5ZCR5rWB5Lqk54K5O+e6v+aAp+a1gTFo54K5L+W+hOWQkea1geS4juWPjOW+hOWQkea1geS6pOeCuTvnur/mgKfmtYHkuI7lj4znur/mgKfmtYHkuqTngrkiIEljb24gPSAiIi8+DQogICAgICAgICAgICA8L1dFTE1vZGVscz4NCiAgICAgICAgICANCiAgICAgICAgICAgIDxXRUxNb2RlbHMgTmFtZT0gIiIgQWxpYXMgPSAi5Y6L6KOC5LqV4oCU4oCU5pyJ6ZmQ5a+85rWBO+WOi+ijguS6leKAlOKAlOmDqOWIhuWwhOW8gDvljovoo4LkupXigJTigJTkuKTmrrXlr7zmtYHog73lips75Y6L6KOC5LqV4oCU4oCU5LiJ5q615a+85rWB6IO95YqbIj4NCiAgICAgICAgICAgICAgICA8SXRlbSBOYW1lID0gIkZjIiBBbGlhcz0i5a+85rWB6IO95YqbIiBGdW5OYW1lID0gIuWPjOe6v+aAp+a1geazlTvnur/mgKfmtYEt5Y+M57q/5oCn5rWB5rOVO+W+hOWQkea1gS3lj4znur/mgKfmtYHms5UiIEZ1blJlbWFyayA9ICLliKnnlKjlj4znur/mgKfmtYHpmLbmrrU75Yip55So5Y+M57q/5oCn5rWB5ZKM57q/5oCn5rWB5Lqk54K555qE5qiq5Z2Q5qCHO+WIqeeUqOWPjOe6v+aAp+a1geWSjOW+hOWQkea1geS6pOeCueeahOaoquWdkOaghyIgUG9pbnRzID0gIuWPjOe6v+aAp+a1gTFo54K5O+e6v+aAp+a1geS4juWPjOe6v+aAp+a1geS6pOeCuTvlvoTlkJHmtYHkuI7lj4znur/mgKfmtYHkuqTngrkiIEljb24gPSAiIi8+DQogICAgICAgICAgICA8L1dFTE1vZGVscz4NCiAgICAgICAgPC9XRUxQYXJhbXM+DQogICAgICAgIA0KICAgICAgICAgPCEtLSDmsrnol4/kuI7ova/ku7bnlYzpnaLlr7nlupTphY3nva4gLS0+DQogICAgICAgIDxSRVNQYXJhbXM+DQogICAgICAgIA0KICAgICAgICAgICAgIDxSRVNNb2RlbHMgTmFtZT0gIiIgQWxpYXMgPSAi5Y+M6YeN5a2U6ZqZO+WPjOmHjea4l+mAjyI+DQogICAgICAgICAgICAgICAgIDxJdGVtIE5hbWUgPSAib21lZ2EiIEFsaWFzPSLlgqjlrrnmr5QiIEZ1bk5hbWUgPSAi5b6E5ZCR5rWBLeacgOS9juazlTvnrKzkuIDmnIDkvY7ms5U756ys5LqM5pyA5L2O5rOVIiBGdW5SZW1hcmsgPSAi5Yip55So5b6E5ZCR5rWB57q15Z2Q5qCH5ZKM5pyA5L2O54K557q15Z2Q5qCHO+WIqeeUqOesrOS4gOW+hOWQkea1gee7k+adn+eCueeahOaoquWdkOagh+WSjOacgOS9jueCueaoquWdkOaghzvliKnnlKjnrKzkuozlvoTlkJHmtYHlvIDlp4vngrnnmoTmqKrlnZDmoIflkozmnIDkvY7ngrnmqKrlnZDmoIciIFBvaW50cyA9ICLlj4zph43ku4votKjmnIDkvY7ngrkv5b6E5ZCR5rWB54K5O+WPjOmHjeS7i+i0qOacgOS9jueCuS/nrKzkuIDlvoTlkJHmtYHnu5PmnZ/ngrk75Y+M6YeN5LuL6LSo5pyA5L2O54K5L+esrOS6jOW+hOWQkea1geW8gOWni+eCuSIgSWNvbiA9ICIiLz4NCiAgICAgICAgICAgICAgICAgPEl0ZW0gTmFtZSA9ICJsYW1iZGEiIEFsaWFzPSLnqpzmtYHns7vmlbAiIEZ1bk5hbWUgPSAi5pyA5L2O5rOVO+esrOS4gOacgOS9juazlTvnrKzkuozmnIDkvY7ms5U75pyA5L2OLeWCqOWuueavlOazlSIgRnVuUmVtYXJrID0gIuWIqeeUqOWOi+WKm+WvvOaVsOabsue6v+S4iuacgOS9jueCueeahOaoque6teWdkOaghzvliKnnlKjnrKzkuIDlvoTlkJHmtYHnu5PmnZ/ngrnnmoTmqKrlnZDmoIflkozmnIDkvY7ngrnmqKrlnZDmoIc75Yip55So56ys5LqM5b6E5ZCR5rWB5byA5aeL54K555qE5qiq5Z2Q5qCH5ZKM5pyA5L2O54K55qiq5Z2Q5qCHO+WIqeeUqOacgOS9jueCueeahOaoque6teWdkOagh+WSjOWCqOWuueavlCIgUG9pbnRzID0gIuWPjOmHjeS7i+i0qOacgOS9jueCuTvlj4zph43ku4votKjmnIDkvY7ngrkv56ys5LiA5b6E5ZCR5rWB57uT5p2f54K5O+WPjOmHjeS7i+i0qOacgOS9jueCuS/nrKzkuozlvoTlkJHmtYHlvIDlp4vngrk75Y+M6YeN5LuL6LSo5pyA5L2O54K5IiBJY29uID0gIiIvPiAgDQogICAgICAgICAgICAgPC9SRVNNb2RlbHM+DQogICAgICAgICAgICAgDQogICAgICAgICAgICAgPFJFU01vZGVscyBOYW1lPSAiIiBBbGlhcyA9ICLlj4zljLrlpI3lkIg75LiJ5Yy65aSN5ZCIIj4NCiAgICAgICAgICAgICAgICAgPEl0ZW0gTmFtZSA9ICJNIiBBbGlhcz0i5rWB5bqm5q+UIiBGdW5OYW1lID0gIuesrOS6jOW+hOWQkea1geazlSIgRnVuUmVtYXJrID0gIuWIqeeUqOWkjeWQiOayueiXj+eCuSIgUG9pbnRzID0gIuW+hOWQkea1geeCuS/lpI3lkIjmsrnol4/ngrkiIEljb24gPSAiIi8+ICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICA8SXRlbSBOYW1lID0gIlJpIiBBbGlhcz0i5aSN5ZCI5Y2K5b6EIiBGdW5OYW1lID0gIuesrOS6jOW+hOWQkea1geazlSIgRnVuUmVtYXJrID0gIuWIqeeUqOWkjeWQiOayueiXj+eCuSIgUG9pbnRzID0gIuWkjeWQiOayueiXj+eCuSIgSWNvbiA9ICIiLz4NCiAgICAgICAgICAgICA8L1JFU01vZGVscz4NCiAgICAgICAgICAgICANCiAgICAgICAgPC9SRVNQYXJhbXM+DQogICAgICAgIA0KICAgICAgICAgPCEtLSDovrnnlYzkuI7ova/ku7bnlYzpnaLlr7nlupTphY3nva4gLS0+DQogICAgICAgIDxCRFlQYXJhbXM+DQogICAgICAgICAgICAgPEJEWU1vZGVscyBOYW1lPSAiIiBBbGlhcyA9ICLkuIDmnaHovrnnlYwiPg0KICAgICAgICAgICAgICAgICA8SXRlbSBOYW1lID0gIngxIiBBbGlhcz0i6L6555WM5bC65a+4IiBGdW5OYW1lID0gIuWwgemXrei+ueeVjOa1geazlTvlrprljovovrnnlYzmtYHms5UiIEZ1blJlbWFyayA9ICLliKnnlKjlsIHpl63ovrnnlYzmtYHngrk75Yip55So5a6a5Y6L6L6555WM5rWB54K5IiBQb2ludHMgPSAi5bCB6Zet6L6555WM5rWB54K5O+WumuWOi+i+ueeVjOa1geeCuSIgSWNvbiA9ICIiLz4gICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgIDwvQkRZTW9kZWxzPg0KICAgICAgICA8L0JEWVBhcmFtcz4NCg0KICAgICAgIA0KICAgIDwvU3BlY2lDdXJ2ZURlc2NzPg0KDQoNCjwvUm9vdD4NCg== \ No newline at end of file diff --git a/Bin/Config/Common/TableStructs.dat b/Bin/Config/Common/TableStructs_cn.dat similarity index 100% rename from Bin/Config/Common/TableStructs.dat rename to Bin/Config/Common/TableStructs_cn.dat diff --git a/Bin/Config/Common/TableStructs_en.dat b/Bin/Config/Common/TableStructs_en.dat new file mode 100644 index 0000000..f4164f8 --- /dev/null +++ b/Bin/Config/Common/TableStructs_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjwhLS0g57yW6L6R5L2/55wzySoIFhNTFNweSB2MjAwNiBVIChodHRwOi8vd3d3LmFsdG92YS5jb20pIOeUsSBhbnkgKGFueSkgLS0+DQo8IS0tIOWxnuaAp+WAvOWtl+auteW5tumdnuW/hemhu++8jOWPr+S7peWPquWIl+WHuuadpeWPluWAvOS4jeWQjOS6jum7mOiupOWAvOeahOWxnuaApy0tPg0KDQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCjwhLS0gTm9kZSDnuqfliKsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBOYW1l77yaICDmlbDmja7ooaggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEFsaWFz77yaIOaVsOaNruihqOS4reaWh+WQjSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIFR5cGU6ICAg5a+55bqU55qE5a+56LGh57G75YirICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQogIA0KPCEtLSBGaWVsZEluZm8g57qn5YirICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEZpZWxkTmFtZe+8miAg5a2X5q615ZCN56ewICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEFsaWFz77ya5a2X5q615Lit5paH5ZCNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgYktlee+8muaYr+WQpuS4u+mUriAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgZURhdGFUeXBl77ya5a2X5q6157G75Z6L77yIMO+8muWtl+espuS4su+8iOaWh+acrO+8iSAx77ya5pW05b2i77yI5ZCr5p6a5Li+77yJICAy77yaRmxvYXTmlbDlgLwgIDPvvJrlm77lg48gIDTvvJrkuozov5vliLbvvIkgICAgICAtLT4NCjwhLS0gICAgc1VuaXTvvJrljZXkvY0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIG1heO+8muacgOWkp++8jOavlOi+g+eyl+eahOS4gOe6pyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBtaW7vvJrmnIDlsI/vvIzmr5TovoPnspfnmoTkuIDnuqcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgRGlnaXQ6IOWwj+aVsOS9jSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8Um9vdD4NCiAgICA8VHlwZU9mPg0KICAgICAgICA8Tm9kZSBBbGlhcz0iYuW3peWMuuaVsOaNruihqCIgTmFtZT0iQl9QUk9KRUNUIj4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuW3peWMuuWQjeensCIgYktleT0iMSIgRmllbGROYW1lPSJQcm9qTmFtZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5pWw5o2u5a2Y5YKo57G75Z6LIiBGaWVsZE5hbWU9IkRiVHlwZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5pWw5o2u5rqQIiBGaWVsZE5hbWU9IkRiVXJsIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmlbDmja7niYjmnKzlj7ciIEZpZWxkTmFtZT0iRGJWZXIiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuayueeUsOS7o+eggSIgRmllbGROYW1lPSJGaWVsZENvZGUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuayueeUsOWQjeensCIgRmllbGROYW1lPSJGaWVsZE5hbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuW3peWMuuaPj+i/sCIgRmllbGROYW1lPSJQcm9qRGVzYyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5Yib5bu65Lq6IiBGaWVsZE5hbWU9IkNyZWF0b3IiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWIm+W7uuaXtumXtCIgRmllbGROYW1lPSJDcmVhdGVkVGltZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5L+u5pS55Lq6IiBGaWVsZE5hbWU9Ik1vZGlmaWVyIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkv67mlLnml7bpl7QiIEZpZWxkTmFtZT0iTW9kaWZpZWRUaW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlpIfms6giIEZpZWxkTmFtZT0iUmVtYXJrIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUxIiBGaWVsZE5hbWU9IkV4dDEiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTIiIEZpZWxkTmFtZT0iRXh0MiIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MyIgRmllbGROYW1lPSJFeHQzIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU0IiBGaWVsZE5hbWU9IkV4dDQiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTUiIEZpZWxkTmFtZT0iRXh0NSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L05vZGU+DQoNCiAgICAgICAgPE5vZGUgQWxpYXM9ImLkupXln7rnoYDkv6Hmga/ooagiIE5hbWU9IkJfV0VMTCI+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmsrnnlLDku6PnoIEiIEZpZWxkTmFtZT0iRmllbGRDb2RlIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmsrnnlLDlkI3np7AiIEZpZWxkTmFtZT0iRmllbGROYW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLljLrlnZfku6PnoIEiIEZpZWxkTmFtZT0iQmxvY2tDb2RlIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLljLrlnZflkI3np7AiIEZpZWxkTmFtZT0iQmxvY2tOYW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkupXlj7ciIGJLZXk9IjEiIEZpZWxkTmFtZT0iV2VsbENvZGUiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkupXlkI0iIEZpZWxkTmFtZT0iV2VsbE5hbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS6leWIqyIgRmllbGROYW1lPSJXZWxsVHlwZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5LqV5Z6LIiBGaWVsZE5hbWU9IldlbGxDbGFzcyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLkupXlvoQiIEZpZWxkTmFtZT0iV2VsbFJhZGl1cyIgc1VuaXQ9Im0iLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5LqV5Y+j5Z2Q5qCHWCIgRmllbGROYW1lPSJMb2NhdGlvblgiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5LqV5Y+j5Z2Q5qCHWSIgRmllbGROYW1lPSJMb2NhdGlvblkiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWIm+W7uuS6uiIgRmllbGROYW1lPSJDcmVhdG9yIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLliJvlu7rml7bpl7QiIEZpZWxkTmFtZT0iQ3JlYXRlZFRpbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS/ruaUueS6uiIgRmllbGROYW1lPSJNb2RpZmllciIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5L+u5pS55pe26Ze0IiBGaWVsZE5hbWU9Ik1vZGlmaWVkVGltZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5aSH5rOoIiBGaWVsZE5hbWU9IlJlbWFyayIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MSIgRmllbGROYW1lPSJFeHQxIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUyIiBGaWVsZE5hbWU9IkV4dDIiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTMiIEZpZWxkTmFtZT0iRXh0MyIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NCIgRmllbGROYW1lPSJFeHQ0IiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU1IiBGaWVsZE5hbWU9IkV4dDUiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTYiIEZpZWxkTmFtZT0iRXh0NiIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NyIgRmllbGROYW1lPSJFeHQ3IiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU4IiBGaWVsZE5hbWU9IkV4dDgiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTkiIEZpZWxkTmFtZT0iRXh0OSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MTAiIEZpZWxkTmFtZT0iRXh0MTAiIFZpc2libGU9IjAiLz4NCiAgICAgICAgPC9Ob2RlPg0KDQogICAgICAgIDxOb2RlIEFsaWFzPSJi5LqV562S5L+h5oGv6KGoIiBOYW1lPSJCX1dFTExCT1JFIj4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuW6j+WPtyIgYktleT0iMSIgRmllbGROYW1lPSJJRCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5LqV5Y+3IiBGaWVsZE5hbWU9IldlbGxDb2RlIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkupXnrZLlkI3np7AiIEZpZWxkTmFtZT0iQm9yZU5hbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS6leecvOWNiuW+hCIgRmllbGROYW1lPSJXZWxsYm9yZVJhZGl1cyIgZURhdGFUeXBlPSIyIiBzVW5pdD0ibSIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWll+euoeWkluWNiuW+hCIgRmllbGROYW1lPSJDYXNpbmdPdXRlclJhZGl1cyIgZURhdGFUeXBlPSIyIiBzVW5pdD0ibSIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWll+euoeWGheWNiuW+hCIgRmllbGROYW1lPSJDYXNpbmdJbm5lclJhZGl1cyIgZURhdGFUeXBlPSIyIiBzVW5pdD0ibSIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuayueeuoeWkluWNiuW+hCIgRmllbGROYW1lPSJUdWJpbmdPdXRlclJhZGl1cyIgZURhdGFUeXBlPSIyIiBzVW5pdD0ibSIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuayueeuoeWGheWNiuW+hCIgRmllbGROYW1lPSJUdWJpbmdJbm5lclJhZGl1cyIgZURhdGFUeXBlPSIyIiBzVW5pdD0ibSIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS6leetkumVv+W6piIgRmllbGROYW1lPSJXZWxsYm9yZUxlbmd0aCIgZURhdGFUeXBlPSIyIiBzVW5pdD0ibSIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS6leetkuWAvuinkiIgRmllbGROYW1lPSJXZWxsSW5jbGluYXRpb24iIGVEYXRhVHlwZT0iMiIgc1VuaXQ9IsKwIiAvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i566h5aOB57KX57OZ5bqmIiBGaWVsZE5hbWU9IlBpcGVSb3VnaG5lc3MiIGVEYXRhVHlwZT0iMiIgc1VuaXQ9Im1tIiAvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5aWX566h5YaF5aOB6L6Q5bCE57O75pWwIiBGaWVsZE5hbWU9IkNhc2luZ0luRW1pc3MiIGVEYXRhVHlwZT0iMiIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuayueeuoeWkluWjgei+kOWwhOezu+aVsCIgRmllbGROYW1lPSJUdWJpbmdPdXRFbWlzcyIgZURhdGFUeXBlPSIyIiAvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i546v56m65LuL6LSo5a+854Ot57O75pWwIiBGaWVsZE5hbWU9IkFubnVsdXNUQyIgZURhdGFUeXBlPSIyIiBzVW5pdD0iVy9twrdLIiAvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5rC05rOl546v5a+854Ot57O75pWwIiBGaWVsZE5hbWU9IkNlbWVudFRDIiBlRGF0YVR5cGU9IjIiIHNVbml0PSJXL23Ct0siIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLovrnnlYzot53nprsiIEZpZWxkTmFtZT0iQm91bmRhcnlEaXN0YW5jZSIgZURhdGFUeXBlPSIyIiBzVW5pdD0ibSIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWkh+azqCIgRmllbGROYW1lPSJSZW1hcmsiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTEiIGVEYXRhVHlwZT0iMiIgRmllbGROYW1lPSJFeHQxIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUyIiBlRGF0YVR5cGU9IjIiIEZpZWxkTmFtZT0iRXh0MiIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MyIgZURhdGFUeXBlPSIyIiBGaWVsZE5hbWU9IkV4dDMiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTQiIGVEYXRhVHlwZT0iMiIgRmllbGROYW1lPSJFeHQ0IiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU1IiBlRGF0YVR5cGU9IjIiIEZpZWxkTmFtZT0iRXh0NSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L05vZGU+DQoNCiAgICAgICAgPE5vZGUgQWxpYXM9ImLlnLDlsYLmlbDmja7ooagiIE5hbWU9IkJfTEFZRVIiPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5LqV5Y+3IiBiS2V5PSIxIiBGaWVsZE5hbWU9IldlbGxDb2RlIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlsYLkvY0iIGJLZXk9IjEiIEZpZWxkTmFtZT0iTGF5ZXJOYW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iMiIgQWxpYXM9IumhtueVjOaWnOa3sSIgRmllbGROYW1lPSJUb3BNRCIgc1VuaXQ9Im0iLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5bqV55WM5pac5rexIiBGaWVsZE5hbWU9IkJvdHRvbU1EIiBWYWxpZGF0ZVN0cj0iR1Q6VG9wTUQiICBzVW5pdD0ibSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLpobbnlYzlnoLmt7EiIEZpZWxkTmFtZT0iVG9wVFZEIiBzVW5pdD0ibSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLlupXnlYzlnoLmt7EiIEZpZWxkTmFtZT0iQm90dG9tVFZEIiBWYWxpZGF0ZVN0cj0iR1Q6VG9wVFZEIiBzVW5pdD0ibSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLmlpzljpoiIEZpZWxkTmFtZT0iVGhpY2tuZXNzTSIgc1VuaXQ9Im0iLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5Z6C5Y6aIiBGaWVsZE5hbWU9IlRoaWNrbmVzc1RWIiBzVW5pdD0ibSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5bGC5L2N5o+P6L+wIiBGaWVsZE5hbWU9IkxheWVyRGVzYyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5aSH5rOoIiBGaWVsZE5hbWU9IlJlbWFyayIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MSIgRmllbGROYW1lPSJFeHQxIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUyIiBGaWVsZE5hbWU9IkV4dDIiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTMiIEZpZWxkTmFtZT0iRXh0MyIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NCIgRmllbGROYW1lPSJFeHQ0IiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU1IiBGaWVsZE5hbWU9IkV4dDUiIFZpc2libGU9IjAiLz4NCg0KICAgICAgICA8L05vZGU+DQoNCiAgICAgICAgPE5vZGUgQWxpYXM9ImLmsJTkvZPnu4TliIYiIE5hbWU9IkJfR0FTQ09OU1QiPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5LqV5Y+3IiBiS2V5PSIxIiBGaWVsZE5hbWU9IldlbGxDb2RlIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLnlLLng7ciIEZpZWxkTmFtZT0iQzEiIGVEYXRhVHlwZT0iMiIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS5meeDtyIgRmllbGROYW1lPSJDMiIgZURhdGFUeXBlPSIyIiAvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5LiZ54O3IiBGaWVsZE5hbWU9IkMzIiBlRGF0YVR5cGU9IjIiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlvILkuIHng7ciIEZpZWxkTmFtZT0iaUM0IiBlRGF0YVR5cGU9IjIiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmraPkuIHng7ciIEZpZWxkTmFtZT0ibkM0IiBlRGF0YVR5cGU9IjIiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlvILmiIrng7ciIEZpZWxkTmFtZT0iaUM1IiBlRGF0YVR5cGU9IjIiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmraPmiIrng7ciIEZpZWxkTmFtZT0ibkM1IiBlRGF0YVR5cGU9IjIiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlt7Hng7ciIEZpZWxkTmFtZT0iQzYiIGVEYXRhVHlwZT0iMiIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuW6mueDtyIgRmllbGROYW1lPSJDNyIgZURhdGFUeXBlPSIyIiAvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i6L6b54O3IiBGaWVsZE5hbWU9IkM4IiBlRGF0YVR5cGU9IjIiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlo6zng7ciIEZpZWxkTmFtZT0iQzkiIGVEYXRhVHlwZT0iMiIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuiRteeDtyIgRmllbGROYW1lPSJDMTAiIGVEYXRhVHlwZT0iMiIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWNgeS4gOeDtysiIEZpZWxkTmFtZT0iQzExKyIgZURhdGFUeXBlPSIyIiAvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5LqM5rCn5YyW56KzIiBGaWVsZE5hbWU9IkNPMiIgZURhdGFUeXBlPSIyIiAvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5rCu5rCUIiBGaWVsZE5hbWU9Ik4yIiBlRGF0YVR5cGU9IjIiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLnoavljJbmsKIiIEZpZWxkTmFtZT0iSDJTIiBlRGF0YVR5cGU9IjIiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlhbblroMiIEZpZWxkTmFtZT0iT3RoZXJzIiBlRGF0YVR5cGU9IjIiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlpIfms6giIEZpZWxkTmFtZT0iUmVtYXJrIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUxIiBGaWVsZE5hbWU9IkV4dDEiIGVEYXRhVHlwZT0iMiIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MiIgRmllbGROYW1lPSJFeHQyIiBlRGF0YVR5cGU9IjIiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTMiIEZpZWxkTmFtZT0iRXh0MyIgZURhdGFUeXBlPSIyIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU0IiBGaWVsZE5hbWU9IkV4dDQiIGVEYXRhVHlwZT0iMiIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NSIgRmllbGROYW1lPSJFeHQ1IiBlRGF0YVR5cGU9IjIiIFZpc2libGU9IjAiLz4NCiAgICAgICAgPC9Ob2RlPg0KDQogICAgICAgIDxOb2RlIEFsaWFzPSJw5YKo5bGC54mp5oCn5pWw5o2u6KGoIiBOYW1lPSJQX0RBVEFfUkVTIj4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuW6j+WPtyIgYktleT0iMSIgRmllbGROYW1lPSJJRCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5LqV5Y+3IiBGaWVsZE5hbWU9IldlbGxDb2RlIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlgqjlsYLlkI3np7AiIEZpZWxkTmFtZT0iTGF5ZXJOYW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iMiIgQWxpYXM9IuWCqOWxguacieaViOWOmuW6piIgRmllbGROYW1lPSJFZmZUaGlja25lc3MiIHNVbml0PSJtIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iMiIgQWxpYXM9IuWCqOWxgumhtua3sSIgRmllbGROYW1lPSJSZXNUb3BEZXB0aCIgc1VuaXQ9Im0iLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5YKo5bGC5bqV5rexIiBGaWVsZE5hbWU9IlJlc0JvdHRvbURlcHRoIiBWYWxpZGF0ZVN0cj0iR1Q6UmVzVG9wRGVwdGgiIHNVbml0PSJtIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iMiIgQWxpYXM9IuWtlOmameW6piIgRmllbGROYW1lPSJQb3IiIHNVbml0PSIiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5riX6YCP546HIiBGaWVsZE5hbWU9IksiIHNVbml0PSJtRCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLljp/lp4vlnLDlsYLljovlipsiIEZpZWxkTmFtZT0iRm9ybWF0aW9uUHJlc3MiIHNVbml0PSJNUGEiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5Zyw5bGC5rip5bqmIiBGaWVsZE5hbWU9IkZvcm1hdGlvblRlbXAiIHNVbml0PSLihIMiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i57u85ZCI5Y6L57yp57O75pWwIiBGaWVsZE5hbWU9IlRvdGFsQ0YiIHNVbml0PSIxL01QYSIvPg0KDQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iMiIgQWxpYXM9IuebkOW6piIgRmllbGROYW1lPSJTYWxpbml0eSIgc1VuaXQ9ImcvTCIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLlnLDlsYLng63mianmlaPnjociIEZpZWxkTmFtZT0iRm9ybWF0aW9uSFRDIiBzVW5pdD0ibcKyL2giIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5bKp55+z5a+854Ot57O75pWwIiBGaWVsZE5hbWU9IlJvY2tUQyIgc1VuaXQ9IlcvbcK3SyIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjEiIEFsaWFzPSLovrnnlYznsbvlnosiIEZpZWxkTmFtZT0iQm91bmRhcnlUeXBlIiBWaXNpYmxlPSIwIi8+DQoNCg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5aSH5rOoIiBGaWVsZE5hbWU9IlJlbWFyayIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MSIgZURhdGFUeXBlPSIyIiBGaWVsZE5hbWU9IkV4dDEiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTIiIGVEYXRhVHlwZT0iMiIgRmllbGROYW1lPSJFeHQyIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUzIiBlRGF0YVR5cGU9IjIiIEZpZWxkTmFtZT0iRXh0MyIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NCIgZURhdGFUeXBlPSIyIiBGaWVsZE5hbWU9IkV4dDQiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTUiIGVEYXRhVHlwZT0iMiIgRmllbGROYW1lPSJFeHQ1IiBWaXNpYmxlPSIwIi8+DQogICAgICAgIDwvTm9kZT4NCiAgICAgICAgPE5vZGUgQWxpYXM9InDmtYHkvZPnianmgKfmlbDmja7ooagiIE5hbWU9IlBfREFUQV9GTFVJRCI+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLluo/lj7ciIGJLZXk9IjEiIEZpZWxkTmFtZT0iSUQiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS6leWPtyIgRmllbGROYW1lPSJXZWxsQ29kZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLmurbop6PmsJTmsrnmr5QiIEZpZWxkTmFtZT0iR09SIiBzVW5pdD0ibV4zL21eMyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLlnLDlsYLljp/msrnljovnvKnns7vmlbAiIEZpZWxkTmFtZT0iT2lsQ0YiIHNVbml0PSIxL01QYSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLlnLDlsYLljp/msrnkvZPnp6/ns7vmlbAiIEZpZWxkTmFtZT0iT2lsVkYiIHNVbml0PSJtXjMvbV4zIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iMiIgQWxpYXM9IuWcsOWxguWOn+ayuem7j+W6piIgRmllbGROYW1lPSJPaWxWaXNjIiBzVW5pdD0ibVBhLnMiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5Zyw5bGC5Y6f5rK55a+G5bqmIiBGaWVsZE5hbWU9Ik9pbERlbnMiIHNVbml0PSJnL21eMyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLmsJTkvZPlgY/lt67ns7vmlbAiIEZpZWxkTmFtZT0iR2FzRGV2aUYiIHNVbml0PSJtXjMvbV4zIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iMiIgQWxpYXM9IuWcsOWxguWkqeeEtuawlOm7j+W6piIgRmllbGROYW1lPSJHYXNWaXNjIiBzVW5pdD0ibVBhLnMiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5Zyw5bGC5aSp54S25rCU5L2T56ev57O75pWwIiBGaWVsZE5hbWU9Ikdhc1ZGIiBzVW5pdD0ibV4zL21eMyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLlnLDlsYLlpKnnhLbmsJTlr4bluqYiIEZpZWxkTmFtZT0iR2FzRGVucyIgc1VuaXQ9ImcvbV4zIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iMiIgQWxpYXM9IuWcsOWxguawtOWOi+e8qeezu+aVsCIgRmllbGROYW1lPSJXYXRlckNGIiBzVW5pdD0iMS9NUGEiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5Zyw5bGC5rC05L2T56ev57O75pWwIiBGaWVsZE5hbWU9IldhdGVyVkYiIHNVbml0PSJtXjMvbV4zIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iMiIgQWxpYXM9IuWcsOWxguawtOm7j+W6piIgRmllbGROYW1lPSJXYXRlclZpc2MiIHNVbml0PSJtUGEucyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLlnLDlsYLmsLTlr4bluqYiIEZpZWxkTmFtZT0iV2F0ZXJEZW5zIiBzVW5pdD0iZy9tXjMiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWkh+azqCIgRmllbGROYW1lPSJSZW1hcmsiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTEiIGVEYXRhVHlwZT0iMiIgRmllbGROYW1lPSJFeHQxIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUyIiBlRGF0YVR5cGU9IjIiIEZpZWxkTmFtZT0iRXh0MiIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MyIgZURhdGFUeXBlPSIyIiBGaWVsZE5hbWU9IkV4dDMiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTQiIGVEYXRhVHlwZT0iMiIgRmllbGROYW1lPSJFeHQ0IiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU1IiBlRGF0YVR5cGU9IjIiIEZpZWxkTmFtZT0iRXh0NSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L05vZGU+DQogICAgICAgIDxOb2RlIEFsaWFzPSJw55uR5rWL6K6h6YeP5Y6L5Yqb5pWw5o2u6KGoIiBOYW1lPSJQX0RBVEFfR0FVR0VfUCI+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLluo/lj7ciIGJLZXk9IjEiIEZpZWxkTmFtZT0iSUQiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS6leWPtyIgRmllbGROYW1lPSJXZWxsQ29kZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5pe26Ze05qC85byPIiBGaWVsZE5hbWU9IlRpbWVGb3JtYXQiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaXtumXtCIgRmllbGROYW1lPSJHYXVnZVRpbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSI0IiBBbGlhcz0i5Y6L5Yqb5pWw5o2uIiBGaWVsZE5hbWU9IkdhdWdlRGF0YSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i6K6h6YeP6K6h5ZCN56ewIiBGaWVsZE5hbWU9IkdhdWdlTmFtZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5Yib5bu65Lq6IiBGaWVsZE5hbWU9IkNyZWF0b3IiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWIm+W7uuaXtumXtCIgRmllbGROYW1lPSJDcmVhdGVkVGltZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5L+u5pS55Lq6IiBGaWVsZE5hbWU9Ik1vZGlmaWVyIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkv67mlLnml7bpl7QiIEZpZWxkTmFtZT0iTW9kaWZpZWRUaW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlpIfms6giIEZpZWxkTmFtZT0iUmVtYXJrIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUxIiBGaWVsZE5hbWU9IkV4dDEiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTIiIEZpZWxkTmFtZT0iRXh0MiIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MyIgRmllbGROYW1lPSJFeHQzIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU0IiBGaWVsZE5hbWU9IkV4dDQiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTUiIEZpZWxkTmFtZT0iRXh0NSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L05vZGU+DQogICAgICAgIDxOb2RlIEFsaWFzPSJw55uR5rWL6K6h6YeP5rWB6YeP5pWw5o2u6KGoIiBOYW1lPSJQX0RBVEFfR0FVR0VfRiI+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLluo/lj7ciIGJLZXk9IjEiIEZpZWxkTmFtZT0iSUQiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS6leWPtyIgRmllbGROYW1lPSJXZWxsQ29kZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5pe26Ze05qC85byPIiBGaWVsZE5hbWU9IlRpbWVGb3JtYXQiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaXtumXtCIgRmllbGROYW1lPSJHYXVnZVRpbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSI0IiBBbGlhcz0i5rWB6YePIiBGaWVsZE5hbWU9IkdhdWdlRGF0YSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i6K6h6YeP6K6h5ZCN56ewIiBGaWVsZE5hbWU9IkdhdWdlTmFtZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjQiIEFsaWFzPSLmtYHph48yIiBGaWVsZE5hbWU9IkdhdWdlRGF0YUV4MiIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjQiIEFsaWFzPSLmtYHph48zIiBGaWVsZE5hbWU9IkdhdWdlRGF0YUV4MyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjEiIEFsaWFzPSLlpJrnm7giIEZpZWxkTmFtZT0iTXVsdGlQaGFzZSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i6Zi25qKv57G75Z6LIiBGaWVsZE5hbWU9IlN0ZXBUeXBlIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLliJvlu7rkuroiIEZpZWxkTmFtZT0iQ3JlYXRvciIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5Yib5bu65pe26Ze0IiBGaWVsZE5hbWU9IkNyZWF0ZWRUaW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkv67mlLnkuroiIEZpZWxkTmFtZT0iTW9kaWZpZXIiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS/ruaUueaXtumXtCIgRmllbGROYW1lPSJNb2RpZmllZFRpbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWkh+azqCIgRmllbGROYW1lPSJSZW1hcmsiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTEiIEZpZWxkTmFtZT0iRXh0MSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MiIgRmllbGROYW1lPSJFeHQyIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUzIiBGaWVsZE5hbWU9IkV4dDMiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTQiIEZpZWxkTmFtZT0iRXh0NCIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NSIgRmllbGROYW1lPSJFeHQ1IiBWaXNpYmxlPSIwIi8+DQogICAgICAgIDwvTm9kZT4NCiAgICAgICAgPE5vZGUgQWxpYXM9InDnm5HmtYvorqHph4/muKnluqbmlbDmja7ooagiIE5hbWU9IlBfREFUQV9HQVVHRV9UIj4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuW6j+WPtyIgYktleT0iMSIgRmllbGROYW1lPSJJRCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5LqV5Y+3IiBGaWVsZE5hbWU9IldlbGxDb2RlIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLml7bpl7TmoLzlvI8iIEZpZWxkTmFtZT0iVGltZUZvcm1hdCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5pe26Ze0IiBGaWVsZE5hbWU9IkdhdWdlVGltZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjQiIEFsaWFzPSLmuKnluqbmlbDmja4iIEZpZWxkTmFtZT0iR2F1Z2VEYXRhIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmuKnluqborqHlkI3np7AiIEZpZWxkTmFtZT0iR2F1Z2VOYW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLliJvlu7rkuroiIEZpZWxkTmFtZT0iQ3JlYXRvciIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5Yib5bu65pe26Ze0IiBGaWVsZE5hbWU9IkNyZWF0ZWRUaW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkv67mlLnkuroiIEZpZWxkTmFtZT0iTW9kaWZpZXIiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS/ruaUueaXtumXtCIgRmllbGROYW1lPSJNb2RpZmllZFRpbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWkh+azqCIgRmllbGROYW1lPSJSZW1hcmsiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTEiIEZpZWxkTmFtZT0iRXh0MSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MiIgRmllbGROYW1lPSJFeHQyIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUzIiBGaWVsZE5hbWU9IkV4dDMiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTQiIEZpZWxkTmFtZT0iRXh0NCIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NSIgRmllbGROYW1lPSJFeHQ1IiBWaXNpYmxlPSIwIi8+DQogICAgICAgIDwvTm9kZT4NCiAgICAgICAgPE5vZGUgQWxpYXM9InDlpKnnhLbmsJTmsJTkvZPnu4TliIbmlbDmja7ooagiIE5hbWU9IlBfREFUQV9HQVMiPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5bqP5Y+3IiBiS2V5PSIxIiBGaWVsZE5hbWU9IklEIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkupXlj7ciIEZpZWxkTmFtZT0iV2VsbENvZGUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i55Sy54O3IiBGaWVsZE5hbWU9IkMxIiBzVW5pdD0iJSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLkuZnng7ciIEZpZWxkTmFtZT0iQzIiIHNVbml0PSIlIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iMiIgQWxpYXM9IuS4meeDtyIgRmllbGROYW1lPSJDMyIgc1VuaXQ9IiUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5byC5LiB54O3IiBGaWVsZE5hbWU9ImlDNCIgc1VuaXQ9IiUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5q2j5LiB54O3IiBGaWVsZE5hbWU9Im5DNCIgc1VuaXQ9IiUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5byC5oiK54O3IiBGaWVsZE5hbWU9ImlDNSIgc1VuaXQ9IiUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5rCU5L2T57uE5YiGbkM1IiBGaWVsZE5hbWU9Im5DNSIgc1VuaXQ9IiUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5rCU5L2T57uE5YiGQzYiIEZpZWxkTmFtZT0iQzYiIHNVbml0PSIlIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iMiIgQWxpYXM9IuawlOS9k+e7hOWIhkM3IiBGaWVsZE5hbWU9IkM3IiBzVW5pdD0iJSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLkuozmsKfljJbnorMiIEZpZWxkTmFtZT0iQ08yIiBzVW5pdD0iJSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLmsK7msJQiIEZpZWxkTmFtZT0iTjIiIHNVbml0PSIlIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iMiIgQWxpYXM9Iuehq+WMluawoiIgRmllbGROYW1lPSJIMlMiIHNVbml0PSIlIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iMiIgQWxpYXM9IueDg+mcsueCuea4qeW6piIgRmllbGROYW1lPSJUZW1wSGMiIHNVbml0PSLihIMiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5a+G5bqmIiBGaWVsZE5hbWU9IkRlbnMiIHNVbml0PSJnL21eMyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLnm7jlr7nlr4bluqYiIEZpZWxkTmFtZT0iUmVsYXRpdmVEZW5zIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlpIfms6giIEZpZWxkTmFtZT0iUmVtYXJrIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUxIiBlRGF0YVR5cGU9IjIiIEZpZWxkTmFtZT0iRXh0MSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MiIgZURhdGFUeXBlPSIyIiBGaWVsZE5hbWU9IkV4dDIiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTMiIGVEYXRhVHlwZT0iMiIgRmllbGROYW1lPSJFeHQzIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU0IiBlRGF0YVR5cGU9IjIiIEZpZWxkTmFtZT0iRXh0NCIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NSIgZURhdGFUeXBlPSIyIiBGaWVsZE5hbWU9IkV4dDUiIFZpc2libGU9IjAiLz4NCiAgICAgICAgPC9Ob2RlPg0KDQogICAgICAgIDxOb2RlIEFsaWFzPSJw5YW25a6D5YWz6IGU5pWw5o2u6KGoIiBOYW1lPSJQX0RBVEFfT1RIRVIiPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5bqP5Y+3IiBiS2V5PSIxIiBGaWVsZE5hbWU9IklEIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkupXlj7ciIEZpZWxkTmFtZT0iV2VsbENvZGUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9Iua1i+ivleaXtumXtCIgRmllbGROYW1lPSJUZXN0RGF0ZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjQiIEFsaWFzPSLlhbblroPkupXmlbDmja4iIEZpZWxkTmFtZT0iV2VsbE90aGVyRGF0YSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjQiIEFsaWFzPSLlhbblroPljLrlnZfmlbDmja4iIEZpZWxkTmFtZT0iQmxvY2tPdGhlckRhdGEiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWkh+azqCIgRmllbGROYW1lPSJSZW1hcmsiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTEiIGVEYXRhVHlwZT0iNCIgRmllbGROYW1lPSJFeHQxIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUyIiBlRGF0YVR5cGU9IjQiIEZpZWxkTmFtZT0iRXh0MiIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MyIgZURhdGFUeXBlPSI0IiBGaWVsZE5hbWU9IkV4dDMiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTQiIGVEYXRhVHlwZT0iNCIgRmllbGROYW1lPSJFeHQ0IiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU1IiBlRGF0YVR5cGU9IjQiIEZpZWxkTmFtZT0iRXh0NSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L05vZGU+DQoNCg0KICAgICAgICA8Tm9kZSBBbGlhcz0ibuaVsOWAvOagt+S+i+aVsOaNruihqCIgTmFtZT0iTl9EQVRBX0RFTU8iPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5bqP5Y+3IiBiS2V5PSIxIiBGaWVsZE5hbWU9IklEIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkupXlj7ciIEZpZWxkTmFtZT0iV2VsbENvZGUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWCqOWxguWQjeensCIgRmllbGROYW1lPSJMYXllck5hbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBBbGlhcz0i5YKo5bGC6aG25rexIiBGaWVsZE5hbWU9IlRvcERlcHRoIiBzVW5pdD0ibSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjIiIEFsaWFzPSLlgqjlsYLlupXmt7EiIEZpZWxkTmFtZT0iQm90dG9tRGVwdGgiIHNVbml0PSJtIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlpIfms6giIEZpZWxkTmFtZT0iUmVtYXJrIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUxIiBlRGF0YVR5cGU9IjIiIEZpZWxkTmFtZT0iRXh0MSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MiIgZURhdGFUeXBlPSIyIiBGaWVsZE5hbWU9IkV4dDIiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTMiIGVEYXRhVHlwZT0iMiIgRmllbGROYW1lPSJFeHQzIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU0IiBlRGF0YVR5cGU9IjIiIEZpZWxkTmFtZT0iRXh0NCIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NSIgZURhdGFUeXBlPSIyIiBGaWVsZE5hbWU9IkV4dDUiIFZpc2libGU9IjAiLz4NCiAgICAgICAgPC9Ob2RlPg0KDQogICAgICAgIDxOb2RlIEFsaWFzPSJW6K+V5LqVUFZU5Z+656GA5L+h5oGvIiBOYW1lPSJWX1BWVF9JTkZPIj4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gRmllbGROYW1lPSJQdnRJRCIgQWxpYXM9IlBWVOagh+ivhiIgYktleT0iMSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBGaWVsZE5hbWU9IlB2dE5hbWUiIEFsaWFzPSJQVlTlkI3np7AiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEZpZWxkTmFtZT0iSm9iSUQiIEFsaWFzPSLliIbmnpBJRCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjQiIEFsaWFzPSLkuLvpgInpobnkv6Hmga8iIEZpZWxkTmFtZT0iTWFpbk9wdGlvbiIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjQiIEFsaWFzPSLmsrnlrZDpgInpobnkv6Hmga8iIEZpZWxkTmFtZT0iU3ViT3B0aW9uTyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjQiIEFsaWFzPSLmsJTlrZDpgInpobnkv6Hmga8iIEZpZWxkTmFtZT0iU3ViT3B0aW9uRyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjQiIEFsaWFzPSLmsLTlrZDpgInpobnkv6Hmga8iIEZpZWxkTmFtZT0iU3ViT3B0aW9uVyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5Yib5bu65Lq6IiBGaWVsZE5hbWU9IkNyZWF0b3IiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWIm+W7uuaXtumXtCIgRmllbGROYW1lPSJDcmVhdGVkVGltZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5L+u5pS55Lq6IiBGaWVsZE5hbWU9Ik1vZGlmaWVyIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkv67mlLnml7bpl7QiIEZpZWxkTmFtZT0iTW9kaWZpZWRUaW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlpIfms6giIEZpZWxkTmFtZT0iUmVtYXJrIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUxIiBGaWVsZE5hbWU9IkV4dDEiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTIiIEZpZWxkTmFtZT0iRXh0MiIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MyIgRmllbGROYW1lPSJFeHQzIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU0IiBGaWVsZE5hbWU9IkV4dDQiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTUiIEZpZWxkTmFtZT0iRXh0NSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L05vZGU+DQoNCiAgICAgICAgPE5vZGUgQWxpYXM9Ilbor5XkupVQVlTlj4LmlbDmlbDmja4iIE5hbWU9IlZfUFZUX0RBVEEiPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBGaWVsZE5hbWU9IlBwcklEIiBBbGlhcz0iUFZU5Y+C5pWw5qCH6K+GIiBiS2V5PSIxIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEZpZWxkTmFtZT0iUHByTmFtZSIgQWxpYXM9IlBWVOWPguaVsOWQjeensCIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gRmllbGROYW1lPSJQdnRJRCIgQWxpYXM9IlBWVOagh+ivhiIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBGaWVsZE5hbWU9Ik1ldGhvZE5hbWUiIEFsaWFzPSLpgInnlKjmlrnms5UiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSIyIiBGaWVsZE5hbWU9IkZpeGVkUG9zWCIgQWxpYXM9InjovbTmlbDlgLwiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iMiIgRmllbGROYW1lPSJGaXhlZFBvc1kiIEFsaWFzPSJ56L205pWw5YC8Ii8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iNCIgQWxpYXM9IuS4remXtOi/h+eoi+aVsOaNriIgRmllbGROYW1lPSJQcm9jRGF0YSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5aSH5rOoIiBGaWVsZE5hbWU9IlJlbWFyayIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MSIgRmllbGROYW1lPSJFeHQxIiBlRGF0YVR5cGU9IjQiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTIiIEZpZWxkTmFtZT0iRXh0MiIgZURhdGFUeXBlPSI0IiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUzIiBGaWVsZE5hbWU9IkV4dDMiIGVEYXRhVHlwZT0iNCIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NCIgRmllbGROYW1lPSJFeHQ0IiBlRGF0YVR5cGU9IjQiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTUiIEZpZWxkTmFtZT0iRXh0NSIgZURhdGFUeXBlPSI0IiBWaXNpYmxlPSIwIi8+DQogICAgICAgIDwvTm9kZT4NCg0KICAgICAgICA8Tm9kZSBBbGlhcz0iQeivleS6leWIhuaekOS/oeaBr+ihqCIgTmFtZT0iQV9BTkFMX1JVTiI+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLliIbmnpBJRCIgYktleT0iMSIgRmllbGROYW1lPSJBbmFsSUQiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS6leWPtyIgRmllbGROYW1lPSJXZWxsQ29kZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5YiG5p6Q5ZCN56ewIiBGaWVsZE5hbWU9IkFuYWxOYW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLln7rnoYDmlbDmja5JRCIgRmllbGROYW1lPSJEYXRhQmFzaWNJRCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0iUFZU5pWw5o2uSUQiIEZpZWxkTmFtZT0iRGF0YVB2dElEIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlsqnnn7PmlbDmja5JRCIgRmllbGROYW1lPSJEYXRhRGlmZnVzaW9uSUQiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaLn+WOi+WKm+aVsOaNrklEIiBGaWVsZE5hbWU9IkRhdGFQc2V1SUQiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWIm+W7uuS6uiIgRmllbGROYW1lPSJDcmVhdG9yIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLliJvlu7rml7bpl7QiIEZpZWxkTmFtZT0iQ3JlYXRlZFRpbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS/ruaUueS6uiIgRmllbGROYW1lPSJNb2RpZmllciIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5L+u5pS55pe26Ze0IiBGaWVsZE5hbWU9Ik1vZGlmaWVkVGltZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5aSH5rOoIiBGaWVsZE5hbWU9IlJlbWFyayIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MSIgRmllbGROYW1lPSJFeHQxIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUyIiBGaWVsZE5hbWU9IkV4dDIiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTMiIEZpZWxkTmFtZT0iRXh0MyIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NCIgRmllbGROYW1lPSJFeHQ0IiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU1IiBGaWVsZE5hbWU9IkV4dDUiIFZpc2libGU9IjAiLz4NCiAgICAgICAgPC9Ob2RlPg0KICAgICAgICA8Tm9kZSBBbGlhcz0iQeivleS6leWIhuaekOWfuuehgOaVsOaNruihqCIgTmFtZT0iQV9BTkFMX0JBU0lDIj4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWfuuehgOaVsOaNrklEIiBiS2V5PSIxIiBGaWVsZE5hbWU9IkRhdGFCYXNpY0lEIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkupXlj7ciIEZpZWxkTmFtZT0iV2VsbENvZGUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWIhuaekElEIiBGaWVsZE5hbWU9IkFuYWxJRCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5YiG5p6Q5ZCN56ewIiBGaWVsZE5hbWU9IkFuYWxOYW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmtYvor5XnsbvlnosiIEZpZWxkTmFtZT0iVGVzdFR5cGUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuebuOaAgSIgRmllbGROYW1lPSJQaGFzZU9wdGlvbiIgZURhdGFUeXBlPSIxIiAvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5YiG5p6Q5o+P6L+wIiBGaWVsZE5hbWU9IkFuYWxEZXNjIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLnm7jlhbPlj4LmlbAiIEZpZWxkTmFtZT0iQmFzaWNQYXJhcyIgZURhdGFUeXBlPSI0IiAvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5Yib5bu65Lq6IiBGaWVsZE5hbWU9IkNyZWF0b3IiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWIm+W7uuaXtumXtCIgRmllbGROYW1lPSJDcmVhdGVkVGltZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5L+u5pS55Lq6IiBGaWVsZE5hbWU9Ik1vZGlmaWVyIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkv67mlLnml7bpl7QiIEZpZWxkTmFtZT0iTW9kaWZpZWRUaW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlpIfms6giIEZpZWxkTmFtZT0iUmVtYXJrIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUxIiBGaWVsZE5hbWU9IkV4dDEiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTIiIEZpZWxkTmFtZT0iRXh0MiIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MyIgRmllbGROYW1lPSJFeHQzIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU0IiBGaWVsZE5hbWU9IkV4dDQiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTUiIEZpZWxkTmFtZT0iRXh0NSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L05vZGU+DQogICAgICAgIDxOb2RlIEFsaWFzPSJB6K+V5LqV5YiG5p6QUFZU5pWw5o2u6KGoIiBOYW1lPSJBX0FOQUxfUFZUIj4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IlBWVElEIiBiS2V5PSIxIiBGaWVsZE5hbWU9IlB2dElEIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkupXlj7ciIEZpZWxkTmFtZT0iV2VsbENvZGUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWIhuaekElEIiBGaWVsZE5hbWU9IkFuYWxJRCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0iUFZU5ZCN56ewIiBGaWVsZE5hbWU9IlB2dE5hbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWfuuehgOmAiemhuSIgRmllbGROYW1lPSJCYXNpY09wdGlvbiIgZURhdGFUeXBlPSI0IiAvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5rK555u4UFZUIiBGaWVsZE5hbWU9IkRhdGFQaGFzZU8iIGVEYXRhVHlwZT0iNCIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuawlOebuFBWVCIgRmllbGROYW1lPSJEYXRhUGhhc2VHIiBlRGF0YVR5cGU9IjQiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmsLTnm7hQVlQiIEZpZWxkTmFtZT0iRGF0YVBoYXNlVyIgZURhdGFUeXBlPSI0IiAvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0iQ08yUFZUIiBGaWVsZE5hbWU9IkRhdGFQaGFzZUMiIGVEYXRhVHlwZT0iNCIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuebkOawtFBWVCIgRmllbGROYW1lPSJEYXRhUGhhc2VTIiBlRGF0YVR5cGU9IjQiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLliJvlu7rkuroiIEZpZWxkTmFtZT0iQ3JlYXRvciIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5Yib5bu65pe26Ze0IiBGaWVsZE5hbWU9IkNyZWF0ZWRUaW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkv67mlLnkuroiIEZpZWxkTmFtZT0iTW9kaWZpZXIiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS/ruaUueaXtumXtCIgRmllbGROYW1lPSJNb2RpZmllZFRpbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWkh+azqCIgRmllbGROYW1lPSJSZW1hcmsiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTEiIEZpZWxkTmFtZT0iRXh0MSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MiIgRmllbGROYW1lPSJFeHQyIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUzIiBGaWVsZE5hbWU9IkV4dDMiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTQiIEZpZWxkTmFtZT0iRXh0NCIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NSIgRmllbGROYW1lPSJFeHQ1IiBWaXNpYmxlPSIwIi8+DQogICAgICAgIDwvTm9kZT4NCiAgICAgICAgPE5vZGUgQWxpYXM9IkHor5XkupXliIbmnpBkSUZGVVNJT07mlbDmja7ooagiIE5hbWU9IkFfQU5BTF9ESUZGVVNJT04iPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0iRElGRlVTSU9OSUQiIGJLZXk9IjEiIEZpZWxkTmFtZT0iRGlmZnVzaW9uSUQiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS6leWPtyIgRmllbGROYW1lPSJXZWxsQ29kZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5YiG5p6QSUQiIEZpZWxkTmFtZT0iQW5hbElEIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSJEaWZmdXNpb27lkI3np7AiIEZpZWxkTmFtZT0iRGlmZnVzaW9uTmFtZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5Z+656GA6YCJ6aG5IiBGaWVsZE5hbWU9IkJhc2ljT3B0aW9uIiBlRGF0YVR5cGU9IjQiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLnm7jmuJfmlbDmja4iIEZpZWxkTmFtZT0iRGF0YUtLIiBlRGF0YVR5cGU9IjQiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlupTlipvmlY/mhJ/mlbDmja4iIEZpZWxkTmFtZT0iRGF0YVNTIiBlRGF0YVR5cGU9IjQiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlkLjpmYTmlbDmja4iIEZpZWxkTmFtZT0iRGF0YURTIiBlRGF0YVR5cGU9IjQiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLliJvlu7rkuroiIEZpZWxkTmFtZT0iQ3JlYXRvciIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5Yib5bu65pe26Ze0IiBGaWVsZE5hbWU9IkNyZWF0ZWRUaW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkv67mlLnkuroiIEZpZWxkTmFtZT0iTW9kaWZpZXIiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS/ruaUueaXtumXtCIgRmllbGROYW1lPSJNb2RpZmllZFRpbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWkh+azqCIgRmllbGROYW1lPSJSZW1hcmsiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTEiIEZpZWxkTmFtZT0iRXh0MSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MiIgRmllbGROYW1lPSJFeHQyIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUzIiBGaWVsZE5hbWU9IkV4dDMiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTQiIEZpZWxkTmFtZT0iRXh0NCIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NSIgRmllbGROYW1lPSJFeHQ1IiBWaXNpYmxlPSIwIi8+DQogICAgICAgIDwvTm9kZT4NCiAgICAgICAgPE5vZGUgQWxpYXM9IkHor5XkupXliIbmnpDmi5/ljovlipvmlbDmja7ooagiIE5hbWU9IkFfQU5BTF9QU0VVIj4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IlBTRVVJRCIgYktleT0iMSIgRmllbGROYW1lPSJQc2V1SUQiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS6leWPtyIgRmllbGROYW1lPSJXZWxsQ29kZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5YiG5p6QSUQiIEZpZWxkTmFtZT0iQW5hbElEIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmi5/ljovlipvlkI3np7AiIEZpZWxkTmFtZT0iUHNldU5hbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaLn+WOi+WKm+exu+WeiyIgRmllbGROYW1lPSJQc2V1VHlwZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5Z+656GA6YCJ6aG5IiBGaWVsZE5hbWU9IkJhc2ljT3B0aW9uIiBlRGF0YVR5cGU9IjQiIC8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkuK3pl7Tov4fnqIvmlbDmja4iIEZpZWxkTmFtZT0iRGF0YU1pZCIgZURhdGFUeXBlPSI0IiAvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5ouf5Y6L5Yqb57uT5p6c6KGoIiBGaWVsZE5hbWU9IkRhdGFSc3QiIGVEYXRhVHlwZT0iNCIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWIm+W7uuS6uiIgRmllbGROYW1lPSJDcmVhdG9yIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLliJvlu7rml7bpl7QiIEZpZWxkTmFtZT0iQ3JlYXRlZFRpbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS/ruaUueS6uiIgRmllbGROYW1lPSJNb2RpZmllciIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5L+u5pS55pe26Ze0IiBGaWVsZE5hbWU9Ik1vZGlmaWVkVGltZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5aSH5rOoIiBGaWVsZE5hbWU9IlJlbWFyayIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MSIgRmllbGROYW1lPSJFeHQxIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUyIiBGaWVsZE5hbWU9IkV4dDIiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTMiIEZpZWxkTmFtZT0iRXh0MyIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NCIgRmllbGROYW1lPSJFeHQ0IiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU1IiBGaWVsZE5hbWU9IkV4dDUiIFZpc2libGU9IjAiLz4NCiAgICAgICAgPC9Ob2RlPg0KDQoNCg0KDQoNCg0KICAgICAgICA8Tm9kZSBBbGlhcz0iUuivleS6leaIkOaenOS/oeaBr+ihqCIgTmFtZT0iUl9SU1RfVVRJTFMiPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5oiQ5p6cSUQiIGJLZXk9IjEiIEZpZWxkTmFtZT0iUnN0VXRpbElEIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmiJDmnpzmoIfnrb4iIEZpZWxkTmFtZT0iUnN0VXRpbFRhZyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5oiQ5p6cSUQiIEZpZWxkTmFtZT0iSm9iSUQiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS6leWPtyIgRmllbGROYW1lPSJXZWxsQ29kZSIgVmlzaWJsZT0iMCIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaooeWei+exu+WeiyIgRmllbGROYW1lPSJNb2RlbFNlcmllcyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5Yib5bu65Lq6IiBGaWVsZE5hbWU9IkNyZWF0b3IiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWIm+W7uuaXtumXtCIgRmllbGROYW1lPSJDcmVhdGVkVGltZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5L+u5pS55Lq6IiBGaWVsZE5hbWU9Ik1vZGlmaWVyIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkv67mlLnml7bpl7QiIEZpZWxkTmFtZT0iTW9kaWZpZWRUaW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlpIfms6giIEZpZWxkTmFtZT0iUmVtYXJrIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUxIiBGaWVsZE5hbWU9IkV4dDEiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTIiIEZpZWxkTmFtZT0iRXh0MiIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MyIgRmllbGROYW1lPSJFeHQzIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU0IiBGaWVsZE5hbWU9IkV4dDQiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTUiIEZpZWxkTmFtZT0iRXh0NSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L05vZGU+DQoNCiAgICAgICAgPE5vZGUgQWxpYXM9IlLor5XkupXmiJDmnpznuq/nu5PmnpzmlbDmja7ooagiIE5hbWU9IlJfUlNUX0NVUlZFREFUQSI+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmiJDmnpxJRCIgYktleT0iMSIgRmllbGROYW1lPSJSc3RVdGlsSUQiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gZURhdGFUeXBlPSI0IiBBbGlhcz0i5Y6f5aeL5puy57q/IiBGaWVsZE5hbWU9IkN1cnZlUmF3cyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBlRGF0YVR5cGU9IjQiIEFsaWFzPSLmi5/lkIjmm7Lnur8iIEZpZWxkTmFtZT0iQ3VydmVGaXRzIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iNCIgQWxpYXM9IuaooeWei+e7k+aenCIgRmllbGROYW1lPSJNb2RlbEluZm9zIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIGVEYXRhVHlwZT0iNCIgQWxpYXM9IuaLn+WQiOWPguaVsOe7k+aenCIgRmllbGROYW1lPSJQYXJhbWV0ZXJJbmZvcyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5aSH5rOoIiBGaWVsZE5hbWU9IlJlbWFyayIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MSIgZURhdGFUeXBlPSI0IiBGaWVsZE5hbWU9IkV4dDEiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTIiIGVEYXRhVHlwZT0iNCIgRmllbGROYW1lPSJFeHQyIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUzIiBlRGF0YVR5cGU9IjQiIEZpZWxkTmFtZT0iRXh0MyIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NCIgZURhdGFUeXBlPSI0IiBGaWVsZE5hbWU9IkV4dDQiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTUiIGVEYXRhVHlwZT0iNCIgRmllbGROYW1lPSJFeHQ1IiBWaXNpYmxlPSIwIi8+DQogICAgICAgIDwvTm9kZT4NCiAgICAgICAgPE5vZGUgQWxpYXM9IlLor5XkupXmiJDmnpzop4bnqpfmlbDmja7ooagiIE5hbWU9IlJfUlNUX1dORCI+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmiJDmnpxJRCIgYktleT0iMSIgRmllbGROYW1lPSJSc3RJRCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i57Si5byVIiBGaWVsZE5hbWU9IlduZEluZGV4Ii8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLnqpfkvZNJRCIgRmllbGROYW1lPSJXbmRJRCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i56qX5L2T5ZCN56ewIiBGaWVsZE5hbWU9IlduZFRhZyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0iUnN0VXRpbHNJRCIgRmllbGROYW1lPSJSc3RVdGlsSUQiLz4NCg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0iSm9iUnVuIiBGaWVsZE5hbWU9IkRhdGFKb2JSdW4iLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9Iua1geWKqOautSIgRmllbGROYW1lPSJEYXRhU2VnSW5mbyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5pWw5o2u5L2TIiBGaWVsZE5hbWU9IkRhdGFJbmZvIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmlbDmja7kvZMxIiBGaWVsZE5hbWU9IkRhdGFJbmZvMSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5pWw5o2u5L2TMiIgRmllbGROYW1lPSJEYXRhSW5mbzIiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaVsOaNruS9kzMiIEZpZWxkTmFtZT0iRGF0YUluZm8zIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmlbDmja7kvZM0IiBGaWVsZE5hbWU9IkRhdGFJbmZvNCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5pWw5o2u5L2TNSIgRmllbGROYW1lPSJEYXRhSW5mbzUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaVsOaNruS9kzYiIEZpZWxkTmFtZT0iRGF0YUluZm82Ii8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmlbDmja7kvZM3IiBGaWVsZE5hbWU9IkRhdGFJbmZvNyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5pWw5o2u5L2TOCIgRmllbGROYW1lPSJEYXRhSW5mbzgiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaVsOaNruS9kzkiIEZpZWxkTmFtZT0iRGF0YUluZm85Ii8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlpIfms6giIEZpZWxkTmFtZT0iUmVtYXJrIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUxIiBlRGF0YVR5cGU9IjQiIEZpZWxkTmFtZT0iRXh0MSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MiIgZURhdGFUeXBlPSI0IiBGaWVsZE5hbWU9IkV4dDIiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTMiIGVEYXRhVHlwZT0iNCIgRmllbGROYW1lPSJFeHQzIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU0IiBlRGF0YVR5cGU9IjQiIEZpZWxkTmFtZT0iRXh0NCIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NSIgZURhdGFUeXBlPSI0IiBGaWVsZE5hbWU9IkV4dDUiIFZpc2libGU9IjAiLz4NCiAgICAgICAgPC9Ob2RlPg0KDQoNCiAgICAgICAgPE5vZGUgQWxpYXM9IlLor5XkupXmiJDmnpzlm77ku7blhoXlrrnooagiIE5hbWU9IlJfUlNUX1BMT1QiPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0iUGxvdElEIiBiS2V5PSIxIiBGaWVsZE5hbWU9IlBsb3RJRCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5LqV5Y+3IiBGaWVsZE5hbWU9IldlbGxDb2RlIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLnqpfkvZNJRCIgRmllbGROYW1lPSJSc3RXbmRJRCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5Zu+5Lu25qCH6K+GIiBGaWVsZE5hbWU9IlBsb3RUYWciLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWbvuS7tuWGheWuuSIgRmllbGROYW1lPSJQbG90Q29udGVudHMiIGVEYXRhVHlwZT0iNCIgLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWFtuWug+i+heWKqSIgRmllbGROYW1lPSJQbG90RXh0cyIgZURhdGFUeXBlPSI0IiAvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5Yib5bu65Lq6IiBGaWVsZE5hbWU9IkNyZWF0b3IiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWIm+W7uuaXtumXtCIgRmllbGROYW1lPSJDcmVhdGVkVGltZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5L+u5pS55Lq6IiBGaWVsZE5hbWU9Ik1vZGlmaWVyIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLkv67mlLnml7bpl7QiIEZpZWxkTmFtZT0iTW9kaWZpZWRUaW1lIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlpIfms6giIEZpZWxkTmFtZT0iUmVtYXJrIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUxIiBGaWVsZE5hbWU9IkV4dDEiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTIiIEZpZWxkTmFtZT0iRXh0MiIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MyIgRmllbGROYW1lPSJFeHQzIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU0IiBGaWVsZE5hbWU9IkV4dDQiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTUiIEZpZWxkTmFtZT0iRXh0NSIgVmlzaWJsZT0iMCIvPg0KICAgICAgICA8L05vZGU+DQoNCg0KDQoNCg0KDQogICAgICAgIDxOb2RlIEFsaWFzPSJj56S65oSP5Zu+6YWN572u6KGoIiBOYW1lPSJDX01PREVMX1NLRVRDSCI+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLluo/lj7ciIGJLZXk9IjEiIEZpZWxkTmFtZT0iTXN0SUQiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaooeWei+exuyIgRmllbGROYW1lPSJNb2RlbFNlcmllcyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5LqV5YKoIiBGaWVsZE5hbWU9IldCUyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5LqV5Z6LIiBGaWVsZE5hbWU9IldFTCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5rK56JePIiBGaWVsZE5hbWU9IlJFUyIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i6L6555WMIiBGaWVsZE5hbWU9IkJEWSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5YW25a6D57qm5p2fIiBGaWVsZE5hbWU9Ik90aGVycyIvPg0KDQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLnpLrmhI/lm74iIEZpZWxkTmFtZT0iU2tldGNoIiBlRGF0YVR5cGU9IjQiIC8+DQoNCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuWIm+W7uuS6uiIgRmllbGROYW1lPSJDcmVhdG9yIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLliJvlu7rml7bpl7QiIEZpZWxkTmFtZT0iQ3JlYXRlZFRpbWUiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuS/ruaUueS6uiIgRmllbGROYW1lPSJNb2RpZmllciIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5L+u5pS55pe26Ze0IiBGaWVsZE5hbWU9Ik1vZGlmaWVkVGltZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5aSH5rOoIiBGaWVsZE5hbWU9IlJlbWFyayIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61MSIgRmllbGROYW1lPSJFeHQxIiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrUyIiBGaWVsZE5hbWU9IkV4dDIiIFZpc2libGU9IjAiLz4NCiAgICAgICAgICAgIDxGaWVsZEluZm8gQWxpYXM9IuaJqeWxleWtl+autTMiIEZpZWxkTmFtZT0iRXh0MyIgVmlzaWJsZT0iMCIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i5omp5bGV5a2X5q61NCIgRmllbGROYW1lPSJFeHQ0IiBWaXNpYmxlPSIwIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmianlsZXlrZfmrrU1IiBGaWVsZE5hbWU9IkV4dDUiIFZpc2libGU9IjAiLz4NCiAgICAgICAgPC9Ob2RlPg0KDQoNCiAgICAgICAgPE5vZGUgQWxpYXM9Im/kurrlkZjooagiIE5hbWU9Ik9fUEVSU09OUyI+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLljZXkvY0iIGJLZXk9IjEiIEZpZWxkTmFtZT0iRGVwYXJ0Ii8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLlp5PlkI0iIGJLZXk9IjEiIEZpZWxkTmFtZT0iTmFtZSIvPg0KICAgICAgICAgICAgPEZpZWxkSW5mbyBBbGlhcz0i6IGM5YqhIiBGaWVsZE5hbWU9IlBvc2l0aW9uIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLmiYvmnLrlj7ciIEZpZWxkTmFtZT0iTW9iaWxlIi8+DQogICAgICAgICAgICA8RmllbGRJbmZvIEFsaWFzPSLpgq7nrrEiIEZpZWxkTmFtZT0iRW1haWwiLz4NCiAgICAgICAgPC9Ob2RlPg0KDQoNCg0KICAgIDwvVHlwZU9mPg0KPC9Sb290Pg0K \ No newline at end of file diff --git a/Bin/Config/Common/UnitDefault.dat b/Bin/Config/Common/UnitDefault_cn.dat similarity index 100% rename from Bin/Config/Common/UnitDefault.dat rename to Bin/Config/Common/UnitDefault_cn.dat diff --git a/Bin/Config/Common/UnitDefault_en.dat b/Bin/Config/Common/UnitDefault_en.dat new file mode 100644 index 0000000..1d2140c --- /dev/null +++ b/Bin/Config/Common/UnitDefault_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxSb290Pg0KICAgIDxUeXwzyBlT2Y+DQogICAgICAgIDxVbml0R3JvdXAgVHlwZT0iY29tcHJlc3NpYmlsaXR5IiBOYW1lPSJjb21wcmVzc2liaWxpdHkiPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSIxL01QYSIgaz0iMSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSIxL1BhIiBrPSIxZTYiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iMS9wc2kiIGs9IjE0NS4wMzgiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iMS9hdG0iIGs9IjkuODY5MjMiLz4NCiAgICAgICAgPC9Vbml0R3JvdXA+DQogICAgICAgIDxVbml0R3JvdXAgVHlwZT0iZGVuc2l0eSIgTmFtZT0iZGVuc2l0eSI+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImcvY21eMyIgaz0iMSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJrZy9tXjMiIGs9IjAuMDAxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImxiL2Z0XjMiIGs9IjAuMDE2MDIiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibGIvZ2FsKFVTKSIgaz0iMC4xMTk4MjYiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibGIvZ2FsKFVLKSIgaz0iMC4wOTk3NiIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJsYi9iYmwiIGs9IjAuMDAyODUzIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImcvY2MiIGs9IjEiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iZy9jZiIgaz0iMy41MzE0N2UtMDUiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iZy9mdF4zIiBrPSIzLjUzMTQ3ZS0wNSIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJnZW90aGVybWFsZ3JhZGllbnQiIE5hbWU9Imdlb3RoZXJtYWxncmFkaWVudCI+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImRlZy9tIiBrPSIxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9IkYvaW4iIGs9IjEuOCIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJkZWcva20iIGs9IjAuMDk5Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9IkYvbWlsZSIgaz0iMC4wMzQ0ODI4Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9IkYvZnQiIGs9IjE4MS44MTgiLz4NCiAgICAgICAgPC9Vbml0R3JvdXA+DQogICAgICAgIDxVbml0R3JvdXAgVHlwZT0ibGVuZ3RoIiBOYW1lPSJsZW5ndGgiPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJpbiIgaz0iMSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJtIiBrPSIzOS4zNzAxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImNtIiBrPSIwLjM5MzcwMSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJtbSIgaz0iMC4wMzkzNzAxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImttIiBrPSIzOTM3MC4xIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImZ0IiBrPSIxMiIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJtaSIgaz0iNjMzNDYuNSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJ5ZCIgaz0iMzUuOTg3MyIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJubWlsZSIgaz0iNzI5MTMuNCIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJubSIgaz0iMy45MzcwMWUtMDgiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0icmFkIiBrPSI3LjgyODMxIi8+DQogICAgICAgIDwvVW5pdEdyb3VwPg0KICAgICAgICA8VW5pdEdyb3VwIFR5cGU9InBlcmNlbnQiIE5hbWU9InBlcmNlbnQiPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSIlIiBrPSIxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9InB1IiBrPSIxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9Im1eMy9tXjMiIGs9IjEwMCIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJ2L3YiIGs9IjEwMCIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJmcmFjdGlvbiIgaz0iMTAwIi8+DQogICAgICAgIDwvVW5pdEdyb3VwPg0KICAgICAgICA8VW5pdEdyb3VwIFR5cGU9InBlcm1lYWJpbGl0eSIgTmFtZT0icGVybWVhYmlsaXR5Ij4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iRCIgaz0iMSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJtRCIgaz0iMC4wMDEiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iY21eLTIiIGs9IjkuODFlKzA3Ii8+DQogICAgICAgIDwvVW5pdEdyb3VwPg0KICAgICAgICA8VW5pdEdyb3VwIFR5cGU9InBvd2VyIiBOYW1lPSJwb3dlciI+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9IlciIGs9IjEiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iQnR1L2giIGs9IjAuMjkzMDcxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImtnZi5tL3MiIGs9IjkuODA2NjUiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iY2FsL3MiIGs9IjQuMTg2OCIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJocCIgaz0iNzM1LjQ5OSIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJwcmVzc3VyZSIgTmFtZT0icHJlc3N1cmUiPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJQYSIgaz0iMSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJNUGEiIGs9IjFlKzA2Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9IktQYSIgaz0iMTAwMCIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJiYXIiIGs9IjEwMDAwMCIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJUb3JyIiBrPSIxMzMuMzIyIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImR5bi9jbV4yIiBrPSIwLjEiLz4NCiAgICAgICAgICAgIDxVbml0IFVuaXQ9Im1tSGciIGs9IjEzMy4zMjIiLz4NCiAgICAgICAgICAgIDxVbml0IFVuaXQ9Im1tSDJPIiBrPSI5LjgwNjY1Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImF0IiBrPSI5ODA2Ni41Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9InBzaSIgaz0iNjg5Ni41NSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJhdG0iIGs9IjEwMTMyNSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJrZ2YvY21eMiIgaz0iOTgwNzkuNyIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJwcm9kdWN0aW9uIiBOYW1lPSJwcm9kdWN0aW9uIj4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibV4zL2QiIGs9IjEiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0idGNmL2QiIGs9IjAuMDI4MzIiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibV4zL2EiIGs9IjAuMDAyNzQwMDciLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iYmNmL2QiIGs9IjAuMDI4MzIiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibW1jZi9kIiBrPSIyODMyMCIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJtY2YvZCIgaz0iMjguMzIiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ic3RiL2QiIGs9IjAuMTU5Ii8+DQogICAgICAgIDwvVW5pdEdyb3VwPg0KICAgICAgICA8VW5pdEdyb3VwIFR5cGU9InByb2RnYXMiIE5hbWU9InByb2RnYXMiPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJtXjMvZCIgaz0iMSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSIxMF40Km1eMy9kIiBrPSIxMDAwMCIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJ0Y2YvZCIgaz0iMC4wMjgzMiIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJtXjMvYSIgaz0iMC4wMDI3NDAwNyIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJiY2YvZCIgaz0iMC4wMjgzMiIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJtbWNmL2QiIGs9IjI4MzIwIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9Im1jZi9kIiBrPSIyOC4zMiIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJzdGIvZCIgaz0iMC4xNTkiLz4NCiAgICAgICAgPC9Vbml0R3JvdXA+DQogICAgICAgIDxVbml0R3JvdXAgVHlwZT0icHJvZG9pbCIgTmFtZT0icHJvZG9pbCI+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9Im1eMy9kIiBrPSIxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9InRjZi9kIiBrPSIwLjAyODMyIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9Im1eMy9hIiBrPSIwLjAwMjc0MDA3Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImJjZi9kIiBrPSIwLjAyODMyIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9Im1tY2YvZCIgaz0iMjgzMjAiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibWNmL2QiIGs9IjI4LjMyIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9InN0Yi9kIiBrPSIwLjE1OSIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJwcm9kd2F0ZXIiIE5hbWU9InByb2R3YXRlciI+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9Im1eMy9kIiBrPSIxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9InRjZi9kIiBrPSIwLjAyODMyIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9Im1eMy9hIiBrPSIwLjAwMjc0MDA3Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImJjZi9kIiBrPSIwLjAyODMyIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9Im1tY2YvZCIgaz0iMjgzMjAiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibWNmL2QiIGs9IjI4LjMyIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9InN0Yi9kIiBrPSIwLjE1OSIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJyYWRpb2FjdGl2aXR5IiBOYW1lPSJyYWRpb2FjdGl2aXR5Ij4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iZ0FQSSIgaz0iMSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJBUEkiIGs9IjEiLz4NCiAgICAgICAgPC9Vbml0R3JvdXA+DQogICAgICAgIDxVbml0R3JvdXAgVHlwZT0ic2xvd25lc3MiIE5hbWU9InNsb3duZXNzIj4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0idXMvbSIgaz0iMSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJ1cy9mdCIgaz0iMy4yODA4NCIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJzcXVhcmUiIE5hbWU9InNxdWFyZSI+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9Im1eMiIgaz0iMSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJrbV4yIiBrPSIxZSswNiIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJpbl4yIiBrPSIwLjAwMDY0NTIiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iY21eMiIgaz0iMC4wMDAxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImFjcmUiIGs9IjQwNDciLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibWlsZV4yIiBrPSIyLjU4ODg4ZSswNiIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJmdF4yIiBrPSIwLjA5MyIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJoYSIgaz0iMTAwMDAiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ieWReMiIgaz0iMC44MzYxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9InJhZDIiIGs9IjAuMDM5NTM2OSIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJzdHJlbmd0aCIgTmFtZT0ic3RyZW5ndGgiPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJOIiBrPSIxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImxiZiIgaz0iNC40NDQ0NCIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJrZ2YiIGs9IjkuODEiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iZHluIiBrPSIxZS0wNSIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJ0ZW1wZXJhdHVyZSIgTmFtZT0idGVtcGVyYXR1cmUiPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJkZWciIGs9IjEiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iSyIgaz0iMSIgYj0iMjczLjE1Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9IkYiIGs9IjEuOCIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSLihIMiIGs9IjEiLz4NCiAgICAgICAgPC9Vbml0R3JvdXA+DQogICAgICAgIDxVbml0R3JvdXAgVHlwZT0idGhlbWFsIHBvd2VyIiBOYW1lPSJ0aGVtYWwgcG93ZXIiPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJKIiBrPSIxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImNhbCIgaz0iNC4xODY4Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImtnZi5tIiBrPSI5LjgwNjY1Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9IkJ0dSIgaz0iMTA1NS4wNiIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJrVy5oIiBrPSIzLjZlKzA2Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImZ0LmxiZiIgaz0iMS4zNTU4MiIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJocC5oKFVTKSIgaz0iMi42NDc3OWUrMDYiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iSHAuaChVSykiIGs9IjIuNjg0NTJlKzA2Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImtnLm0iIGs9IjkuODAwMDgiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ia2NhbCIgaz0iNDE4NS44NSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJCVFUiIGs9IjEwNTQuODUiLz4NCiAgICAgICAgPC9Vbml0R3JvdXA+DQogICAgICAgIDxVbml0R3JvdXAgVHlwZT0idGltZSIgTmFtZT0idGltZSI+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9InVzIiBrPSIxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9Im1zIiBrPSIxMDAwIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9InMiIGs9IjFlKzA2Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9Im1pbiIgaz0iNmUrMDciLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iaHIiIGs9IjMuNmUrMDkiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iRGF5IiBrPSI4LjY0ZSsxMCIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJ2ZWxvY2l0eSIgTmFtZT0idmVsb2NpdHkiPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJtL3MiIGs9IjEiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibWlsZS9oIiBrPSIwLjQ0NzA0Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImZ0L3MiIGs9IjAuMzA0OCIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJ2aXNjb3NpdHkiIE5hbWU9InZpc2Nvc2l0eSI+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9IlBhLnMiIGs9IjEiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibVBhLnMiIGs9IjAuMDAxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9IlAiIGs9IjAuMSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJjUCIgaz0iMC4wMDEiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iYmYucy9mdF4yIiBrPSI0Ny44ODAzIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImtnZi5zL21eMyIgaz0iOS44MDY2NSIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJ2aXNjb3NpdHkgYWN0IiBOYW1lPSJ2aXNjb3NpdHkgYWN0Ij4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibV4yL3MiIGs9IjEiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iY21eMi9zIiBrPSIwLjAwMDEiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iZnReMi9zIiBrPSIwLjA5MjkwMyIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJTdCIgaz0iMC4wMDAxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImNTdCIgaz0iMWUtMDYiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibW1eMi9zIiBrPSIxZS0wNiIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJ2b2x0YWdlIiBOYW1lPSJ2b2x0YWdlIj4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibXYiIGs9IjEiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0idiIgaz0iMTAwMCIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJ2b2x1bWUiIE5hbWU9InZvbHVtZSI+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9Im1eMyIgaz0iMSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJtbCIgaz0iMWUtMDYiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iTCIgaz0iMC4wMDEiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iaW5eMyIgaz0iMS42MzllLTA1Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImNtXjMiIGs9IjFlLTA2Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9InB0IiBrPSIwLjAwMDQ3MyIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJnYWwoVVMpIiBrPSIwLjAwMzc4NSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJiYmwiIGs9IjAuMTU5Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImJjZiIgaz0iMi44MzE3ZSswNiIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJ0Y2YiIGs9IjIuODMxN2UrMTAiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibW1jZiIgaz0iMjgzMTciLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibWNmIiBrPSIyOC4zMTciLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iZnReMyIgaz0iMC4wMjgzIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImdhbChVSykiIGs9IjAuMDA0NTQ2Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImdpIiBrPSIwLjAwMDExOCIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJxdCIgaz0iMC4wMDA5NDYiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iY2MiIGs9IjFlLTA2Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImFjcmUuZnQiIGs9IjEyMzQiLz4NCiAgICAgICAgPC9Vbml0R3JvdXA+DQogICAgICAgIDxVbml0R3JvdXAgVHlwZT0id2VpZ2h0IiBOYW1lPSJ3ZWlnaHQiPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJrZyIgaz0iMSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJ0b24iIGs9IjEwMDAiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibHRvbiIgaz0iMTAxNiIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJsYiIgaz0iMC40NTQiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ib3oiIGs9IjAuMDI4MzUiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ic3RvbiIgaz0iOTA3Ii8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImciIGs9IjAuMDAxIi8+DQogICAgICAgIDwvVW5pdEdyb3VwPg0KDQogICAgICAgIDxVbml0R3JvdXAgVHlwZT0id3MiIE5hbWU9IuebkOW6piI+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9Im1nL0wiIGs9IjEiLz4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0izrxnL21MIiBrPSIxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9ImcvTCIgaz0iMTAwMCIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJrZy9tXjMiIGs9IjAuMDAxIi8+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9InBwbSIgaz0iMSIvPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJLcHBtIiBrPSIxMDAwIi8+DQogICAgICAgIDwvVW5pdEdyb3VwPg0KDQogICAgICAgIDxVbml0R3JvdXAgVHlwZT0iVG9EbzEiIE5hbWU9IlRvRG8xIj4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iMS9tXjMvZCIgaz0iMSIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJUb0RvMiIgTmFtZT0iVG9EbzIiPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSLCsCIgaz0iMSIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJUb0RvMyIgTmFtZT0iVG9EbzMiPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJtXjMvTVBhIiBrPSIxIi8+DQogICAgICAgIDwvVW5pdEdyb3VwPg0KICAgICAgICA8VW5pdEdyb3VwIFR5cGU9IlRvRG80IiBOYW1lPSJUb0RvNCI+DQogICAgICAgICAgICA8VW5pdCBSZW1hcms9IiAiIFVuaXQ9Im1ELyhtUGEucykiIGs9IjEiLz4NCiAgICAgICAgPC9Vbml0R3JvdXA+DQogICAgICAgIDxVbml0R3JvdXAgVHlwZT0iVG9EbzUiIE5hbWU9IlRvRG81Ij4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0iTVBhL20iIGs9IjEiLz4NCiAgICAgICAgPC9Vbml0R3JvdXA+DQogICAgICAgIDxVbml0R3JvdXAgVHlwZT0iVG9EbzYiIE5hbWU9IlRvRG82Ij4NCiAgICAgICAgICAgIDxVbml0IFJlbWFyaz0iICIgVW5pdD0ibUQubSIgaz0iMSIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCiAgICAgICAgPFVuaXRHcm91cCBUeXBlPSJUb0RvNyIgTmFtZT0iVG9EbzciPg0KICAgICAgICAgICAgPFVuaXQgUmVtYXJrPSIgIiBVbml0PSJnL21vbCIgaz0iMSIvPg0KICAgICAgICA8L1VuaXRHcm91cD4NCg0KDQogICAgPC9UeXBlT2Y+DQo8L1Jvb3Q+DQo= \ No newline at end of file diff --git a/Bin/Config/Common/UrrsStruct.dat b/Bin/Config/Common/UrrsStruct_cn.dat similarity index 100% rename from Bin/Config/Common/UrrsStruct.dat rename to Bin/Config/Common/UrrsStruct_cn.dat diff --git a/Bin/Config/Common/UrrsStruct_en.dat b/Bin/Config/Common/UrrsStruct_en.dat new file mode 100644 index 0000000..93626d4 --- /dev/null +++ b/Bin/Config/Common/UrrsStruct_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjwhLS0g57yW6L6R5L2/55wzySoIFhNTFNweSB2MjAwNiBVIChodHRwOi8vd3d3LmFsdG92YS5jb20pIOeUsSBhbnkgKGFueSkgLS0+DQo8IS0tIOWxnuaAp+WAvOWtl+auteW5tumdnuW/hemhu++8jOWPr+S7peWPquWIl+WHuuadpeWPluWAvOS4jeWQjOS6jum7mOiupOWAvOeahOWxnuaApy0tPg0KDQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCjwhLS0gTm9kZSDnuqfliKsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBOYW1l77yaICDmlbDmja7ooaggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEFsaWFz77yaIOaVsOaNruihqOS4reaWh+WQjSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIFR5cGU6ICAg5a+55bqU55qE5a+56LGh57G75YirICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQogIA0KPCEtLSBGaWVsZEluZm8g57qn5YirICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEZpZWxkTmFtZe+8miAg5a2X5q615ZCN56ewICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEFsaWFz77ya5a2X5q615Lit5paH5ZCNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgYktlee+8muaYr+WQpuS4u+mUriAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgZURhdGFUeXBl77ya5a2X5q6157G75Z6L77yIMO+8muWtl+espuS4su+8iOaWh+acrO+8iSAx77ya5pW05b2i77yI5ZCr5p6a5Li+77yJICAy77yaRmxvYXTmlbDlgLwgIDPvvJrlm77lg48gIDTvvJrkuozov5vliLbvvIkgICAgICAtLT4NCjwhLS0gICAgc1VuaXTvvJrljZXkvY0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIG1heO+8muacgOWkp++8jOavlOi+g+eyl+eahOS4gOe6pyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBtaW7vvJrmnIDlsI/vvIzmr5TovoPnspfnmoTkuIDnuqcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgRGlnaXQ6IOWwj+aVsOS9jSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8Um9vdD4NCiAgPFR5cGVPZj4NCg0KICAgIDxOb2RlIE5hbWU9IlVfVVNFUl9JTkZPIiBBbGlhcz0ideeUqOaIt+S/oeaBr+ihqCIgPg0KICAgICAgPEZpZWxkSW5mbyBGaWVsZE5hbWU9IklEIiBBbGlhcz0i55So5oi3SUQiIGJLZXk9IjEiIGVEYXRhVHlwZT0iMCIvPg0KICAgICAgPEZpZWxkSW5mbyBGaWVsZE5hbWU9Ik5BTUUiIEFsaWFzPSLnlKjmiLflkI3np7AiLz4NCiAgICAgIDxGaWVsZEluZm8gRmllbGROYW1lPSJQT1NJVElPTiIgQWxpYXM9IuiBjOS9jSIvPg0KICAgICAgPEZpZWxkSW5mbyBGaWVsZE5hbWU9IkRFUEFSVCIgQWxpYXM9IumDqOmXqCIgZURhdGFUeXBlPSIwIi8+DQogICAgICA8RmllbGRJbmZvIEZpZWxkTmFtZT0iVEVMIiBBbGlhcz0i55S16K+dIiBlRGF0YVR5cGU9IjAiLz4NCiAgICAgIDxGaWVsZEluZm8gRmllbGROYW1lPSJNT0JJTEUiIEFsaWFzPSLmiYvmnLoiIGVEYXRhVHlwZT0iMCIvPg0KICAgICAgPEZpZWxkSW5mbyBGaWVsZE5hbWU9IlJUWCIgQWxpYXM9IuiFvuiur+mAmiIvPg0KICAgICAgPEZpZWxkSW5mbyBGaWVsZE5hbWU9IkVNQUlMIiBBbGlhcz0i6YKu566xIi8+DQogICAgICA8RmllbGRJbmZvIEZpZWxkTmFtZT0iUkVNQVJLIiBBbGlhcz0i5aSH5rOoIiAvPg0KICAgIDwvTm9kZT4NCg0KICAgIDxOb2RlIE5hbWU9IlVfR1JPVVBfSU5GTyIgQWxpYXM9InXnlKjmiLfnu4Tkv6Hmga/ooagiID4NCiAgICAgIDxGaWVsZEluZm8gRmllbGROYW1lPSJJRCIgQWxpYXM9IueUqOaIt+e7hElEIiBiS2V5PSIxIi8+DQogICAgICA8RmllbGRJbmZvIEZpZWxkTmFtZT0iTkFNRSIgQWxpYXM9IueUqOaIt+e7hOWQjeensCIvPg0KICAgICAgPEZpZWxkSW5mbyBGaWVsZE5hbWU9IlJFTUFSSyIgQWxpYXM9IuWkh+azqCIvPg0KICAgIDwvTm9kZT4NCg0KICAgIDxOb2RlIE5hbWU9IlVfUk9MRV9JTkZPIiBBbGlhcz0ideinkuiJsuS/oeaBr+ihqCI+DQogICAgICA8RmllbGRJbmZvIEZpZWxkTmFtZT0iSUQiIEFsaWFzPSLop5LoibJJRCIgYktleT0iMSIvPg0KICAgICAgPEZpZWxkSW5mbyBGaWVsZE5hbWU9Ik5BTUUiIEFsaWFzPSLop5LoibLlkI3np7AiLz4NCiAgICAgIDxGaWVsZEluZm8gRmllbGROYW1lPSJERVNDIiBBbGlhcz0i5o+P6L+wIi8+DQogICAgICA8RmllbGRJbmZvIEZpZWxkTmFtZT0iUkVNQVJLIiBBbGlhcz0i5aSH5rOoIi8+DQogICAgPC9Ob2RlPg0KICAgDQogICAgPE5vZGUgTmFtZT0iVV9SSUdIVF9JTkZPIiBBbGlhcz0ideadg+mZkOS/oeaBr+ihqCIgPg0KICAgICAgPEZpZWxkSW5mbyBGaWVsZE5hbWU9IklEIiBBbGlhcz0i5p2D6ZmQSUQiIGJLZXk9IjEiLz4NCiAgICAgIDxGaWVsZEluZm8gRmllbGROYW1lPSJOQU1FIiBBbGlhcz0i5p2D6ZmQ5ZCN56ewIi8+DQogICAgICA8RmllbGRJbmZvIEZpZWxkTmFtZT0iRlVOX0lEIiBBbGlhcz0i5a+55bqU5Yqf6IO9SUQiLz4NCiAgICAgIDxGaWVsZEluZm8gRmllbGROYW1lPSJGVU5fREVTQyIgQWxpYXM9IuWvueW6lOWKn+iDveaPj+i/sCIvPg0KICAgICAgPEZpZWxkSW5mbyBGaWVsZE5hbWU9Ik1PRFVMRSIgQWxpYXM9IuWvueW6lOWKn+iDveaooeWdlyIvPg0KICAgICAgPEZpZWxkSW5mbyBGaWVsZE5hbWU9IlJFTUFSSyIgQWxpYXM9IuWkh+azqCIgLz4NCiAgICA8L05vZGU+DQoNCiAgICA8Tm9kZSBOYW1lPSJVX1VTRVJfR1JPVVBfSU5GTyIgQWxpYXM9InXnlKjmiLfkuI7nlKjmiLfnu4TlhbPns7vooagiID4NCiAgICAgIDxGaWVsZEluZm8gRmllbGROYW1lPSJVU0VSX0lEIiBBbGlhcz0i55So5oi3SUQiIGJLZXk9IjEiLz4NCiAgICAgIDxGaWVsZEluZm8gRmllbGROYW1lPSJHUk9VUF9JRCIgQWxpYXM9IueUqOaIt+e7hElEIiBiS2V5PSIxIi8+DQogICAgICA8RmllbGRJbmZvIEZpZWxkTmFtZT0iUkVNQVJLIiBBbGlhcz0i5aSH5rOoIi8+DQogICAgPC9Ob2RlPg0KDQogICAgPE5vZGUgTmFtZT0iVV9VU0VSX1JPTEVfSU5GTyIgQWxpYXM9InXnlKjmiLfop5LoibLooagiID4NCiAgICAgIDxGaWVsZEluZm8gRmllbGROYW1lPSJVU0VSX0lEIiBBbGlhcz0i55So5oi3SUQiIGJLZXk9IjEiLz4NCiAgICAgIDxGaWVsZEluZm8gRmllbGROYW1lPSJST0xFX0lEIiBBbGlhcz0i6KeS6ImySUQiIGJLZXk9IjEiLz4NCiAgICAgIDxGaWVsZEluZm8gRmllbGROYW1lPSJSRU1BUksiIEFsaWFzPSLlpIfms6giLz4NCiAgICA8L05vZGU+DQoNCiAgICA8Tm9kZSBOYW1lPSJVX0dST1VQX1JPTEVfSU5GTyIgQWxpYXM9InXnlKjmiLfnu4Top5LoibLooagiID4NCiAgICAgIDxGaWVsZEluZm8gRmllbGROYW1lPSJHUk9VUF9JRCIgQWxpYXM9IueUqOaIt+e7hElEIiBiS2V5PSIxIi8+DQogICAgICA8RmllbGRJbmZvIEZpZWxkTmFtZT0iUk9MRV9JRCIgQWxpYXM9IuinkuiJsklEIiBiS2V5PSIxIi8+DQogICAgICA8RmllbGRJbmZvIEZpZWxkTmFtZT0iUkVNQVJLIiBBbGlhcz0i5aSH5rOoIi8+DQogICAgPC9Ob2RlPg0KDQogICAgPE5vZGUgTmFtZT0iVV9ST0xFX1JJR0hUX0lORk8iIEFsaWFzPSJ16KeS6Imy5p2D6ZmQ6KGoIiA+DQogICAgICA8RmllbGRJbmZvIEZpZWxkTmFtZT0iUk9MRV9JRCIgQWxpYXM9IuinkuiJsklEIiBiS2V5PSIxIi8+DQogICAgICA8RmllbGRJbmZvIEZpZWxkTmFtZT0iUklHSFRfSUQiIEFsaWFzPSLmnYPpmZBJRCIgYktleT0iMSIvPg0KICAgICAgPEZpZWxkSW5mbyBGaWVsZE5hbWU9IlJFTUFSSyIgQWxpYXM9IuWkh+azqCIvPg0KICAgIDwvTm9kZT4NCg0KICA8L1R5cGVPZj4NCjwvUm9vdD4NCg== \ No newline at end of file diff --git a/Bin/Config/Common/WTAI_Attributes_en.dat b/Bin/Config/Common/WTAI_Attributes_en.dat index 4b5a6b5..3276893 100644 --- a/Bin/Config/Common/WTAI_Attributes_en.dat +++ b/Bin/Config/Common/WTAI_Attributes_en.dat @@ -1 +1 @@ -77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx6aEF0dHJpYnV0ZXM+DQwzyoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWvueixoSIgTmFtZT0iWnhPYmpCYXNlIiBPcmRlcj0iMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlr7nosaHlkI3np7AiIE5hbWU9Ilp4T2JqQmFzZS5OYW1lIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakJhc2UuY3BwKDU5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuWtkOWvueixoSIgTmFtZT0iWnhPYmpCYXNlLlNob3dTdWJPYmpzIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakJhc2UuY3BwKDU5OCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJBeGlzMSIgT3JkZXI9IjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ewIiBOYW1lPSJBeGlzLk5hbWUiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQxOCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWNleS9jSIgTmFtZT0iQXhpcy5Vbml0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDIzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLojIPlm7QiIE5hbWU9IkF4aXMyIiBPcmRlcj0iMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlsI8iIE5hbWU9IlNjYWxlLk1pbiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDMxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pyA5aSnIiBOYW1lPSJTY2FsZS5NYXgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQzMikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i572R5qC8IiBOYW1lPSJBeGlzMyIgT3JkZXI9IjQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65Li75Yi75bqmIiBOYW1lPSJBeGlzLnNob3dCaWdTY2FsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDM5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S657uG5YiG5Yi75bqmIiBOYW1lPSJBeGlzLnNob3dTbWFsbFNjYWxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuLvliLvluqYiIE5hbWU9IkF4aXMuTWFpbkludGVydmFsIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0MzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnu4bliIbliLvluqYiIE5hbWU9IkF4aXMuU3ViSW50ZXJ2YWwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQzNCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pi+56S65qih5byPIiBOYW1lPSJBeGlzNCIgT3JkZXI9IjUiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Yi75bqm5pi+5LqO5aSW5L6nIiBOYW1lPSJBeGlzLnNjYWxlT3V0d2FyZCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LmY5bmC5pi+56S65Yi75bqmIiBOYW1lPSJBeGlzLnNob3dUaWNrQXNFeHAiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWwj+aVsOS9jeaVsCIgTmFtZT0iQXhpcy5EZWNpbWFsTnVtYmVyIiBFZGl0b3I9IkludFNwaW4iIE9yZGVyPSIzIiBNaW49IjAiIE1heD0iMTAiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0MikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJBeGlzNSIgT3JkZXI9IjYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ew5a2X5L2TIiBOYW1lPSJBeGlzLk5hbWVGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NDQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLliLvluqblrZfkvZMiIE5hbWU9IkF4aXMuTnVtYmVyRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQ1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5bmC5a2X5L2TIiBOYW1lPSJBeGlzLkluZGV4Rm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDQ4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6aKc6ImyIiBOYW1lPSJBeGlzLkNvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDI2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLln7rnoYAiIE5hbWU9IlBsb3QxIiBPcmRlcj0iNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrmoIfpopgiIE5hbWU9IlBsb3QuU2hvd1RpdGxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2ODkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrlm77kvosiIE5hbWU9IlBsb3QuU2hvd0xlZ2VuZCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjg3KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLnvZHmoLwiIE5hbWU9IlBsb3QyIiBPcmRlcj0iOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrkuLvliLvluqZYIiBOYW1lPSJQbG90LnNob3dTY2FsZUJpZ1giIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuS4u+WIu+W6plkiIE5hbWU9IlBsb3Quc2hvd1NjYWxlQmlnWSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjkzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65qyh5Yi75bqmWCIgTmFtZT0iUGxvdC5zaG93U2NhbGVTbWFsbFgiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjMiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuasoeWIu+W6plkiIE5hbWU9IlBsb3Quc2hvd1NjYWxlU21hbGxZIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI0IiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2OTYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWhq+WFhSIgTmFtZT0iUGxvdDMiIE9yZGVyPSI5Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua4kOWPmOiJsjEiIE5hbWU9IlBsb3QuQktDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDY4MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua4kOWPmOiJsjIiIE5hbWU9IlBsb3QuQktDb2xvckV4IiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNjgzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBsb3Q0IiBPcmRlcj0iMTAiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG6aKc6ImyIiBOYW1lPSJQbG90LkZyYW1lQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2ODUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iUGxvdDUiIE9yZGVyPSIxMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnot50iIE5hbWU9IlBsb3QuTWFyZ2luIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg2OTgpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iUGxvdDYiIE9yZGVyPSIxMiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjkvY3nva4iIE5hbWU9IlBsb3QuVGl0bGVQb3MiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJaeE9iajEiIE9yZGVyPSIxMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmm7Lnur/lj6/op4EiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkN1cnZlVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnur/lj6/op4EiIE5hbWU9Ilp4T2JqQ3VydmVGbG93LkxpbmVWaXNpYmxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoODcwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo5q615Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5TZWdtZW50VmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDg3MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJaeE9iajIiIE9yZGVyPSIxNCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnlLvnrJQiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOe6v+minOiJsiIgTmFtZT0iWnhPYmpDdXJ2ZUJhc2UuY2xyRmxvd0xpbmUiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoODcyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo5q616aKc6ImyIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5jbHJGbG93U2VnbWVudCIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg4NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSI0IiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieS4reeCueaooeW8jyIgTmFtZT0iWnhPYmpDdXJ2ZUJhc2UuRG90U2VsIiBFZGl0b3I9IkRvdCIgT3JkZXI9IjUiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMjk2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9Ilp4T2JqMyIgT3JkZXI9IjE1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieaLqee0ouW8lSIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuQ3VyU2VnUHRJbmRleCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg4NzUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iWnhPYmo0IiBPcmRlcj0iMTYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i56e75Yqo5qih5byPIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5vYmpDdXJ2ZUZsb3dNb3ZlTW9kZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgzMDApIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iTGVnZW5kMSIgT3JkZXI9IjE3Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuui+ueahhiIgTmFtZT0iTGQuU2hvd0ZyYW1lIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzNzkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnmoYbnlLvnrJQiIE5hbWU9IkxkLkZyYW1lUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5YiG57uE5qCH6K+GIiBOYW1lPSJMZWdlbmQyIiBPcmRlcj0iMTgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6ImyIiBOYW1lPSJMZEdyb3VwLkJhY2tncmRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXoibLpgI/mmI7luqYiIE5hbWU9IkxkR3JvdXAuQmFja2dyZENsckFscGhhIiBFZGl0b3I9IlNsaWRlciIgTWluPSIwIiBNYXg9IjEwMCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIhue7hOWQjeensOWtl+S9kyIgTmFtZT0iTGRHcm91cC5UZXh0Rm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YiG57uE5ZCN56ew6aKc6ImyIiBOYW1lPSJMZEdyb3VwLlRleHRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWbvuS+i+mhuSIgTmFtZT0iTGVnZW5kMyIgT3JkZXI9IjE5Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheminOiJsiIgTmFtZT0iTGRJdGVtLkJhY2tncmRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXoibLpgI/mmI7luqYiIE5hbWU9IkxkSXRlbS5CYWNrZ3JkQ2xyQWxwaGEiIEVkaXRvcj0iU2xpZGVyIiBNaW49IjAiIE1heD0iMTAwIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Zu+5L6L5ZCN56ew5a2X5L2TIiBOYW1lPSJMZEl0ZW0uVGV4dEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuS+i+WQjeensOminOiJsiIgTmFtZT0iTGRJdGVtLlRleHRDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iTGVnZW5kNCIgT3JkZXI9IjIwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWGhee8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbklubmVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklue8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbk91dGVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pW05L2T5L2N572uIiBOYW1lPSJMZWdlbmQ1IiBPcmRlcj0iMjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5L2N572uIiBOYW1lPSJMZC5MZFBvcyIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzY2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9IkxlZ2VuZDYiIE9yZGVyPSIyMiIgRXhwYW5kPSIwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuekuuWuveW6piIgTmFtZT0iTGQuTGVmdFdpZHRoIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5qCH6aKY6auY5bqmIiBOYW1lPSJMZC5Hcm91cEhlaWdodCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5NSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJUaXRsZTEiIE9yZGVyPSIyMyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlhoXlrrkiIE5hbWU9IlRpdGxlLlRpdGxlVGV4dCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJUaXRsZS5jcHAoOTcpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iVGl0bGUyIiBPcmRlcj0iMjQiPg0KICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlrZfkvZMiIE5hbWU9IlRpdGxlLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCg5OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuagh+mimOminOiJsiIgTmFtZT0iVGl0bGUuVGV4dENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJUaXRsZS5jcHAoOTgpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iUmVjdDEiIE9yZGVyPSIyNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrovrnmoYYiIE5hbWU9IlJlY3QuU2hvd0JveCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDkpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWhq+WFhSIgTmFtZT0iUmVjdDIiIE9yZGVyPSIyNiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLog4zmma/popzoibIiIE5hbWU9IlJlY3QuQmFja2dyb3VuZENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLog4zmma/popzoibLpgI/mmI7luqYiIE5hbWU9IlJlY3QuQmFja2dyb3VuZEFscGhhIiBFZGl0b3I9IlNsaWRlciIgTWluPSIwIiBNYXg9IjEwMCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqUmVjdC5jcHAoMzA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlJlY3QzIiBPcmRlcj0iMjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJSZWN0LkJvdW5kUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUmVjdC5jcHAoMzEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IkJhbmQxIiBPcmRlcj0iMjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5bem6L6555WMIiBOYW1lPSJCYW5kLkwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjIzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Y+z6L6555WMIiBOYW1lPSJCYW5kLlIiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LiK6L6555WMIiBOYW1lPSJCYW5kLlQiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LiL6L6555WMIiBOYW1lPSJCYW5kLkIiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqQmFuZC5jcHAoMjI5KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBvaW50IiBPcmRlcj0iMjkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJQb2ludC5Eb3QiIEVkaXRvcj0iRG90IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpQb2ludC5jcHAoMTU3KSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLln7rnoYAiIE5hbWU9IkxpbmUxIiBPcmRlcj0iMzAiPg0KICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrngrkiIE5hbWU9IkxpbmUuU2hvd0RvdFBvaW50IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJMaW5lMiIgT3JkZXI9IjMxIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IueUu+eslCIgTmFtZT0iTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpMaW5lLmNwcCgyODIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IkxpbmUuRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjg0KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9IkxpbmUzIiBPcmRlcj0iMzIiPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iui1t+eCuSIgTmFtZT0iU3RhcnRQb3MiIE9yZGVyPSIxIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IlN0YXJ0UG9zLlgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjc4KSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IlN0YXJ0UG9zLlkiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjc5KSIvPg0KICAgICAgICA8L1B0eUdyb3VwPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iue7iOeCuSIgTmFtZT0iRW5kUG9zIiBPcmRlcj0iMzMiIEV4cGFuZD0iMCI+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWCIgTmFtZT0iRW5kUG9zLlgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjgwKSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IkVuZFBvcy5ZIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MSkiLz4NCiAgICAgICAgPC9QdHlHcm91cD4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aGr5YWFIiBOYW1lPSJQb2x5Z29uMSIgT3JkZXI9IjM0Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYr+WQpuWhq+WFhSIgTmFtZT0iUG9seWdvbi5Jc0ZpbGwiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6aKc6ImyIiBOYW1lPSJQb2x5Z29uLkZpbGxDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlBvbHlnb24yIiBPcmRlcj0iMzUiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L6555WM55S756yUIiBOYW1lPSJQb2x5Z29uLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9ialBvbHlnb24uY3BwKDI4MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5a+56LGhIiBOYW1lPSJUZXh0MSIgT3JkZXI9IjM2IiA+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmlofmnKwiIE5hbWU9IlRleHQuVGV4dCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMDMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaYvuekuuaooeW8jyIgTmFtZT0iVGV4dDIiIE9yZGVyPSIzNyIgPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Ieq5Yqo6LCD5pW0IiBOYW1lPSJUZXh0LkF1dG9BZGp1c3QiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56b2Q5qih5byPIiBOYW1lPSJUZXh0LkFsaWduRmxhZyIgRWRpdG9yPSJGbGFncyIgT3JkZXI9IjYiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IlRleHQzIiBPcmRlcj0iMzgiID4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWtl+S9kyIgTmFtZT0iVGV4dC5Gb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIyIiBQYXRoPSJaeE9ialRleHQuY3BwKDIwNCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWtl+S9k+minOiJsiIgTmFtZT0iVGV4dC5Db2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJUZXh0LkJvcmRlclBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSI5IiBQYXRoPSJaeFN0cmluZ0l0ZW0uY3BwKDEyMSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5YW25a6DIiBOYW1lPSJUZXh0NCIgT3JkZXI9IjM5IiA+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhYHorrjnvJbovpEiIE5hbWU9IlRleHQuTWFudWxFZGl0IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI1IiBQYXRoPSJaeE9ialRleHQuY3BwKDIwNykiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Zu+54mHIiBOYW1lPSJJbWFnZSIgT3JkZXI9IjQwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuadpea6kCIgTmFtZT0iSW1hZ2UuSW1nUGF0aCIgRWRpdG9yPSJQaWN0dXJlIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpJbWFnZS5jcHAoMTEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KDQogICAgPFB0eUdyb3VwIExhYmVsPSLoibLooagiIE5hbWU9IkNvbG9yVGFibGUiIE9yZGVyPSI0MSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7AiIE5hbWU9IkNvbG9yVGFibGUuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkNvbG9yVGFibGUuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlpKciIE5hbWU9IkNvbG9yVGFibGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkNvbG9yVGFibGUuY3BwKDI5MCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWwjyIgTmFtZT0iQ29sb3JUYWJsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQ29sb3JUYWJsZS5jcHAoMjkxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57G75Z6LIiBOYW1lPSJDb2xvclRhYmxlLkNvbG9yVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iNSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyOTMpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KDQoNCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlciIgT3JkZXI9IjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlci5WaXNpYmxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJQZW4iIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIyIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQmFyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJhciIgT3JkZXI9IjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iV2lkdGgiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQmFyLldpZHRoIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NjYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuQmFyLkZpbGwiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ2NykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuRmlsbENsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhci5WYWx1ZSIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5WYWx1ZSIgT3JkZXI9IjkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpblZhbHVlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuVmFsdWUuUGluRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDc2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpbkNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3NykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhciIgT3JkZXI9IjEwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5TaG93M0QiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ3OSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpDb21wYXNzIiBPcmRlcj0iNjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJDcFBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDI5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumVvy/lrr0iIE5hbWU9IkNwU2l6ZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDb21wYXNzLmNwcCgzMDcpIi8+DQogICAgPC9QdHlHcm91cD4NCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5pW05L2T5L2N572uIiBOYW1lPSJPYmpDb21wYXNzMiIgT3JkZXI9IjYzIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS9jee9riIgTmFtZT0iQ3BQb3MiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9IlpaeE9iakNvbXBhc3MuY3BwKDI5MykiLz4NCiAgICA8L1B0eUdyb3VwPg0KDQoNCjwvemhBdHRyaWJ1dGVzPg0K \ No newline at end of file +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx6aEF0dHJpYnV0ZXM+DQwzyogICAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9Ilp4T2JqQmFzZSIgT3JkZXI9IjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56LGh5ZCN56ewIiBOYW1lPSJaeE9iakJhc2UuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCYXNlLmNwcCg2MDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrlrZDlr7nosaEiIE5hbWU9Ilp4T2JqQmFzZS5TaG93U3ViT2JqcyIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpCYXNlLmNwcCg2MDMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWvueixoSIgTmFtZT0iQXhpczEiIE9yZGVyPSIyIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWQjeensCIgTmFtZT0iQXhpcy5OYW1lIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0MzYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkF4aXMuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6IyD5Zu0IiBOYW1lPSJBeGlzMiIgT3JkZXI9IjMiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pyA5bCPIiBOYW1lPSJTY2FsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWkpyIgTmFtZT0iU2NhbGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NTApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iue9keagvCIgTmFtZT0iQXhpczMiIE9yZGVyPSI0Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuS4u+WIu+W6piIgTmFtZT0iQXhpcy5zaG93QmlnU2NhbGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ1NykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuue7huWIhuWIu+W6piIgTmFtZT0iQXhpcy5zaG93U21hbGxTY2FsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDU4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Li75Yi75bqmIiBOYW1lPSJBeGlzLk1haW5JbnRlcnZhbCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDUxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57uG5YiG5Yi75bqmIiBOYW1lPSJBeGlzLlN1YkludGVydmFsIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI0IiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NTIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaYvuekuuaooeW8jyIgTmFtZT0iQXhpczQiIE9yZGVyPSI1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIu+W6puaYvuS6juWkluS+pyIgTmFtZT0iQXhpcy5zY2FsZU91dHdhcmQiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ2MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS5mOW5guaYvuekuuWIu+W6piIgTmFtZT0iQXhpcy5zaG93VGlja0FzRXhwIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkF4aXNCYXNlLmNwcCg0NzIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlsI/mlbDkvY3mlbAiIE5hbWU9IkF4aXMuRGVjaW1hbE51bWJlciIgRWRpdG9yPSJJbnRTcGluIiBPcmRlcj0iMyIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDY0KSIgTWluPSIwIiBNYXg9IjEwIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iQXhpczUiIE9yZGVyPSI2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWQjeensOWtl+S9kyIgTmFtZT0iQXhpcy5OYW1lRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJBeGlzQmFzZS5jcHAoNDY3KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Yi75bqm5a2X5L2TIiBOYW1lPSJBeGlzLk51bWJlckZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ2OCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuW5guWtl+S9kyIgTmFtZT0iQXhpcy5JbmRleEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ3MSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuminOiJsiIgTmFtZT0iQXhpcy5Db2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQXhpc0Jhc2UuY3BwKDQ0NCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJQbG90MSIgT3JkZXI9IjciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iVGl0bGUgdmlzaWJsZSIgTmFtZT0iUGxvdC5TaG93VGl0bGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwOSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IkxlZ2VuZCB2aXNpYmxlIiBOYW1lPSJQbG90LlNob3dMZWdlbmQiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwNikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i572R5qC8IiBOYW1lPSJQbG90MiIgT3JkZXI9IjgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pi+56S65Li75Yi75bqmWCIgTmFtZT0iUGxvdC5zaG93U2NhbGVCaWdYIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrkuLvliLvluqZZIiBOYW1lPSJQbG90LnNob3dTY2FsZUJpZ1kiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcxNSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuasoeWIu+W6plgiIE5hbWU9IlBsb3Quc2hvd1NjYWxlU21hbGxYIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIzIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MTkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrmrKHliLvluqZZIiBOYW1lPSJQbG90LnNob3dTY2FsZVNtYWxsWSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iNCIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzIxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLloavlhYUiIE5hbWU9IlBsb3QzIiBPcmRlcj0iOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmuJDlj5joibIxIiBOYW1lPSJQbG90LkJLQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmuJDlj5joibIyIiBOYW1lPSJQbG90LkJLQ29sb3JFeCIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4UGxvdEJhc2UuY3BwKDcwMSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJQbG90NCIgT3JkZXI9IjEwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui+ueahhuminOiJsiIgTmFtZT0iUGxvdC5GcmFtZUNvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzAyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IlBsb3Q1IiBPcmRlcj0iMTEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L656LedIiBOYW1lPSJQbG90Lk1hcmdpbiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhQbG90QmFzZS5jcHAoNzIzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9IlBsb3Q2IiBPcmRlcj0iMTIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5qCH6aKY5L2N572uIiBOYW1lPSJQbG90LlRpdGxlUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeFBsb3RCYXNlLmNwcCg3MjUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iWnhPYmoxIiBPcmRlcj0iMTMiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5puy57q/5Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5DdXJ2ZVZpc2libGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMjk0KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57q/5Y+v6KeBIiBOYW1lPSJaeE9iakN1cnZlRmxvdy5MaW5lVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDkyMCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOauteWPr+ingSIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuU2VnbWVudFZpc2libGUiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVGbG93LmNwcCg5MjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iWnhPYmoyIiBPcmRlcj0iMTQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmtYHliqjnur/popzoibIiIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLmNsckZsb3dMaW5lIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUZsb3cuY3BwKDkyMikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOauteminOiJsiIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cuY2xyRmxvd1NlZ21lbnQiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoOTIzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJaeE9iakN1cnZlQmFzZS5Eb3QiIEVkaXRvcj0iRG90IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpDdXJ2ZVByZXNzdXJlLmNwcCgyOTUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLpgInkuK3ngrnmqKHlvI8iIE5hbWU9Ilp4T2JqQ3VydmVCYXNlLkRvdFNlbCIgRWRpdG9yPSJEb3QiIE9yZGVyPSI1IiBQYXRoPSJaeE9iakN1cnZlUHJlc3N1cmUuY3BwKDI5NikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5L2N572uIiBOYW1lPSJaeE9iajMiIE9yZGVyPSIxNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLpgInmi6nntKLlvJUiIE5hbWU9Ilp4T2JqQ3VydmVGbG93LkN1clNlZ1B0SW5kZXgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeE9iakN1cnZlRmxvdy5jcHAoOTI1KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlhbblroMiIE5hbWU9Ilp4T2JqNCIgT3JkZXI9IjE2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuenu+WKqOaooeW8jyIgTmFtZT0iWnhPYmpDdXJ2ZUZsb3cub2JqQ3VydmVGbG93TW92ZU1vZGUiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVQcmVzc3VyZS5jcHAoMzAwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IkxlZ2VuZDEiIE9yZGVyPSIxNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrovrnmoYYiIE5hbWU9IkxkLlNob3dGcmFtZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzgwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJMZC5GcmFtZVBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWIhue7hOagh+ivhiIgTmFtZT0iTGVnZW5kMiIgT3JkZXI9IjE4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheiJsiIgTmFtZT0iTGRHcm91cC5CYWNrZ3JkQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6Imy6YCP5piO5bqmIiBOYW1lPSJMZEdyb3VwLkJhY2tncmRDbHJBbHBoYSIgRWRpdG9yPSJTbGlkZXIiIE9yZGVyPSIyIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzODQpIiBNaW49IjAiIE1heD0iMjU1Ii8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLliIbnu4TlkI3np7DlrZfkvZMiIE5hbWU9IkxkR3JvdXAuVGV4dEZvbnQiIEVkaXRvcj0iRm9udCIgT3JkZXI9IjMiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWIhue7hOWQjeensOminOiJsiIgTmFtZT0iTGRHcm91cC5UZXh0Q2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlm77kvovpobkiIE5hbWU9IkxlZ2VuZDMiIE9yZGVyPSIxOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpopzoibIiIE5hbWU9IkxkSXRlbS5CYWNrZ3JkQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzg4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6Imy6YCP5piO5bqmIiBOYW1lPSJMZEl0ZW0uQmFja2dyZENsckFscGhhIiBFZGl0b3I9IlNsaWRlciIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM4OSkiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWbvuS+i+WQjeensOWtl+S9kyIgTmFtZT0iTGRJdGVtLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlm77kvovlkI3np7DpopzoibIiIE5hbWU9IkxkSXRlbS5UZXh0Q2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iNCIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzkxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLovrnnlYwiIE5hbWU9IkxlZ2VuZDQiIE9yZGVyPSIyMCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhoXnvKnov5socHgpIiBOYW1lPSJMZC5NYXJnaW5Jbm5lciIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4U3ViTGVnZW5kRXguY3BwKDM5MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklue8qei/myhweCkiIE5hbWU9IkxkLk1hcmdpbk91dGVyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk0KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLmlbTkvZPkvY3nva4iIE5hbWU9IkxlZ2VuZDUiIE9yZGVyPSIyMSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkvY3nva4iIE5hbWU9IkxkLkxkUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzNjYpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iTGVnZW5kNiIgT3JkZXI9IjIyIiBFeHBhbmQ9IjAiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Zu+56S65a695bqmIiBOYW1lPSJMZC5MZWZ0V2lkdGgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeFN1YkxlZ2VuZEV4LmNwcCgzOTUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjpq5jluqYiIE5hbWU9IkxkLkdyb3VwSGVpZ2h0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhTdWJMZWdlbmRFeC5jcHAoMzk2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9IlRpdGxlMSIgT3JkZXI9IjIzIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuagh+mimOWGheWuuSIgTmFtZT0iVGl0bGUuVGl0bGVUZXh0IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCg5OSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJUaXRsZTIiIE9yZGVyPSIyNCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjlrZfkvZMiIE5hbWU9IlRpdGxlLlRleHRGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIxIiBQYXRoPSJaeFN1YlRpdGxlLmNwcCgxMDEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmoIfpopjpopzoibIiIE5hbWU9IlRpdGxlLlRleHRDb2xvciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjIiIFBhdGg9Ilp4U3ViVGl0bGUuY3BwKDEwMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Z+656GAIiBOYW1lPSJSZWN0MSIgT3JkZXI9IjI1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuui+ueahhiIgTmFtZT0iUmVjdC5TaG93Qm94IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialJlY3QuY3BwKDMxMCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aGr5YWFIiBOYW1lPSJSZWN0MiIgT3JkZXI9IjI2Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuiDjOaZr+minOiJsiIgTmFtZT0iUmVjdC5CYWNrZ3JvdW5kQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialJlY3QuY3BwKDMwOCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuiDjOaZr+minOiJsumAj+aYjuW6piIgTmFtZT0iUmVjdC5CYWNrZ3JvdW5kQWxwaGEiIEVkaXRvcj0iU2xpZGVyIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMDkpIiBNaW49IjAiIE1heD0iMjU1Ii8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUmVjdDMiIE9yZGVyPSIyNyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLnlLvnrJQiIE5hbWU9IlJlY3QuQm91bmRQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpSZWN0LmNwcCgzMTEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjCIgTmFtZT0iQmFuZDEiIE9yZGVyPSIyOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlt6bovrnnlYwiIE5hbWU9IkJhbmQuTCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlj7PovrnnlYwiIE5hbWU9IkJhbmQuUiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuIrovrnnlYwiIE5hbWU9IkJhbmQuVCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMjkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuIvovrnnlYwiIE5hbWU9IkJhbmQuQiIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpCYW5kLmNwcCgyMzApIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUG9pbnQiIE9yZGVyPSIyOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IlBvaW50LkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSIxIiBQYXRoPSJubU9ialBvaW50LmNwcCgxNjIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWfuuehgCIgTmFtZT0iTGluZTEiIE9yZGVyPSIzMCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrngrkiIE5hbWU9IkxpbmUuU2hvd0RvdFBvaW50IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialNlZ0xpbmUuY3BwKDQwNykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJMaW5lMiIgT3JkZXI9IjMxIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IueUu+eslCIgTmFtZT0iTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpTZWdMaW5lLmNwcCg0MDYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLngrnmqKHlvI8iIE5hbWU9IkxpbmUuRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqU2VnTGluZS5jcHAoNDA4KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkvY3nva4iIE5hbWU9IkxpbmUzIiBPcmRlcj0iMzIiPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iui1t+eCuSIgTmFtZT0iU3RhcnRQb3MiIE9yZGVyPSIxIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IlN0YXJ0UG9zLlgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqTGluZS5jcHAoMjc5KSIgZGlnaXRzPSI0Ii8+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWSIgTmFtZT0iU3RhcnRQb3MuWSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpMaW5lLmNwcCgyODApIiBkaWdpdHM9IjQiLz4NCiAgICAgICAgPC9QdHlHcm91cD4NCiAgICAgICAgPFB0eUdyb3VwIExhYmVsPSLnu4jngrkiIE5hbWU9IkVuZFBvcyIgT3JkZXI9IjMzIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlgiIE5hbWU9IkVuZFBvcy5YIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MSkiIGRpZ2l0cz0iNCIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9IkVuZFBvcy5ZIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJaeE9iakxpbmUuY3BwKDI4MikiIGRpZ2l0cz0iNCIvPg0KICAgICAgICA8L1B0eUdyb3VwPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLloavlhYUiIE5hbWU9IlBvbHlnb24xIiBPcmRlcj0iMzQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5piv5ZCm5aGr5YWFIiBOYW1lPSJQb2x5Z29uLklzRmlsbCIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpQb2x5Z29uLmNwcCgyODMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpopzoibIiIE5hbWU9IlBvbHlnb24uRmlsbENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpQb2x5Z29uLmNwcCgyODIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iUG9seWdvbjIiIE9yZGVyPSIzNSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLovrnnlYznlLvnrJQiIE5hbWU9IlBvbHlnb24uUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqUG9seWdvbi5jcHAoMjgxKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlr7nosaEiIE5hbWU9IlRleHQxIiBPcmRlcj0iMzYiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5paH5pysIiBOYW1lPSJUZXh0LlRleHQiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjA5KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLmmL7npLrmqKHlvI8iIE5hbWU9IlRleHQyIiBPcmRlcj0iMzciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Ieq5Yqo6LCD5pW0IiBOYW1lPSJUZXh0LkF1dG9BZGp1c3QiIEVkaXRvcj0iQm9vbCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjEyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+56b2Q5qih5byPIiBOYW1lPSJUZXh0LkFsaWduRmxhZyIgRWRpdG9yPSJGbGFncyIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqVGV4dC5jcHAoMjE2KSIvPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9IuaWh+acrOWvuem9kCIgTmFtZT0iQWxpZ24iIE9yZGVyPSIzIiBFeHBhbmQ9IjAiPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuawtOW5s+Wvuem9kCIgTmFtZT0iVGV4dC5BbGlnbkhvciIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMTkpIi8+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Z6C55u05a+56b2QIiBOYW1lPSJUZXh0LkFsaWduVmVydCIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMjkpIi8+DQogICAgICAgIDwvUHR5R3JvdXA+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWkluingiIgTmFtZT0iVGV4dDMiIE9yZGVyPSIzOCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlrZfkvZMiIE5hbWU9IlRleHQuRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpUZXh0LmNwcCgyMTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlrZfkvZPpopzoibIiIE5hbWU9IlRleHQuQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9ialRleHQuY3BwKDIxMSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui+ueahhueUu+eslCIgTmFtZT0iVGV4dC5Cb3JkZXJQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iOSIgUGF0aD0iWnhTdHJpbmdJdGVtLmNwcCgxMjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWFtuWugyIgTmFtZT0iVGV4dDQiIE9yZGVyPSIzOSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlhYHorrjnvJbovpEiIE5hbWU9IlRleHQuTWFudWxFZGl0IiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI1IiBQYXRoPSJaeE9ialRleHQuY3BwKDIxMykiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5Zu+54mHIiBOYW1lPSJJbWFnZSIgT3JkZXI9IjQwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iuadpea6kCIgTmFtZT0iSW1hZ2UuSW1nUGF0aCIgRWRpdG9yPSJQaWN0dXJlIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpJbWFnZS5jcHAoMTEwKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLoibLooagiIE5hbWU9IkNvbG9yVGFibGUiIE9yZGVyPSI0MSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7AiIE5hbWU9IkNvbG9yVGFibGUuTmFtZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODcpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLljZXkvY0iIE5hbWU9IkNvbG9yVGFibGUuVW5pdCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyODgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmnIDlpKciIE5hbWU9IkNvbG9yVGFibGUuTWF4IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeFN1YkNvbG9yVGFibGUuY3BwKDI4OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuacgOWwjyIgTmFtZT0iQ29sb3JUYWJsZS5NaW4iIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4U3ViQ29sb3JUYWJsZS5jcHAoMjkwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i57G75Z6LIiBOYW1lPSJDb2xvclRhYmxlLkNvbG9yVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iNSIgUGF0aD0iWnhTdWJDb2xvclRhYmxlLmNwcCgyOTIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ilp4T2JqQ3VydmVCYXIuQm9yZGVyIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlciIgT3JkZXI9IjQyIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5Cb3JkZXIuVmlzaWJsZSIgRWRpdG9yPSJCb29sIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDYzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iUGVuIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJvcmRlci5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDY2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJaeE9iakN1cnZlQmFyLkJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIiIE9yZGVyPSI0MyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJXaWR0aCIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuV2lkdGgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ2OSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5CYXIuRmlsbCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDcwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLkJhci5GaWxsQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMyIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDczKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJaeE9iakN1cnZlQmFyLlZhbHVlIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlIiBPcmRlcj0iNDQiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpblZhbHVlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJaeE9iakN1cnZlQmFyLmNwcCg0NzYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9Ilp4T2JqQ3VydmVCYXIuVmFsdWUuUGluRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDdXJ2ZUJhci5jcHAoNDc5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0iIiBOYW1lPSJaeE9iakN1cnZlQmFyLlZhbHVlLlBpbkNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ4MCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0iWnhPYmpDdXJ2ZUJhciIgTmFtZT0iWnhPYmpDdXJ2ZUJhciIgT3JkZXI9IjQ1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iWnhPYmpDdXJ2ZUJhci5TaG93M0QiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQ3VydmVCYXIuY3BwKDQ4MikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJXbUxpbmUiIE9yZGVyPSI0NiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuLvnlLvnrJQiIE5hbWU9IldtTGluZS5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW5lLmNwcCgyNzgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrKHnlLvnrJQiIE5hbWU9IldtTGluZS5TdWJQZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpXbUxpbmUuY3BwKDQ2NSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpQb2x5Z29uIiBPcmRlcj0iNDciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6L655qGG55S756yUIiBOYW1lPSJPYmpQb2x5Z29uLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE5MikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheiDjOaZryIgTmFtZT0iT2JqUG9seWdvbi5CYWNrZ3JkQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE5MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFhemAj+aYjuW6piIgTmFtZT0iT2JqUG9seWdvbi5CYWNrZ3JkQ29sb3JBbHBoYSIgRWRpdG9yPSJTbGlkZXIiIE9yZGVyPSIzIiBQYXRoPSJubU9ialBvbHlnb24uY3BwKDE5NCkiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6L6555WM5bGe5oCnIiBOYW1lPSJPYmpQb2x5Z29uT3V0bGluZSIgT3JkZXI9IjQ4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOaooeWeiyIgTmFtZT0iT2JqUG9seWdvbk91dGxpbmUuVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpQb2x5Z29uT3V0bGluZS5jcHAoNzIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iuijgue8nea1geWKqOexu+WeiyIgTmFtZT0iT2JqTGluZUZyYWN0dXJlIiBPcmRlcj0iNDkiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo57G75Z6LIiBOYW1lPSJPYmpMaW5lRnJhY3R1cmUuRmxvd01vZGVsIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIyIiBQYXRoPSJubU9iakxpbmVDcmFjay5jcHAoNDAyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5a+85rWB6IO95YqbIiBOYW1lPSJPYmpMaW5lRnJhY3R1cmUuZEZjIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJubU9iakxpbmVDcmFjay5jcHAoNDEzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YKo6IO95q+UIiBOYW1lPSJPYmpMaW5lRnJhY3R1cmUuZFciIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Im5tT2JqTGluZUNyYWNrLmNwcCg0MTQpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaWreWxgua1geWKqOexu+WeiyIgTmFtZT0iT2JqTGluZUZhdWx0IiBPcmRlcj0iNTAiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5rWB5Yqo57G75Z6LIiBOYW1lPSJPYmpMaW5lRmF1bHQuRmxvd01vZGVsIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIyIiBQYXRoPSJubU9iakxpbmVGYXVsdC5jcHAoNDIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLms4TpnLLns7vmlbAiIE5hbWU9Ik9iakxpbmVGYXVsdC5MZWFrYWdlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJubU9iakxpbmVGYXVsdC5jcHAoNTMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjOi3neemuyIgTmFtZT0iQmR5Q3JpY2xlIiBPcmRlcj0iNTEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7IiBOYW1lPSJCZHlDcmljbGUuRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqQmR5Q3JpY2xlLmNwcCgxNTEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsxIiBOYW1lPSJCZHlDcm9zcy5Ib3JEaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpCZHlDcm9zcy5jcHAoMjcwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7MiIgTmFtZT0iQmR5Q3Jvc3MuU2lkZURpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeE9iakJkeUNyb3NzLmNwcCgyNzEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlpLnop5IiIE5hbWU9IkJkeUNyb3NzLlNpZGVBbmdsZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0iWnhPYmpCZHlDcm9zcy5jcHAoMjcyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7IiBOYW1lPSJCZHlMaW5lLkRpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI1IiBQYXRoPSJaeE9iakJkeUxpbmUuY3BwKDE4MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzEiIE5hbWU9IkJkeUxpbmUuT25lRGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjYiIFBhdGg9Ilp4T2JqQmR5VHJpLmNwcCgzMTIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsyIiBOYW1lPSJCZHlMaW5lLlR3b0Rpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI3IiBQYXRoPSJaeE9iakJkeVRyaS5jcHAoMzEzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6Led56a7MSIgTmFtZT0iQmR5TGluZS5Ub3BEaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iOCIgUGF0aD0iWnhPYmpCZHlSZWN0LmNwcCgyNzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprsyIiBOYW1lPSJCZHlMaW5lLkJvdHRvbURpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI5IiBQYXRoPSJaeE9iakJkeVJlY3QuY3BwKDI3NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuzMiIE5hbWU9IkJkeUxpbmUuTGVmdERpc3RhbmNlIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxMCIgUGF0aD0iWnhPYmpCZHlSZWN0LmNwcCgyNzUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLot53nprs0IiBOYW1lPSJCZHlMaW5lLlJpZ2h0RGlzdGFuY2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjExIiBQYXRoPSJaeE9iakJkeVJlY3QuY3BwKDI3NikiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui3neemuyIgTmFtZT0iQmR5TGluZS5TaW5nbGVEaXN0YW5jZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMTIiIFBhdGg9Ilp4T2JqQmR5VHJpLmNwcCgzMTEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjOaWueS9jSIgTmFtZT0iQmR5UGFyYWwiIE9yZGVyPSI1MyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmlrnkvY0iIE5hbWU9IkJkeVBhcmFsLlBvcyIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpCZHlQYXJhbC5jcHAoMjQxKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5pa55L2NIiBOYW1lPSJCZHlMaW5lLlBvcyIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpCZHlMaW5lLmNwcCgxODUpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmlrnkvY0iIE5hbWU9IkJkeVRyaS5Qb3MiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqQmR5VHJpLmNwcCgzMTUpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuauteWPguaVsCIgTmFtZT0iU2VnTGluZSIgT3JkZXI9IjU1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS9jee9rijmsLTlubNtKSIgTmFtZT0iU2VnTGluZS5OcVgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Ilp4T2JqU2VnTGluZS5jcHAoNDEwKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5q616ZW/5bqmIiBOYW1lPSJTZWdMaW5lLk5xTCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpTZWdMaW5lLmNwcCg0MTEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLop5LluqYiIE5hbWU9IlNlZ0xpbmUuTnFBIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJaeE9ialNlZ0xpbmUuY3BwKDQxMikiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5L2N572u5L+h5oGvIiBOYW1lPSJ3bURhdGEiIE9yZGVyPSI1NiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlnZDmoId4IiBOYW1lPSJ3bURhdGEuUG9zWCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqSW5mUG9pbnQuY3BwKDc3NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWdkOagh3kiIE5hbWU9IndtRGF0YS5Qb3NZIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpJbmZQb2ludC5jcHAoNzc2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LqV6Ze06LedIiBOYW1lPSJ3bURhdGEuV2VsbERpcyIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqSW5mUG9pbnQuY3BwKDc4MCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWAvuinkiIgTmFtZT0id21EYXRhLldlbGxTbG9wZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUmVhZG9ubHk9IjEiIFBhdGg9Ilp4T2JqSW5mUG9pbnQuY3BwKDc4MSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5LqV54K5IiBOYW1lPSJ3bVBvaW50IiBPcmRlcj0iNTciPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i6ZW/5bqmIiBOYW1lPSJ3bVBvaW50LldtTGVuIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg2NjkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlgL7op5IiIE5hbWU9IndtUG9pbnQuV21EZXYiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFJlYWRvbmx5PSIxIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDcwNykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuautemVvyIgTmFtZT0id21Qb2ludC5TZWdMZW5WIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg2NzEpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSIiIE5hbWU9IndtUG9pbnQuSW5mRGV2IiBFZGl0b3I9IkVkaXQiIE9yZGVyPSI0IiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpJbmZQb2ludC5jcHAoNzgyKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9IndtUG9pbnQxIiBPcmRlcj0iNTgiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i54K55qih5byPIiBOYW1lPSJ3bVBvaW50LkRvdCIgRWRpdG9yPSJEb3QiIE9yZGVyPSIxIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDY3MykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumAieS4reeUu+eslCIgTmFtZT0id21Qb2ludC5Eb3RTZWwiIEVkaXRvcj0iRG90IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpXbVBvaW50LmNwcCg2NzMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLml6DmlYjpopzoibIiIE5hbWU9IndtUG9pbnQuQ2xyRmlsbFVudmFsaWQiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIzIiBQYXRoPSJaeE9ialdtUG9pbnQuY3BwKDY3NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklui+ueahhuminOiJsiIgTmFtZT0id21Qb2ludC5DbHJPdXRlciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNjc1KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLnvZHmoLxb5rWL6K+VXSIgTmFtZT0iVHJpR3JpZCIgT3JkZXI9IjU4Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS4u+eUu+eslCIgTmFtZT0iVHJpR3JpZC5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0iWnhPYmpUcmlHcmlkLmNwcCg1ODIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmrKHnlLvnrJQiIE5hbWU9IlRyaUdyaWQuU3ViUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqVHJpR3JpZC5jcHAoNTgzKSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSJPYmpGYXVsdCIgTmFtZT0iT2JqRmF1bHQiIE9yZGVyPSI1OSI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSJQZW4iIE5hbWU9Ik9iakZhdWx0LlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJubU9iakZhdWx0LmNwcCgxNjEpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Ik9iakZyYWN0dXJlIiBOYW1lPSJPYmpGcmFjdHVyZSIgT3JkZXI9IjYwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlBlbiIgTmFtZT0iT2JqRnJhY3R1cmUuUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjEiIFBhdGg9Im5tT2JqRnJhY3R1cmUuY3BwKDE4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IiIgTmFtZT0iT2JqRnJhY3R1cmUuQmFja2dyZENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpGcmFjdHVyZS5jcHAoMTg2KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9Ik9iakxpbWl0IiBPcmRlcj0iNjEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJPYmpMaW1pdC5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW1pdC5jcHAoMTg1KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6IOM5pmvIiBOYW1lPSJPYmpMaW1pdC5CYWNrZ3JkQ29sb3IiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJubU9iakxpbWl0LmNwcCgxODYpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpgI/mmI7luqYiIE5hbWU9Ik9iakxpbWl0LkJhY2tncmRDb2xvckFscGhhIiBFZGl0b3I9IlNsaWRlciIgT3JkZXI9IjMiIFBhdGg9Im5tT2JqTGltaXQuY3BwKDE4NykiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5aSW6KeCIiBOYW1lPSJPYmpDb21wYXNzIiBPcmRlcj0iNjIiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i55S756yUIiBOYW1lPSJDcFBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDMwNykiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IumVvy/lrr0iIE5hbWU9IkNwU2l6ZSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0iWnhPYmpDb21wYXNzLmNwcCgzMjQpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaVtOS9k+S9jee9riIgTmFtZT0iT2JqQ29tcGFzczIiIE9yZGVyPSI2MyI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkvY3nva4iIE5hbWU9IkNwUG9zIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIxIiBQYXRoPSJaeE9iakNvbXBhc3MuY3BwKDMwOCkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5LqV5ZCN6K6+572uIiBOYW1lPSJXbU1hcDEiIE9yZGVyPSI2NCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmmL7npLrlkI3np7AiIE5hbWU9IldtTWFwLk5hbWVWaXNpYmxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSIxIiBQYXRoPSJpR3VpUGxvdE1hcC5jcHAoODMzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ew6aKc6ImyIiBOYW1lPSJXbU1hcC5XbU5hbWVDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSIyIiBQYXRoPSJpR3VpUGxvdE1hcC5jcHAoODM2KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ew5a2X5L2TIiBOYW1lPSJXbU1hcC5XbU5hbWVGb250IiBFZGl0b3I9IkZvbnQiIE9yZGVyPSIzIiBQYXRoPSJpR3VpUGxvdE1hcC5jcHAoODM3KSIvPg0KDQoNCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuaYvuekuuWQjeensCIgTmFtZT0iSW5mTWFwLk5hbWVWaXNpYmxlIiBFZGl0b3I9IkJvb2wiIE9yZGVyPSI0IiBQYXRoPSJpR3VpUGxvdEluZi5jcHAoNzQ3KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5ZCN56ew6aKc6ImyIiBOYW1lPSJJbmZNYXAuSW5mTmFtZUNsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjUiIFBhdGg9ImlHdWlQbG90SW5mLmNwcCg3NTApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlkI3np7DlrZfkvZMiIE5hbWU9IkluZk1hcC5JbmZOYW1lRm9udCIgRWRpdG9yPSJGb250IiBPcmRlcj0iNiIgUGF0aD0iaUd1aVBsb3RJbmYuY3BwKDc1MSkiLz4NCg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLkupXngrnorr7nva4iIE5hbWU9IldtTWFwMiIgT3JkZXI9IjY1Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS6leeCueagt+W8jyIgTmFtZT0iV21NYXAuV21Eb3QiIEVkaXRvcj0iRG90IiBPcmRlcj0iMSIgUGF0aD0iaUd1aVBsb3RNYXAuY3BwKDgzOSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS6leeCueWkp+WwjyIgTmFtZT0iV21NYXAuV21QdFIiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Ilp4T2JqV21Qb2ludC5jcHAoNzE5KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6aKc6ImyIiBOYW1lPSJXbU1hcC5XbU91dGVyRmlsbGluZ0NsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjMiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4NDApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpgI/mmI7luqYiIE5hbWU9IldtTWFwLldtT3V0ZXJGaWxsaW5nQ2xyQWxwaGEiIEVkaXRvcj0iU2xpZGVyIiBPcmRlcj0iNCIgUGF0aD0iaUd1aVBsb3RNYXAuY3BwKDg0MSkiIE1pbj0iMCIgTWF4PSIyNTUiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWklui+ueahhuminOiJsiIgTmFtZT0iV21NYXAuV21PdXRlckxpbmVDbHIiIEVkaXRvcj0iQ29sb3IiIE9yZGVyPSI1IiBQYXRoPSJpR3VpUGxvdE1hcC5jcHAoODQzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LqV54K55qC35byPIiBOYW1lPSJJbmZNYXAuSW5mRG90IiBFZGl0b3I9IkRvdCIgT3JkZXI9IjQiIFBhdGg9ImlHdWlQbG90SW5mLmNwcCg3NTMpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXngrnlpKflsI8iIE5hbWU9IkluZk1hcC5JbmZQdFIiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjUiIFBhdGg9Ilp4T2JqSW5mUG9pbnQuY3BwKDc5NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWhq+WFheminOiJsiIgTmFtZT0iSW5mTWFwLkluZk91dGVyRmlsbGluZ0NsciIgRWRpdG9yPSJDb2xvciIgT3JkZXI9IjYiIFBhdGg9ImlHdWlQbG90SW5mLmNwcCg3NTQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpgI/mmI7luqYiIE5hbWU9IkluZk1hcC5JbmZPdXRlckZpbGxpbmdDbHJBbHBoYSIgRWRpdG9yPSJTbGlkZXIiIE9yZGVyPSI3IiBQYXRoPSJpR3VpUGxvdEluZi5jcHAoNzU1KSIgTWluPSIwIiBNYXg9IjI1NSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aSW6L655qGG6aKc6ImyIiBOYW1lPSJJbmZNYXAuSW5mT3V0ZXJMaW5lQ2xyIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iOCIgUGF0aD0iaUd1aVBsb3RJbmYuY3BwKDc1NikiLz4NCg0KICAgIDwvUHR5R3JvdXA+DQoNCg0KICAgIDxQdHlHcm91cCBMYWJlbD0i5LqV5q616K6+572uIiBOYW1lPSJXbU1hcDMiIE9yZGVyPSI2NiI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXplb/luqYiIE5hbWU9IldtTWFwLldtTGVuIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBSZWFkb25seT0iMSIgUGF0aD0iWnhPYmpXbUxpbmUuY3BwKDM4NSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuS6lemVv+eUu+eslCIgTmFtZT0iV21NYXAuV21MaW5lUGVuIiBFZGl0b3I9IlBlbiIgT3JkZXI9IjIiIFBhdGg9ImlHdWlQbG90TWFwLmNwcCg4NDQpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkupXmrrXmlbAiIE5hbWU9IldtTWFwLldtU2VnQ291bnQiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Ilp4T2JqV21MaW5lUGx1cy5jcHAoMTgyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LqV5q616ZW/IiBOYW1lPSJXbU1hcC5XbVNlZ0xlblYiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjQiIFBhdGg9Ilp4T2JqV21MaW5lUGx1cy5jcHAoMTgzKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LqV5q6155S756yUIiBOYW1lPSJXbU1hcC5XbVNlZ1BlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSI1IiBQYXRoPSJpR3VpUGxvdE1hcC5jcHAoODQ1KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9Im5tT2JqUmVjdCIgT3JkZXI9IjY3Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui+ueahhueUu+eslCIgTmFtZT0iT2JqUmVjdC5QZW4iIEVkaXRvcj0iUGVuIiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpSZWN0LmNwcCgyNjgpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXog4zmma8iIE5hbWU9Ik9ialJlY3QuQmFja2dyZENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpSZWN0LmNwcCgyNjkpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLloavlhYXpgI/mmI7luqYiIE5hbWU9Ik9ialJlY3QuQmFja2dyZENvbG9yQWxwaGEiIEVkaXRvcj0iU2xpZGVyIiBPcmRlcj0iMyIgUGF0aD0ibm1PYmpSZWN0LmNwcCgyNzApIiBNaW49IjAiIE1heD0iMjU1Ii8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9Iui+ueeVjOa1geWKqOexu+WeiyIgTmFtZT0iT2JqUmVjdE91dGxpbmUiIE9yZGVyPSI2OCI+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLkuIrovrnnlYwiIE5hbWU9Ik9ialJlY3RPdXRsaW5lLlRvcE91dGxpbmUiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjEiIFBhdGg9Im5tT2JqUmVjdE91dGxpbmUuY3BwKDcyKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5Y+z6L6555WMIiBOYW1lPSJPYmpSZWN0T3V0bGluZS5SaWdodE91dGxpbmUiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjIiIFBhdGg9Im5tT2JqUmVjdE91dGxpbmUuY3BwKDczKSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5LiL6L6555WMIiBOYW1lPSJPYmpSZWN0T3V0bGluZS5Cb3R0b21PdXRsaW5lIiBFZGl0b3I9IkVudW0iIE9yZGVyPSIzIiBQYXRoPSJubU9ialJlY3RPdXRsaW5lLmNwcCg3NCkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuW3pui+ueeVjCIgTmFtZT0iT2JqUmVjdE91dGxpbmUuTGVmdE91dGxpbmUiIEVkaXRvcj0iRW51bSIgT3JkZXI9IjQiIFBhdGg9Im5tT2JqUmVjdE91dGxpbmUuY3BwKDc1KSIvPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLlpJbop4IiIE5hbWU9Ik9ialJlZ2lvbiIgT3JkZXI9IjY5Ij4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iui+ueahhueUu+eslCIgTmFtZT0iT2JqUmVnaW9uLlBlbiIgRWRpdG9yPSJQZW4iIE9yZGVyPSIxIiBQYXRoPSJubU9ialJlZ2lvbi5jcHAoMTg4KSIvPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5aGr5YWF6IOM5pmvIiBOYW1lPSJPYmpSZWdpb24uQmFja2dyZENvbG9yIiBFZGl0b3I9IkNvbG9yIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpSZWdpb24uY3BwKDE4OSkiLz4NCiAgICA8L1B0eUdyb3VwPg0KICAgIDxQdHlHcm91cCBMYWJlbD0i6L6555WM5bGe5oCnIiBOYW1lPSJubU9ialJlZ2lvbiIgT3JkZXI9IjcwIj4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9Iua1geWKqOexu+WeiyIgTmFtZT0iT2JqUmVnaW9uLkZsb3dNb2RlbCIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpSZWdpb24uY3BwKDE5MSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuazhOmcsuezu+aVsCIgTmFtZT0iT2JqUmVnaW9uLkxlYWthZ2UiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjMiIFBhdGg9Im5tT2JqUmVnaW9uLmNwcCgyMDIpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuWMuuWfn+WxnuaApyIgTmFtZT0ibm1PYmpSZWdpb25NYXJrIiBPcmRlcj0iNzEiPg0KICAgICAgICA8UHR5SXRlbSBMYWJlbD0i5YKo5bGC57G75Z6LIiBOYW1lPSJPYmpSZWdpb25NYXJrLlJlc2V2b2lyVHlwZSIgRWRpdG9yPSJFbnVtIiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpSZWdpb25NYXJrLmNwcCgyMjApIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLmtYHluqbmr5QiIE5hbWU9Ik9ialJlZ2lvbk1hcmsuZENvbUtyIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIzIiBQYXRoPSJubU9ialJlZ2lvbk1hcmsuY3BwKDIzMSkiLz4NCiAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IuWCqOiDveavlCIgTmFtZT0iT2JqUmVnaW9uTWFyay5kQ29tVyIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMyIgUGF0aD0ibm1PYmpSZWdpb25NYXJrLmNwcCgyMzIpIi8+DQogICAgICAgIDxQdHlJdGVtIExhYmVsPSLlh4Dmr5vmr5QiIE5hbWU9Ik9ialJlZ2lvbk1hcmsuTmV0VG9Hcm9zcyIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iNCIgUGF0aD0ibm1PYmpSZWdpb25NYXJrLmNwcCgyMzMpIi8+DQogICAgPC9QdHlHcm91cD4NCiAgICA8UHR5R3JvdXAgTGFiZWw9IuaWreWxguS9jee9ruS/oeaBryIgTmFtZT0iT2JqTGluZUZhdWx0U3RhcnRQb3MiIE9yZGVyPSI3MiI+DQogICAgICAgIDxQdHlHcm91cCBMYWJlbD0i6LW354K5IiBOYW1lPSJPYmpMaW5lRmF1bHRQb3MiIE9yZGVyPSIxIj4NCiAgICAgICAgICAgIDxQdHlJdGVtIExhYmVsPSJYIiBOYW1lPSJPYmpMaW5lRmF1bHRTdGFydFBvcy5TdGFydFBvaW50WCIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMSIgUGF0aD0ibm1PYmpMaW5lRmF1bHQuY3BwKDU2KSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9Ik9iakxpbmVGYXVsdFN0YXJ0UG9zLlN0YXJ0UG9pbnRZIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIyIiBQYXRoPSJubU9iakxpbmVGYXVsdC5jcHAoNTcpIi8+DQogICAgICAgIDwvUHR5R3JvdXA+DQogICAgICAgIDxQdHlHcm91cCBMYWJlbD0i57uI54K5IiBOYW1lPSJPYmpMaW5lRmF1bHRFbmRQb3MiIE9yZGVyPSIyIj4NCiAgICAgICAgICAgIDxQdHlJdGVtIExhYmVsPSJYIiBOYW1lPSJPYmpMaW5lRmF1bHRFbmRQb3MuRW5kUG9pbnRYIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJubU9iakxpbmVGYXVsdC5jcHAoNTkpIi8+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWSIgTmFtZT0iT2JqTGluZUZhdWx0RW5kUG9zLkVuZFBvaW50WSIgRWRpdG9yPSJFZGl0IiBPcmRlcj0iMiIgUGF0aD0ibm1PYmpMaW5lRmF1bHQuY3BwKDYwKSIvPg0KICAgICAgICA8L1B0eUdyb3VwPg0KICAgIDwvUHR5R3JvdXA+DQogICAgPFB0eUdyb3VwIExhYmVsPSLoo4LnvJ3kvY3nva7kv6Hmga8iIE5hbWU9Ik9iakxpbmVDcmFja1N0YXJ0UG9zIiBPcmRlcj0iNzMiPg0KICAgICAgICA8UHR5R3JvdXAgTGFiZWw9Iui1t+eCuSIgTmFtZT0iT2JqTGluZUNyYWNrUG9zIiBPcmRlcj0iMSI+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWCIgTmFtZT0iT2JqTGluZUNyYWNrU3RhcnRQb3MuU3RhcnRQb2ludFgiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjEiIFBhdGg9Im5tT2JqTGluZUNyYWNrLmNwcCg0MTcpIi8+DQogICAgICAgICAgICA8UHR5SXRlbSBMYWJlbD0iWSIgTmFtZT0iT2JqTGluZUNyYWNrU3RhcnRQb3MuU3RhcnRQb2ludFkiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Im5tT2JqTGluZUNyYWNrLmNwcCg0MTgpIi8+DQogICAgICAgIDwvUHR5R3JvdXA+DQogICAgICAgIDxQdHlHcm91cCBMYWJlbD0i57uI54K5IiBOYW1lPSJPYmpMaW5lQ3JhY2tFbmRQb3MiIE9yZGVyPSIyIj4NCiAgICAgICAgICAgIDxQdHlJdGVtIExhYmVsPSJYIiBOYW1lPSJPYmpMaW5lQ3JhY2tFbmRQb3MuRW5kUG9pbnRYIiBFZGl0b3I9IkVkaXQiIE9yZGVyPSIxIiBQYXRoPSJubU9iakxpbmVDcmFjay5jcHAoNDIwKSIvPg0KICAgICAgICAgICAgPFB0eUl0ZW0gTGFiZWw9IlkiIE5hbWU9Ik9iakxpbmVDcmFja0VuZFBvcy5FbmRQb2ludFkiIEVkaXRvcj0iRWRpdCIgT3JkZXI9IjIiIFBhdGg9Im5tT2JqTGluZUNyYWNrLmNwcCg0MjEpIi8+DQogICAgICAgIDwvUHR5R3JvdXA+DQogICAgPC9QdHlHcm91cD4NCjwvemhBdHRyaWJ1dGVzPg0K \ No newline at end of file diff --git a/Bin/Config/Common/WdtAlgDefines_cn.dat b/Bin/Config/Common/WdtAlgDefines_cn.dat new file mode 100644 index 0000000..bfda8c7 --- /dev/null +++ b/Bin/Config/Common/WdtAlgDefines_cn.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkgICAgIC0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogICAtLT4NCjwhLS0gICAg5pys5paH5qGj55qE55uu55qE5pivQWxnTWV0aG9k55u45YWz6YWN572uICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgQXV0aG9yKHMpOiB3YW5nemcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIERhdGU6IDIwMjEwNTI5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAgICAgICAtLT4NCg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAtLT4NCjwhLS0gQWxnVHlwZSDnrpfms5XlpKfnsbsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIElE77ya57yW5Y+35qCH6K+GICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgQWxpYXPvvJog5Yir5ZCNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBOYW1l77yaICDlkI3np7AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIFRpcHPvvJog5aSH5rOoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCg0KPCEtLSBBbGdNZXRob2Qg5Y+C5pWwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgSUTvvJrnvJblj7fmoIfor4YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBOYW1l77yaICDlkI3np7AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEFsaWFz77yaIOWIq+WQjSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgTmFtZVjvvJogIOe7mOWbvuaXtnjovbTlkI3np7AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIFVuaXRY77yaICDnu5jlm77ml7Z46L205Y2V5L2NICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBOYW1lWe+8miAg57uY5Zu+5pe2eei9tOWQjeensCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgVW5pdFnvvJogIOe7mOWbvuaXtnnovbTljZXkvY0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEV4cHLvvJrmmL7npLrlnKjnlYzpnaLkuIrnmoTooajovr7lvI8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEZsdWlkVHlwZe+8mueul+azleayueawlOawtOexu+Wei++8jOm7mOiupO+8mk9HV++8jOWPr+S7peS4jeWhq+WGmSzloavlhplH5Luj6KGo5Y+q5a+55rCUIC0tPg0KPCEtLSAgICBSZXN1bHRCb3Ro77ya57uT5p6c5ZGI546w77yM6buY6K6k77ya5bem5Y+z5Lik5Zu+77yM5aaC5p6c5piv5LiA5Zu+77yM5aGr5YaZMCAgICAgICAgLS0+DQo8IS0tICAgIFN1YlJhZGlvVmlzaWJsZe+8muaYr+WQpuaYvuekuiBSYWRpb++8jOm7mOiupOaYvuekuu+8jOWmguaenOS4jeaYvuekuu+8jOWhq+WGmTAgIC0tPg0KPCEtLSAgICBTcmNUYWJsZUNvbHPvvJrmupDmlbDmja7ooajmoLzliJfmoIfpopjvvIzpu5jorqTkuKTliJfvvIzljovlipsv5Lqn6YeP77yM5LiN55So6YWN572uICAgLS0+DQo8IS0tICAgIDIwMjYwNDE2LOWumuS5ieaUueS4uuS4juahhuaetuaXoOWFs++8jOaJgOS7pem7mOiupOS5n+W+l+mFjee9ruS6hiAgICAgICAgICAgICAgIC0tPg0KPCEtLUlEPSIwOSIg5Li6T0lMLS0+DQo8Um9vdD4NCg0KICAgPEFsZ1R5cGUgSUQ9IjAxIiBOYW1lPSJCYXNlUEEiIEFsaWFzPSLlm57ljovor5XkupUiIFRpcHM9IiIgU3JjVGFibGVDb2xzPSLkupXlupXljovlipsoTVBhKTvmsJTkuqfph48oMTBeNCptXjMvZCkiICA+DQoNCiAgICA8QWxnTWV0aG9kIElEPSIwMTAxIiBOYW1lPSJCaW5vbWlhbCIgQWxpYXM9IuS6jOmhueW8j+S6p+iDveaWueeoiyIgTmFtZVg9IlEiIFVuaXRYPSIxMF40Km1eMy9kIiBOYW1lWT0iKHBSXjItUHdmXjIpL1E7UDsoUFNFZS1QU0V3ZikvUTtQU0UiIFVuaXRZPSJNUGFeMi8oMTBeNCptXjMvZCk7TVBhO01QYV4yL21QYS5zLygxMF40Km1eMy9kKTtNUGFeMi9tUGEucyIgRXhwcj0iKHBSXjIgLSBQd2ZeMikgLyBRID0gQiAqIFEgKyBBOyhQU0VlIC0gUFNFd2YpIC8gUSA9IEIgKiBRICsgQSIgIC8+DQogICAgPEFsZ01ldGhvZCBJRD0iMDEwMiIgTmFtZT0iQmlub21pYWxFeCIgQWxpYXM9IuaUuei/m+S6jOmhueW8j+S6p+iDveaWueeoiyIgTmFtZVg9IlEiIFVuaXRYPSIxMF40Km1eMy9kIiBOYW1lWT0iKHBSXjItUHdmXjIpL1E7UDsoUFNFZS1QU0V3ZikvUTtQU0UiIFVuaXRZPSJNUGFeMi8oMTBeNCptXjMvZCk7TVBhO01QYV4yL21QYS5zLygxMF40Km1eMy9kKTtNUGFeMi9tUGEucyIgRXhwcj0iKHBSaSAtIHBSaSsxKSAvIChRW2krMV0gLSBRW2ldKSA9IEIoUVtpKzFdICsgUVtpXSkgKyBBOyhQU0VpIC0gUFNFaSsxKSAvIChRW2krMV0gLSBRW2ldKSA9IEIoUVtpKzFdICsgUVtpXSkgKyBBIiAgLz4NCiAgICA8QWxnTWV0aG9kIElEPSIwMTAzIiBOYW1lPSJFeHBvbmVudGlhbCIgQWxpYXM9IuaMh+aVsOW8j+S6p+iDveaWueeoiyIgTmFtZVg9ImxnUTtRIiBVbml0WD0iMTBeNCptXjMvZCIgTmFtZVk9ImxnKHBSXjItIFB3Zl4yKTtQO2xnKFBTRXItUFNFd2YpO1BTRSIgVW5pdFk9Ik1QYV4yO01QYTtNUGFeMi9tUGEucztNUGFeMi9tUGEucyIgRXhwcj0iUSA9IEMgKiAocFJeMiAtIFB3Zl4yKV5OO1EgPSBDICogKFBTRXIgLSBQU0V3ZileTiIgLz4NCg0KICAgIDwvQWxnVHlwZT4NCg0KICAgIDxBbGdUeXBlIElEPSIwNSIgTmFtZT0iQmFzZVBBMiIgQWxpYXM9IuetieaXtuivleS6lSIgVGlwcz0iIiBTcmNUYWJsZUNvbHM9IuS6leW6leWOi+WKmyhNUGEpO+awlOS6p+mHjygxMF40Km1eMy9kKSIgID4NCg0KICAgICAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDUwMSIgTmFtZT0iQmlub21pYWwiIEFsaWFzPSLkuozpobnlvI/kuqfog73mlrnnqIsiIE5hbWVYPSJRIiBVbml0WD0iMTBeNCptXjMvZCIgTmFtZVk9IihwUl4yLVB3Zl4yKS9RO1A7KFBTRWUtUFNFd2YpL1E7UFNFIiBVbml0WT0iTVBhXjIvKDEwXjQqbV4zL2QpO01QYTtNUGFeMi9tUGEucy8oMTBeNCptXjMvZCk7TVBhXjIvbVBhLnMiIEV4cHI9IihwUl4yIC0gUHdmXjIpIC8gUSA9IEIgKiBRICsgQTsoUFNFZSAtIFBTRXdmKSAvIFEgPSBCICogUSArIEEiICAvPg0KICAgICAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDUwMyIgTmFtZT0iRXhwb25lbnRpYWwiIEFsaWFzPSLmjIfmlbDlvI/kuqfog73mlrnnqIsiIE5hbWVYPSJsZ1E7USIgVW5pdFg9IjEwXjQqbV4zL2QiIE5hbWVZPSJsZyhwUl4yLSBQd2ZeMik7UDtsZyhQU0VyLVBTRXdmKTtQU0UiIFVuaXRZPSJNUGFeMjtNUGE7TVBhXjIvbVBhLnM7TVBhXjIvbVBhLnMiIEV4cHI9IlEgPSBDICogKHBSXjIgLSBQd2ZeMileTjtRID0gQyAqIChQU0VyIC0gUFNFd2YpXk4iIC8+DQoNCiAgICA8L0FsZ1R5cGU+DQoNCiAgICA8QWxnVHlwZSBJRD0iMDYiIE5hbWU9IkJhc2VQQTMiIEFsaWFzPSLkv67mraPnrYnml7bor5XkupUiIFRpcHM9IiIgU3JjVGFibGVDb2xzPSLkupXlupXljovlipsoTVBhKTvlubPlnYflnLDlsYLljovlipsoTVBhKTvkuqfph48oMTBeNCptXjMvZCkiID4NCg0KICAgICAgICA8QWxnTWV0aG9kIElEPSIwNjAxIiBOYW1lPSJCaW5vbWlhbCIgQWxpYXM9IuS6jOmhueW8j+S6p+iDveaWueeoiyIgTmFtZVg9IlEiIFVuaXRYPSIxMF40Km1eMy9kIiBOYW1lWT0iKHBSXjItUHdmXjIpL1E7UDsoUFNFZS1QU0V3ZikvUTtQU0UiIFVuaXRZPSJNUGFeMi8oMTBeNCptXjMvZCk7TVBhO01QYV4yL21QYS5zLygxMF40Km1eMy9kKTtNUGFeMi9tUGEucyIgRXhwcj0iKHBSXjIgLSBQd2ZeMikgLyBRID0gQiAqIFEgKyBBOyhQU0VlIC0gUFNFd2YpIC8gUSA9IEIgKiBRICsgQSIgIC8+DQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjA2MDMiIE5hbWU9IkV4cG9uZW50aWFsIiBBbGlhcz0i5oyH5pWw5byP5Lqn6IO95pa556iLIiBOYW1lWD0ibGdRO1EiIFVuaXRYPSIxMF40Km1eMy9kIiBOYW1lWT0ibGcocFJeMi0gUHdmXjIpO1A7bGcoUFNFci1QU0V3Zik7UFNFIiBVbml0WT0iTVBhXjI7TVBhO01QYV4yL21QYS5zO01QYV4yL21QYS5zIiBFeHByPSJRID0gQyAqIChwUl4yIC0gUHdmXjIpXk47USA9IEMgKiAoUFNFciAtIFBTRXdmKV5OIiAvPg0KDQogICAgPC9BbGdUeXBlPg0KDQogICAgPEFsZ1R5cGUgSUQ9IjAyIiBOYW1lPSJPbmVQb2ludCIgQWxpYXM9IuS4gOeCueazlSIgVGlwcz0iIiBTcmNUYWJsZUNvbHM9IuS6leW6leWOi+WKmyhNUGEpO+awlOS6p+mHjygxMF40Km1eMy9kKSIgID4NCg0KICAgICAgICA8QWxnTWV0aG9kIElEPSIwMjAxIiBOYW1lPSJRSFNCIiBBbGlhcz0i6Z2S5rW35rap5YyX5rCU55SwIiBSZXN1bHRCb3RoPSIwIiBOYW1lWD0iUCIgVW5pdFg9Ik1QYSIgTmFtZVk9IlEiIFVuaXRZPSIxMF40Km1eMy9kIiBFeHByPSJxQU9GPTEuMDA0KnFnKigxLShwd2YvcFIpXjIpXigtMC43NDI2KSIgIC8+DQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjAyMDIiIE5hbWU9IkNRSkIiIEFsaWFzPSLplb/luobpnZbovrnmsJTnlLAiIFJlc3VsdEJvdGg9IjAiIE5hbWVYPSJQIiBVbml0WD0iTVBhIiBOYW1lWT0iUSIgVW5pdFk9IjEwXjQqbV4zL2QiIEV4cHI9InFBT0Y9cWcvKDAuMDA3NTY0KygxLjI1NjUqKDAuOTgxNi1wd2YvcFIpXjAuNSkpIiAgLz4NCiAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDIwMyIgTmFtZT0iQ1EiIEFsaWFzPSLplb/luobmsrnnlLDkuIrlj6TnlJ/nlYzlnLDlsYIiIFJlc3VsdEJvdGg9IjAiIE5hbWVYPSJQIiBVbml0WD0iTVBhIiBOYW1lWT0iUSIgVW5pdFk9IjEwXjQqbV4zL2QiIEV4cHI9InFBT0Y9cWcvKCgtMC4xNzQyKSsoMS4xNjEzKigxLjAyMjUtKHB3Zi9wUileMileMC41KSkiICAvPg0KICAgICAgICA8QWxnTWV0aG9kIElEPSIwMjA0IiBOYW1lPSJDWVExIiBBbGlhcz0i6ZmI5YWD5Y2D5YWs5byPMSIgUmVzdWx0Qm90aD0iMCIgTmFtZVg9IlAiIFVuaXRYPSJNUGEiIE5hbWVZPSJRIiBVbml0WT0iMTBeNCptXjMvZCIgRXhwcj0icUFPRj1xZyooKHBSXjItcHdmXjIpL3BSXjIpXigtMC42NTk0KSIgIC8+DQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjAyMDUiIE5hbWU9IkNZUTIiIEFsaWFzPSLpmYjlhYPljYPlhazlvI8yIiBSZXN1bHRCb3RoPSIwIiBOYW1lWD0iUCIgVW5pdFg9Ik1QYSIgTmFtZVk9IlEiIFVuaXRZPSIxMF40Km1eMy9kIiBFeHByPSJxQU9GPTYqcWcvKCgxKzQ4KigocFJeMi1wd2ZeMikuL3BSXjIpKV4wLjUtMSkiICAvPg0KICAgICAgICA8QWxnTWV0aG9kIElEPSIwMjA2IiBOYW1lPSJOSFlDIiBBbGlhcz0i5Y2X5rW35bSW5Z+OMTMtMeawlOeUsCIgUmVzdWx0Qm90aD0iMCIgTmFtZVg9IlAiIFVuaXRYPSJNUGEiIE5hbWVZPSJRIiBVbml0WT0iMTBeNCptXjMvZCIgRXhwcj0icUFPRj0zLjYwODUqcWcvKCgoMSsyMC4yMzg1KihwUl4yLXB3Zl4yKS9wUl4yKSleMC41LTEpIiAgLz4NCiAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDIwNyIgTmFtZT0iREYiIEFsaWFzPSLkuJzmlrkxLTHmsJTnlLAiIFJlc3VsdEJvdGg9IjAiIE5hbWVYPSJQIiBVbml0WD0iTVBhIiBOYW1lWT0iUSIgVW5pdFk9IjEwXjQqbV4zL2QiIEV4cHI9InFBT0Y9MC44KnFnLygxLTVeKChwd2YvcFIpLTEpKSIgIC8+DQoNCiAgICA8L0FsZ1R5cGU+DQoNCiAgICA8QWxnVHlwZSBJRD0iMDMiIE5hbWU9IkdlbmVyYWxQQTEiIEFsaWFzPSLlub/kuYnkuozpobnlvI/kuqfog70iIFRpcHM9IiIgU3JjVGFibGVDb2xzPSLkupXlupXljovlipsoTVBhKTvmsJTkuqfph48oMTBeNCptXjMvZCkiICA+DQoNCiAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDMwMSIgTmFtZT0iTkgiIEFsaWFzPSLljZfmtbfopb/pg6jkuqfog73orqHnrpfmlrnms5UiIFNyY1RhYmxlQ29scz0i5LqV5bqV5Y6L5YqbKE1QYSk75bmz5Z2H5Zyw5bGC5Y6L5YqbKE1QYSk75Lqn6YePKDEwXjQqbV4zL2QpIiBOYW1lWD0iUSIgVW5pdFg9IjEwXjQqbV4zL2QiIE5hbWVZPSIocFJeMi1Qd2ZeMikvUTtQOyhQU0VlLVBTRXdmKS9RO1BTRSIgVW5pdFk9Ik1QYV4yLygxMF40Km1eMy9kKTtNUGE7TVBhXjIvbVBhLnMvKDEwXjQqbV4zL2QpO01QYV4yL21QYS5zIiBFeHByPSIocFJeMi1Qd2ZeMikvUSA9IEErQipROyhQU0VlLVBTRXdmKS9RID0gQStCKlEiICAvPg0KDQogICAgPC9BbGdUeXBlPg0KDQogICAgPEFsZ1R5cGUgSUQ9IjA0IiBOYW1lPSJCYXNlUEYxIiBBbGlhcz0i5Lqn6IO96aKE5rWLIiBUaXBzPSIiIFNyY1RhYmxlQ29scz0i5LqV5bqV5Y6L5YqbKE1QYSk75rCU5Lqn6YePKDEwXjQqbV4zL2QpIiAgPg0KDQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjA0MDEiIE5hbWU9IlFZSlkiIEFsaWFzPSLljLrln5/nu4/pqowiIFJlc3VsdEJvdGg9IjAiIE5hbWVYPSJL6K+V5LqVIiBVbml0WD0ibUQiIE5hbWVZPSJxQU9GLyhoKnBSXjIpIiBVbml0WT0iMTBeNCptXjMvKGQqbSpNUGEucykiIEV4cHI9InFBT0Y9QypLXm4qaCpwUl4yIiBNaW5YPSIwIiBNYXhYPSIxNTAwIi8+DQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjA0MDIiIE5hbWU9IkxTMSIgQWxpYXM9IumZteawtDEzLTLmsJTnlLDlm77niYgxIiBSZXN1bHRCb3RoPSIwIiBOYW1lWD0iS+ivleS6lSIgVW5pdFg9Im1EIiBOYW1lWT0i57Gz6YeH5rCU5oyH5pWwIiBVbml0WT0iMTBeNCptXjMvKGQqbSpNUGFeMikiIEV4cHI9Ink9MC4wMDA0NTMqeF4wLjg4NzQ5NSIgTWluWD0iMC4wMTEiIE1heFg9IjgwMCIgTGluZWFyWD0iMCIgTGluZWFyWT0iMCIgLz4NCiAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDQwMyIgTmFtZT0iTFMyIiBBbGlhcz0i6Zm15rC0MTMtMuawlOeUsOWbvueJiDIiIFJlc3VsdEJvdGg9IjAiIE5hbWVYPSJL6K+V5LqVKmgiIFVuaXRYPSJtRC5tIiBOYW1lWT0icUFPRi8ocFJeMikiIFVuaXRZPSIxMF40Km1eMy8oZCpNUGFeMikiIEV4cHI9Ink9MC4wMDA1KnheMC44ODk0IiBNaW5YPSIwLjExIiBNYXhYPSI4MDAiIExpbmVhclg9IjAiIExpbmVhclk9IjAiIC8+DQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjA0MDQiIE5hbWU9IkxTMyIgQWxpYXM9IumZteawtDEzLTLmsJTnlLDlm77niYgzIiBSZXN1bHRCb3RoPSIwIiBOYW1lWD0iS+ivleS6lSpoIiBVbml0WD0ibUQubSIgTmFtZVk9InFBT0YiIFVuaXRZPSIxMF40Km1eMy9kIiBFeHByPSJ5PTIuMDQ2OSp4XjAuNjczIiBNaW5YPSIwLjExIiBNYXhYPSI4MDAiIExpbmVhclg9IjAiIExpbmVhclk9IjAiLz4NCiAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDQwNSIgTmFtZT0id3huO3pqayIgQWxpYXM9IuWNl+a1t+ilv+mDqOayueeUsOmHh+ayueaMh+aVsCIgTGVnZW5kcz0i5rag6KW/5Y2X5rK555Sw576kO+ePoOaxn+WPo+ayueeUsOe+pCIgUmVzdWx0Qm90aD0iMCIgTmFtZVg9Ikvor5XkupUvbWl1b+WcsOWxgiIgVW5pdFg9Im1EL21wYS5zIiBOYW1lWT0iSm9zIiBVbml0WT0ibV4zLyhkKk1QYSptKSIgRXhwcj0ieT0wLjA4NjMqeF4wLjgwNTM7eT0wLjE1ODkqeF4wLjgyODciIE1pblg9IjEuMSIgTWF4WD0iNTAwMCIgTGluZWFyWD0iMCIgTGluZWFyWT0iMCIvPg0KICAgICAgICA8QWxnTWV0aG9kIElEPSIwNDA2IiBOYW1lPSJMZTtMUztIbCIgQWxpYXM9IuWNl+a1t+ilv+mDqOawlOeUsOaXoOmYu+a1gemHjyIgTGVnZW5kcz0i5LmQ5LicK+iOuuatjOa1tzvpmbXmsLQr5LiJ5LqaK+m7hOa1gee7hDvpu4TmtYHnu4QiIFJlc3VsdEJvdGg9IjAiIE5hbWVYPSJL6K+V5LqVKmgqcHJeMiIgVW5pdFg9Im1ELm0ubXBhXjIiIE5hbWVZPSJxQU9GIiBVbml0WT0iMTBeNCptXjMvZCIgRXhwcj0ieT0wLjExNDIxNCp4XjAuNTcwNzQ1O3k9MC4wMDM5KnheMC43NjA4O3k9MC4wMDE1KnheMC44NjI0IiBNaW5YPSIxMTAiIE1heFg9IjUwMDAwMDAwIiBMaW5lYXJYPSIwIiBMaW5lYXJZPSIwIi8+DQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjA0MDciIE5hbWU9IkxlMTtMUzExIiBBbGlhcz0i5Y2X5rW36KW/6YOo5rCU55Sw6YeH5rCU5oyH5pWwIiBMZWdlbmRzPSLkuZDkuJwr6I665q2M5rW3O+mZteawtCvkuInkupor6buE5rWB57uEIiBSZXN1bHRCb3RoPSIwIiBOYW1lWD0iS+ivleS6lSpoIiBVbml0WD0ibUQubSIgTmFtZVk9IumHh+awlOaMh+aVsCIgVW5pdFk9IjEwXjQqbV4zLyhkKk1QYV4yKSIgRXhwcj0ieT0wLjAyMTQqeF4wLjUxNzt5PTAuMDAwNyp4XjAuNzU0NiIgTWluWD0iMTEiIE1heFg9IjUwMDAwIiBMaW5lYXJYPSIwIiBMaW5lYXJZPSIwIi8+DQoNCiAgICA8L0FsZ1R5cGU+DQoNCiAgICA8QWxnVHlwZSBJRD0iMDciIE5hbWU9ImNvbmRlbnNhdGUgZ2FzIiBBbGlhcz0i5Yed5p6Q5rCU5LqV5Lqn6IO9IiBUaXBzPSIiIFNyY1RhYmxlQ29scz0i5LqV5bqV5Y6L5YqbKE1QYSk75rCU5Lqn6YePKDEwXjQqbV4zL2QpIiAgPg0KDQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjA3MDEiIE5hbWU9IlNpbmdsZSBwaGFzZSIgQWxpYXM9IuaLn+WNleebuCIgU3JjVGFibGVDb2xzPSLkupXlupXljovlipsoTVBhKTvmsJTkuqfph48oMTBeNCptXjMvZCk75rK55Lqn6YePKG1eMy9kKSIgTmFtZVg9IlEiIFVuaXRYPSIxMF40Km1eMy9kIiBOYW1lWT0iKHBSXjItUHdmXjIpL1E7UDsoUFNFZS1QU0V3ZikvUTtQU0UiIFVuaXRZPSJNUGFeMi8oMTBeNCptXjMvZCk7TVBhO01QYV4yL21QYS5zLygxMF40Km1eMy9kKTtNUGFeMi9tUGEucyIgRXhwcj0iKHBSXjItUHdmXjIpL1EgPSBBK0IqUTsoUFNFZS1QU0V3ZikvUSA9IEErQipRIiAgLz4NCiAgICAgICAgPEFsZ01ldGhvZCBJRD0iMDcwMiIgTmFtZT0iZ2FzLW9pbCB0d28tcGhhc2UiIEFsaWFzPSLmsrnmsJTkuKTnm7giIFNyY1RhYmxlQ29scz0i5LqV5bqV5Y6L5YqbKE1QYSk75rCU5Lqn6YePKDEwXjQqbV4zL2QpO+ayueS6p+mHjyhtXjMvZCkiIE5hbWVYPSJRIiBVbml0WD0iMTBeNCptXjMvZCIgTmFtZVk9IihwUl4yLVB3Zl4yKS9RO1A7KFBTRWUtUFNFd2YpL1E7UFNFIiBVbml0WT0iTVBhXjIvKDEwXjQqbV4zL2QpO01QYTtNUGFeMi9tUGEucy8oMTBeNCptXjMvZCk7TVBhXjIvbVBhLnMiIEV4cHI9IihwUl4yLVB3Zl4yKS9RID0gQStCKlE7KFBTRWUtUFNFd2YpL1EgPSBBK0IqUSIgIC8+DQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjA3MDMiIE5hbWU9Imdhcy13YXRlciB0d28tcGhhc2UiIEFsaWFzPSLmsJTmsLTkuKTnm7giIFNyY1RhYmxlQ29scz0i5LqV5bqV5Y6L5YqbKE1QYSk75rCU5Lqn6YePKDEwXjQqbV4zL2QpO+awtOS6p+mHjyhtXjMvZCkiICBOYW1lWD0iUSIgVW5pdFg9IjEwXjQqbV4zL2QiIE5hbWVZPSIocFJeMi1Qd2ZeMikvUTtQOyhQU0VlLVBTRXdmKS9RO1BTRSIgVW5pdFk9Ik1QYV4yLygxMF40Km1eMy9kKTtNUGE7TVBhXjIvbVBhLnMvKDEwXjQqbV4zL2QpO01QYV4yL21QYS5zIiBFeHByPSIocFJeMi1Qd2ZeMikvUSA9IEErQipROyhQU0VlLVBTRXdmKS9RID0gQStCKlEiICAvPg0KDQogICAgPC9BbGdUeXBlPg0KICAgIA0KICAgIDxBbGdUeXBlIElEPSIwOSIgTmFtZT0iT2lsIiBBbGlhcz0i5rK55LqV5Lqn6IO9IiBUaXBzPSIiIFNyY1RhYmxlQ29scz0i5LqV5bqV5Y6L5YqbKE1QYSk75Lqn5rK56YePKG1eMy9kKSIgID4NCg0KICAgICAgICA8QWxnTWV0aG9kIElEPSIyMDAxIiBOYW1lPSJQSSIgQWxpYXM9IlBJIiBTcmNUYWJsZUNvbHM9IuS6leW6leWOi+WKmyhNUGEpO+ayueS6p+mHjyhtXjMvZCkiIE5hbWVYPSJRIiBVbml0WD0ibV4zL2QiIE5hbWVZPSJQd2YiIFVuaXRZPSJNUGEiIEV4cHI9IlBJ5pa556iLIiAgLz4NCiAgICAgICAgDQogICAgICAgIDxBbGdNZXRob2QgSUQ9IjIwMDIiIE5hbWU9IlZvZ2VsIiBBbGlhcz0iVm9nZWwiIFNyY1RhYmxlQ29scz0i5LqV5bqV5Y6L5YqbKE1QYSk75rK55Lqn6YePKG1eMy9kKSIgTmFtZVg9IlEiIFVuaXRYPSJtXjMvZCIgTmFtZVk9IlB3ZiIgVW5pdFk9Ik1QYSIgRXhwcj0iVm9nZWzlhazlvI8iICAvPg0KICAgICAgICANCiAgICAgICAgPEFsZ01ldGhvZCBJRD0iMjAwMyIgTmFtZT0iRmV0a292aWNoIiBBbGlhcz0iRmV0a292aWNoIiBTcmNUYWJsZUNvbHM9IuS6leW6leWOi+WKmyhNUGEpO+ayueS6p+mHjyhtXjMvZCkiIE5hbWVYPSJRIiBVbml0WD0ibV4zL2QiIE5hbWVZPSJQd2YiIFVuaXRZPSJNUGEiIEV4cHI9IkZldGtvdmljaOWFrOW8jyIgIC8+DQogICAgICAgIA0KDQogICAgICAgIA0KICAgICAgICAgICAgICA8QWxnTWV0aG9kIElEPSIwNTEwIiBOYW1lPSJKb25lcyIgQWxpYXM9IkpvbmVzIiBTcmNUYWJsZUNvbHM9IuS6leW6leWOi+WKmyhNUGEpO+awlOS6p+mHjygxMF40Km1eMy9kIiBOYW1lWD0iUSIgVW5pdFg9IjEwXjQqbV4zL2QiIE5hbWVZPSIocFJeMi1Qd2ZeMikvUTtQOyhQU0VlLVBTRXdmKS9RO1BTRSIgVW5pdFk9Ik1QYV4yLygxMF40Km1eMy9kKTtNUGE7TVBhXjIvbVBhLnMvKDEwXjQqbV4zL2QpO01QYV4yL21QYS5zIiBFeHByPSIocFJeMi1Qd2ZeMikvUSA9IEErQipROyhQU0VlLVBTRXdmKS9RID0gQStCKlEiICAvPg0KICAgICAgICAgIA0KICAgICAgICANCg0KICAgIDwvQWxnVHlwZT4NCiAgICAgICAgDQogICAgDQogICAgDQogICAgDQo8L1Jvb3Q+DQo= \ No newline at end of file diff --git a/Bin/Config/Common/WdtAlgDefines.dat b/Bin/Config/Common/WdtAlgDefines_en.dat similarity index 100% rename from Bin/Config/Common/WdtAlgDefines.dat rename to Bin/Config/Common/WdtAlgDefines_en.dat diff --git a/Bin/Config/Common/WdtMethodDefines_cn.dat b/Bin/Config/Common/WdtMethodDefines_cn.dat new file mode 100644 index 0000000..54804a4 --- /dev/null +++ b/Bin/Config/Common/WdtMethodDefines_cn.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+DQo8IS0tICAgIOacrOaWh+aho+ebruaYr+W7uueri1dUQUnova/ku7bns7vnu58t5Lqn6IO96K+V5LqV55u45YWz5Z+65pys5a6a5LmJICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgQXV0aG9yKHMpOiB3YW5nemcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIERhdGU6IDIwMjYwNTEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCg0KPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCjwhLS0g6YOo5YiG5pWw5o2u6aG56K+05piODQogICAgICAgIElEOiAgICAgICAgICDllK/kuIDmoIfor4YNCiAgICAgICAgTmFtZe+8miAgICAgICDlkI3np7DvvIzpgJrluLjoi7HmlocNCiAgICAgICAgQWxpYXPvvJogICAgICDliKvlkI3vvIzpgJrluLjkuK3mlocNCiAgICAgICAgU2VyaWVz77yaICAgICDku47lsZ7luo/liJfvvIzpu5jorqTvvJpXRFQNCiAgICAgICAgUGFyYXPvvJogICAgICDmtonlj4rlj4LmlbDliJfooagNCiAgICAgICAgSWNvbu+8miAgICAgICDlm77moIcNCiAgICAgICAgVGlwc++8miAgICAgICDovoXliqnor7TmmI4NCg0KICAgICAgICAvLyDov5nmmK/lr7nlupRDaGVja2JveOWLvumAiemhuQ0KICAgICAgICBlbnVtIHdkdEZsYWdzDQogICAgICAgIHsNCiAgICAgICAgICAgIC8vIOaXoOagh+W/lw0KICAgICAgICAgICAgZmxhZ05vbmUgPSAwLA0KDQogICAgICAgICAgICAvLyDljovlipvlubPmlrkNCiAgICAgICAgICAgIGZsYWdQcmVzc3VyZVNxdWFyZSA9ICAgIDB4MDAwMDAwMDEsDQogICAgICAgICAgICAvLyDmi5/ljovlipsNCiAgICAgICAgICAgIGZsYWdQcmVzc3VyZVBzZXUgPSAgICAgIDB4MDAwMDAwMDIsDQoNCiAgICAgICAgICAgIC8vIOW+heaJqeWxlTEtMTANCiAgICAgICAgICAgIGZsYWdFeHQxID0gICAgICAgICAgICAgIDB4MDAwMDAwMDQsDQogICAgICAgICAgICBmbGFnRXh0MiA9ICAgICAgICAgICAgICAweDAwMDAwMDA4LA0KICAgICAgICAgICAgZmxhZ0V4dDMgPSAgICAgICAgICAgICAgMHgwMDAwMDAxMCwNCiAgICAgICAgICAgIGZsYWdFeHQ0ID0gICAgICAgICAgICAgIDB4MDAwMDAwMjAsDQogICAgICAgICAgICBmbGFnRXh0NSA9ICAgICAgICAgICAgICAweDAwMDAwMDQwLA0KICAgICAgICAgICAgZmxhZ0V4dDYgPSAgICAgICAgICAgICAgMHgwMDAwMDA4MCwNCiAgICAgICAgICAgIGZsYWdFeHQ3ID0gICAgICAgICAgICAgIDB4MDAwMDAxMDAsDQogICAgICAgICAgICBmbGFnRXh0OCA9ICAgICAgICAgICAgICAweDAwMDAwMjAwLA0KICAgICAgICAgICAgZmxhZ0V4dDkgPSAgICAgICAgICAgICAgMHgwMDAwMDQwMCwNCiAgICAgICAgICAgIGZsYWdFeHQxMCA9ICAgICAgICAgICAgIDB4MDAwMDA4MDAsDQoNCiAgICAgICAgICAgIC8vIOW+heWumg0KICAgICAgICAgICAgZmxhZ1Vua25vd24gPSAweDAwMDAxMDAwDQogICAgICAgIH07DQotLT4NCg0KPFJvb3Q+DQoNCiAgICA8IS0t55u05LqVLS0+DQogICAgPFdFTFRhZyBJRD0iMTAwIiBOYW1lPSJXZWxsViIgQWxpYXM9IuebtOS6lSIgU2VyaWVzPSJXRFQiPg0KDQogICAgICAgIDxXRUxTdWJUYWcgSUQ9IjEwMCIgTmFtZT0iV0RUUmVzTyIgQWxpYXM9IuayueS6lSIgUGFyYXM9IuayueiXj+S4rea3sTvmsrnol4/ljovlips75rK56JeP5rip5bqmO+WcsOa4qeair+W6pjvlnLDmuKnmoq/luqbkv67mraPns7vmlbA75Zyw6Z2i5Y6f5rK55a+G5bqmO+WkqeeEtuawlOebuOWvueWvhuW6pjvlnLDlsYLmsLTlr4bluqY75ZCr5rC0O+awlOayueavlDvppbHlkozljovlips76aWx5ZKM5Y6L5Yqb5rWL6K+V5rip5bqmO+a6tuino+awlOayueavlDvljp/msrnkvZPnp6/ns7vmlbA75q275rK557KY5bqmO+mlseWSjOWOn+ayueeymOW6pjvmnKrppbHlkozljp/msrnnspjluqY75rC057KY5bqmO+WkqeeEtuawlOWOi+e8qeWboOWtkDvljp/msrnlr7zng63ns7vmlbA75aSp54S25rCU5a+854Ot57O75pWwIj4NCg0KICAgICAgICAgICAgPEZ1bmN0aW9uIElEPSIyMDAxIiBBbGlhcz0iUEkiIFBhcmFzPSLkupXlupXmtYHljos75Lqn5rK56YePO+iuoeeul+aWueW8jzvph4fmtrLmjIfmlbAiLz4NCiAgICAgICAgICAgIDxGdW5jdGlvbiBJRD0iMjAwMiIgQWxpYXM9IlZvZ2VsIiBQYXJhcz0i5LqV5bqV5rWB5Y6LO+S6p+ayuemHjzvorqHnrpfmlrnlvI876YeH5ray5oyH5pWwIi8+DQogICAgICAgICAgICA8RnVuY3Rpb24gSUQ9IjIwMDMiIEFsaWFzPSJGZXRrb3ZpY2giIFBhcmFzPSLkupXlupXmtYHljos75Lqn5rK56YePO+iuoeeul+aWueW8jzvph4fmtrLmjIfmlbA75rK55LqV5oCn6IO95oyH5pWwIi8+DQogICAgICAgICAgICA8IS0tKioqKioqKioqKioqKj8/Pz8/Pz8/6K6h566X5pa55byP77yI6L6T5YWl5Y+C5pWwL+a1i+ivleaVsOaNru+8ieWPiioq5Lqn5ray6YePL+S6p+ayuemHjy3kupXlupXmtYHljosqKioqKioqKioqKioqKioqKiotLT4NCg0KICAgICAgICA8L1dFTFN1YlRhZz4NCg0KDQogICAgICAgIDxXRUxTdWJUYWcgSUQ9IjEwMSIgTmFtZT0iV0RUUmVzRyIgQWxpYXM9IuawlOS6lSIgRmxhZ3M9IjMiIEZsYWdEZXNjcz0iMeWOi+WKm+W5s+aWuSsy5ouf5Y6L5YqbIiBQYXJhcz0i5YKo5bGC5Y6L5YqbO+WCqOWxgua4qeW6pjvlpKnnhLbmsJTnsbvlnos75aSp54S25rCU55u45a+55a+G5bqmO+a1geS9k+aooeWeizvljovnvKnlm6DlrZDmqKHlnos75Y6L57yp5Zug5a2Q5a2Q5L+u5q2j57O75pWwO+WkqeeEtuawlOeymOW6puaooeWeizvnspjluqbkv67mraPns7vmlbAiPg0KDQogICAgICAgICAgICA8RnVuY3Rpb24gSUQ9IjA1MDMiIEFsaWFzPSLkuIDngrnms5UiIFBhcmFzPSLkupXlupXmtYHljos75Lqn5rCU6YePIi8+DQogICAgICAgICAgICA8RnVuY3Rpb24gSUQ9IjA1MTAiIEFsaWFzPSJKb25lcyIgUGFyYXM9IuS6leW6lea1geWOizvkuqfmsJTph4875oiq6LedQTvmiKrot51CIi8+DQogICAgICAgICAgICA8RnVuY3Rpb24gSUQ9IjA1MDEiIEFsaWFzPSLkuozpobnlvI/kuqfog73mlrnnqIsiIFBhcmFzPSLkupXlupXmtYHljos75Lqn5rCU6YePIi8+DQogICAgICAgICAgICA8IS0tKio/Pz8/Pz8/P+iuoeeul+aWueW8j++8iOi+k+WFpeWPguaVsO+8muaIqui3nUE75oiq6LedQjvvvInlj4oq5rWL6K+V5pWw5o2u77ya5Lqn5rCU6YePO+S6leW6lea1geWOiyoqKioqKioqKi0tPg0KDQogICAgICAgIDwvV0VMU3ViVGFnPg0KDQogICAgPC9XRUxUYWc+DQoNCiAgICA8IS0t5rC05bmz5LqVLS0+DQogICAgPFdFTFRhZyBJRD0iMTAxIiBOYW1lPSJXZWxsSCIgQWxpYXM9IuawtOW5s+S6lSIgUGFyYXM9IiIgU2VyaWVzPSJXRFQiPg0KDQogPCEtLSoqKioqR2lnZXIqKkpvc2hpKioqUFNTKioqKipKb25lcyoqRmV0a292aWNoKioqUFNTKipCYWJ1IGFuZCBPZGVoKipWbGlzKj8/P0Jvcmlzb3Y/Pz9SZW5hcmQ/P+iuoeeul+aWueW8j++8iOi+k+WFpeWPguaVsC/mtYvor5XmlbDmja7vvInlj4oqKuS6p+a2sumHjy/kuqfmsrnph48t5LqV5bqV5rWB5Y6LKioqKioqKioqKioqKioqKioqLS0+DQoNCg0KICAgICAgICA8V0VMU3ViVGFnIElEPSIxMDAiIE5hbWU9IldEVFJlc08iIEFsaWFzPSLmsrnkupUiIFBhcmFzPSLmsrnol4/kuK3mt7E75rK56JeP5Y6L5YqbO+ayueiXj+a4qeW6pjvlnLDmuKnmoq/luqY75Zyw5rip5qKv5bqm5L+u5q2j57O75pWwO+WcsOmdouWOn+ayueWvhuW6pjvlpKnnhLbmsJTnm7jlr7nlr4bluqY75Zyw5bGC5rC05a+G5bqmO+WQq+awtDvnlJ/kuqfmsJTmsrnmr5Q76aWx5ZKM5Y6L5YqbO+mlseWSjOWOi+WKm+a1i+ivlea4qeW6pjvmurbop6PmsJTmsrnmr5Q75Y6f5rK55L2T56ev57O75pWwO+atu+ayueeymOW6pjvppbHlkozljp/msrnnspjluqY75pyq6aWx5ZKM5Y6f5rK557KY5bqmO+awtOeymOW6pjvlpKnnhLbmsJTljovnvKnlm6DlrZA75Y6f5rK55a+854Ot57O75pWwO+WkqeeEtuawlOWvvOeDreezu+aVsCI+DQoNCiAgICAgICAgICAgIDxGdW5jdGlvbiBJRD0iMDkwMSIgQWxpYXM9IkdpZ2VyIiBQYXJhcz0i5rK55bGC5Y6a5bqmO+ayueWxgua4l+mAj+eOhzvpnZ7lnYfotKjns7vmlbA75rC05bmz5q616ZW/5bqmO+azhOa1geWNiuW+hDvkupXnnLzljYrlvoQ75YKo5bGC6KGo55qu57O75pWwIi8+DQogICAgICAgICAgICA8RnVuY3Rpb24gSUQ9IjA5MDIiIEFsaWFzPSJKb3NoaSIgUGFyYXM9IuWCqOWxguWOmuW6pjvmsrnlsYLmuJfpgI/njoc76Z2e5Z2H6LSo57O75pWwO+awtOW5s+autemVv+W6pjvms4TmtYHljYrlvoQ75LqV55y85Y2K5b6EO+WCqOWxguihqOearuezu+aVsCIvPg0KICAgICAgICAgICAgIDxGdW5jdGlvbiBJRD0iMDkwMyIgQWxpYXM9IkJlbmRha2hsaWFfQXppeiIgUGFyYXM9IuS6leW6lea1geWOizvkuqfmsrnph48iLz4gICAgICAgICAgIA0KDQogICAgICAgIDwvV0VMU3ViVGFnPg0KDQoNCiAgICAgICAgPFdFTFN1YlRhZyBJRD0iMTAxIiBOYW1lPSJXRFRSZXNHIiBBbGlhcz0i5rCU5LqVIiBQYXJhcz0i5Zyw5bGC5Y6L5YqbO+WcsOWxgua4qeW6pjvlpKnnhLbmsJTnsbvlnos75aSp54S25rCU55u45a+55a+G5bqmO+a1geS9k+aooeWeizvljovnvKnlm6DlrZDmqKHlnos75Y6L57yp5Zug5a2Q5L+u5q2j57O75pWwO+WkqeeEtuawlOeymOW6puaooeWeizvnspjluqbkv67mraPns7vmlbA75rWL6K+V5pWw5o2uIj4NCg0KICAgICAgICAgICAgPEZ1bmN0aW9uIElEPSIwMTAyIiBBbGlhcz0i5Y6L5Yqb5bmz5pa55b2i5byPIiBGbGFncz0iMSIgRmxhZ0Rlc2NzPSIx5Y6L5Yqb5bmz5pa5IiBQYXJhcz0i5Y6L5Yqb5bmz5pa55pa55rOV5Y+C5pWwO+awtOW5s+S6leazhOa1geWNiuW+hDvmsLTlubPkupXmnInmlYjljYrlvoQ75rC05bmz5riX6YCP546HO+awlOWxguacieaViOWOmuW6piIvPg0KICAgICAgICAgICAgPCEtLSoqPz8/Pz8/Pz/orqHnrpfmlrnlvI/vvIjovpPlhaXlj4LmlbDvvJrmiKrot51BO+aIqui3nUI777yJ5Y+KKua1i+ivleaVsOaNru+8muS6p+awlOmHjzvkupXlupXmtYHljosqKioqKioqKiotLT4NCg0KICAgICAgICA8L1dFTFN1YlRhZz4NCiAgICA8L1dFTFRhZz4NCg0KPC9Sb290Pg0K \ No newline at end of file diff --git a/Bin/Config/Common/WdtMethodDefines.dat b/Bin/Config/Common/WdtMethodDefines_en.dat similarity index 100% rename from Bin/Config/Common/WdtMethodDefines.dat rename to Bin/Config/Common/WdtMethodDefines_en.dat diff --git a/Bin/Config/Common/WxdPwdFunDefines.dat b/Bin/Config/Common/WxdPwdFunDefines_cn.dat similarity index 100% rename from Bin/Config/Common/WxdPwdFunDefines.dat rename to Bin/Config/Common/WxdPwdFunDefines_cn.dat diff --git a/Bin/Config/Common/WxdPwdFunDefines_en.dat b/Bin/Config/Common/WxdPwdFunDefines_en.dat new file mode 100644 index 0000000..b3bdf6e --- /dev/null +++ b/Bin/Config/Common/WxdPwdFunDefines_en.dat @@ -0,0 +1 @@ +77u/PD94bWwgcup_mpadmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCg0KPCEtLSDnvJbovpHkvbwzy/nlKggWE1MU3B5IHYyMDA2IFUgKGh0dHA6Ly93d3cuYWx0b3ZhLmNvbSkg55SxIGFueSAoYW55KSAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KPCEtLSAgICDmnKzmlofmoaPnmoTnm67nmoTmmK/pkojlr7nnjovmmZPkuJzogIHluIhwd2TorqHnrpfnrpfms5XmqKHlnovov5vooYzlrprkuYkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEF1dGhvcihzKTogd2FuZ3pnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgQ3JlYXRlZCBEYXRlOiAyMDI0MDUyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIE1vZGlmaWVkIERhdGU6IDIwMjQwNzIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPg0KDQo8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4NCjwhLS0gRnVuY3Rpb24g5Ye95pWwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBOYW1l77yaICDlh73mlbDlkI3np7DvvIzku6PnoIHkuK3lkI3np7DvvIzlh73mlbDlhaXlj6Plh73mlbAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBBbGlhc++8miDliKvlkI3vvIzpgJrluLjlr7nlupTlh73mlbDlkI3np7DnmoTnm7jlhbPor7TmmI4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIFdic0NvZGVz77yaIOS6leWCqOe8luegge+8jOWmguaenOS4uuepuu+8jOWImeaJgOacie+8jOWPpuWkluS4ieS4quWQjCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgV2VsQ29kZXPvvJog5LqV5Z6L57yW56CBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIFJlc0NvZGVz77yaIOayueiXj+exu+Wei+e8lueggSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQo8IS0tICAgIEJkeUNvZGVz77yaIOi+ueeVjOe8lueggSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBJbnB1dHPvvJogICDovpPlhaXlj4LmlbDvvIzku6U75YiG5Ymy77yM5pSv5oyB566A5Y2V55qE5Yqg5YeP5LmY6ZmkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KPCEtLSAgICBPdXRwdXRz77yaICDovpPlh7rph4/vvIzpu5jorqTkuLpQd2TvvIzlj6/ku6XkuLrnqbrvvIzmmoLml7bml6DpnIDphY3nva4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCjwhLS0gICAgc1RpcHPvvJogICAg5Ye95pWw5o6l5Y+j6K+05piO5L+h5oGvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KDQoNCjxSb290Pg0KPEZ1bmN0aW9uIE5hbWU9IkRFTU8iIElucHV0cz0iY2RzKjI7eGUveGY7dEQiIE91dHB1dD0iUHdkIiBXYnNDb2Rlcz0iMDAiIFdlbENvZGVzPSI3MDE7NzAyIiBSZXNDb2Rlcz0iNzAxIiBCZHlDb2Rlcz0iMDE7MDIiIHNUaXBzPSLku4Xku4XkuLrkuobmvJTnpLoiIC8+DQo8RnVuY3Rpb24gTmFtZT0iVlB3RDAiIElucHV0cz0iY2RzO3REIiBPdXRwdXQ9IlB3ZCIgV2VsQ29kZXM9IjYwMSIgUmVzQ29kZXM9IjYwMSIgc1JlbWFyaz0i5pmu6YCa55u05LqV5peg6ZmQ5bu25Ly45qih5Z6LIiAvPg0KPEZ1bmN0aW9uIE5hbWU9IkZQd0Q4OTAiIElucHV0cz0iRmMvKHhmKkspO3h3L3hmO3l3L3hmO3hlL3hmO3llL3hmO3REIiBXZWxDb2Rlcz0iNjAwIiBSZXNDb2Rlcz0iNjAwIiBzUmVtYXJrPSLnn6nlvaLlsIHpl63lnLDlsYLmnInpmZDlr7zmtYHlnoLnm7Too4LnvJ3nur/mupDop6MiIC8+DQo8L1Jvb3Q+DQo= \ No newline at end of file diff --git a/Bin/Config/Lang/cn/Framework_cn.qm b/Bin/Config/Lang/cn/Framework_cn.qm index 31601cc..130535e 100644 Binary files a/Bin/Config/Lang/cn/Framework_cn.qm and b/Bin/Config/Lang/cn/Framework_cn.qm differ diff --git a/Bin/Config/Lang/cn/Framework_cn.ts b/Bin/Config/Lang/cn/Framework_cn.ts index 0ae5b97..a0c6710 100644 --- a/Bin/Config/Lang/cn/Framework_cn.ts +++ b/Bin/Config/Lang/cn/Framework_cn.ts @@ -776,6 +776,23 @@ Select lic file + + + Key is empty. + + + + + + Failed to load para defines. + + + + + + Failed to find para defines of '%1'. + + Failed to open file: @@ -828,23 +845,6 @@ %1 - - - Key is empty. - - - - - - Failed to load para defines. - - - - - - Failed to find para defines of '%1'. - - Scene of view is null, @@ -5035,6 +5035,18 @@ p, li { white-space: pre-wrap; } Failed to find file +%1 + + + + + Invalid receiver address +%1 + + + + + Attachment larger than max,ignored: %1 @@ -5053,12 +5065,6 @@ p, li { white-space: pre-wrap; } Invalid sender address - - - Invalid receiver address -%1 - - Eamil theme is empty, continue to send? @@ -5069,12 +5075,6 @@ p, li { white-space: pre-wrap; } Eamil main body is empty, continue to send? - - - Attachment larger than max,ignored: -%1 - - Failed to build SMTP connection @@ -5266,9 +5266,9 @@ p, li { white-space: pre-wrap; } 请选择许可文件 - + - 文件 + File @@ -5382,11 +5382,6 @@ p, li { white-space: pre-wrap; } Dialog 许可管理 - - - 文件 - - Tab 1 @@ -5396,6 +5391,11 @@ p, li { white-space: pre-wrap; } GroupBox Job选项 + + + File + 文件 + Tab 2 @@ -5534,6 +5534,11 @@ Loaded successfully. + + + run 'Load' first. + + @@ -5541,6 +5546,11 @@ Extracted %1 items successfully. + + + Make sure to save/override attribute file? + + Failed to open temp file @@ -5554,6 +5564,11 @@ Saved xmlfile successfully. + + + File not exists. + + @@ -5568,21 +5583,6 @@ Failed to converted xml to dat. - - - run 'Load' first. - - - - - Make sure to save/override attribute file? - - - - - File not exists. - - iWxToolBar diff --git a/Bin/Config/Lang/cn/WTAI_cn.qm b/Bin/Config/Lang/cn/WTAI_cn.qm index d1e6739..4adfdce 100644 Binary files a/Bin/Config/Lang/cn/WTAI_cn.qm and b/Bin/Config/Lang/cn/WTAI_cn.qm differ diff --git a/Bin/Config/Lang/cn/WTAI_cn.ts b/Bin/Config/Lang/cn/WTAI_cn.ts index 4e31297..a0c1531 100644 --- a/Bin/Config/Lang/cn/WTAI_cn.ts +++ b/Bin/Config/Lang/cn/WTAI_cn.ts @@ -196,24 +196,6 @@ - - MainWindow - - - MainWindow - - - - - 最小化 - - - - - 关闭 - - - QJsonParseError @@ -299,14 +281,12 @@ - - + Error value of 'Z' is 0. Z为0. - - + Error value of 'T' is 0. T为0. @@ -315,23 +295,23 @@ m_fro是'%1'. - + Error value of 'm_dRo' is %1. - + Error value of 'fMo' is %1. fMo是'%1'. - + Error value of 'm_dyg' is %1. - - + + Error value of 'm_dT' is %1. @@ -349,53 +329,53 @@ p是'%1'. - - - + + + Error value of 'p' is %1. p是'%1'. - - - - - + + + + + Error value of 'Rs' is %1. Rs错误:数值为'%1'. - + Error value of 'pb' is %1. pb错误:数值为'%1'. - + Error value of 't' is %1. t错误:数值为'%1'. - + Error value of 'den60' is %1 den60错误:数值为'%1'. - + Error value of 'Tb' is %1 Tb错误:数值为'%1'. - + Error value of 'Tc' is %1 Tc错误:数值为'%1'. - + Error value of 'd2' is %1. - + Error value of 'd1' is %1. @@ -408,12 +388,13 @@ f1错误:数值为'%1'. - + Error value of 'Rs' is 0. Rs错误:数值为0'. - + + Error value of 'Bw' is %1. BW错误:数值为'%1'. @@ -421,8 +402,8 @@ - - + + Open File 打开文件 @@ -572,8 +553,8 @@ - - + + @@ -642,7 +623,7 @@ - + Working Directory 工作目录 @@ -692,10 +673,10 @@ - + - + Ipr point more than three! IPR拟合需要至少3个点. @@ -729,48 +710,48 @@ - + Points (%1 and %2) are too close. - + Failed to find point of '%1' - - + + CD is zero - + u is zero - + Failed to get value of parameter 'CidRatio/alpha/phi/Miuo/Ct/rw/K - + CiD is zero - + alpha is zero - + Failed to get value of parameter 'C/S/Sleak/CidRatio/CD - + CidRatio is zero @@ -974,6 +955,7 @@ + Wel 井型 @@ -1044,6 +1026,26 @@ UseOrNot options 启用选项 + + + SubWel + + + + + Method + + + + + P_Pseu + + + + + P_Square + + @@ -1213,18 +1215,18 @@ - + m_dPc can't be 0 - + Y-F/dF is 0 - + @@ -1238,8 +1240,8 @@ - - + + Failed to adjust Pwd by WBS @@ -1472,8 +1474,8 @@ - - + + Name can't be empty. 名称不能为空. @@ -1488,12 +1490,12 @@ - + Export excel file 导出 - + Excel files (*.xls *.xlsx) @@ -1508,12 +1510,12 @@ - + name - + value @@ -1724,14 +1726,14 @@ - + Data of '%1' improper. - - + + Error value of 'Ro' is %1. @@ -1739,7 +1741,7 @@ - + Error value of 'Rg' is %1. @@ -1749,6 +1751,26 @@ Error value of 'Ro_API' is %1. + + + Wdt option is empty. + + + + + Failed to load wdt defines. + + + + + Failed to load wdt algs. + + + + + Points hit at least three. + + Failed to open database: @@ -1834,32 +1856,6 @@ - - SubMainWindow - - - MainWindow - - - - - Add - - - - - AddSubWnd - - - - - SubMainWnd - - - rrrrrrrrrrrrrrrr - - - ToolModel @@ -2444,7 +2440,7 @@ 流动段1 - + Flow rate segent bounds are not correct. 流动段边界不正确. @@ -2796,7 +2792,7 @@ iGuiPlot - + iGuiPlot @@ -3242,6 +3238,12 @@ make sure to continue? Failed to load ByteArray 序列化解析二进制出错 + + + Failed to parse + + + @@ -3254,14 +3256,8 @@ make sure to continue? 属性 - - Failed to parse - - - - - - + + Do you want to save your changes? 保存更改的数据内容? @@ -3293,7 +3289,7 @@ make sure to continue? - + Failed to get PF data. 获取压力或流量数据失败. @@ -3303,17 +3299,17 @@ make sure to continue? 流量数据存在,用激动井数据替换之? - + pSegInfo can't be null. - + m_pSegInfo data seem to be improper. - + Failed to find proper flow segment index. @@ -3419,10 +3415,15 @@ make sure to continue? iSubWndAnalWDT - + iSubWndAnalWDT + + + SubWnd is null. + + iSubWndBaseFit @@ -3519,18 +3520,18 @@ make sure to continue? - - + + Find no data records to remove. 无数据可删除. - + Failed to get key info of '%1' 未能找到表'%1'的主键信息 - + Failed to get sql desc to delete data 删除数据Sql出错 @@ -3617,43 +3618,43 @@ make sure to continue? - - + + DenChart 浓度图 - - + + VisChart 粘度图 - - + + T - - + + Sqrt(T) - - + + 0.25T - - + + -0.5T @@ -3667,64 +3668,64 @@ make sure to continue? 敏感性分析 - - + + Failed to prepare save dblog curves. 序列化保存失败. - + Need to fit model before saving sketch. 在保存示意图之前需要生成模型. - + Parameters do not correspond to - + Microsoft Access File(*.mdb;*.accdb) - + The current well is empty - + The saved table does not exist - + Value 数值 - + Unit 单位 - + Name - + Data exported successfully. - - + + DataIn - + Failed to export data. @@ -3733,24 +3734,24 @@ make sure to continue? 优化末端效应 - + Optimize Axis X&Y 优化坐标轴范围 - + Optimize Axis X 优化X轴范围 - + Optimize Axis Y 优化Y轴范围 - - - - + + + + Algo is still running, please wait. 算法仍在执行,请稍候. @@ -3761,27 +3762,27 @@ make sure to continue? - + Time Rang Error. 时间范围错误. - - - - + + + + Failed to check license. - + Failed to swap abouts. - - + + Failed to check interfere abouts. @@ -3791,7 +3792,7 @@ make sure to continue? 理论曲线为空,请重选. - + %1 param not find: %2 @@ -3800,47 +3801,47 @@ make sure to continue? 算法模型体为空 - + m_pAlgModel == nullptr - + Time Rang Error 时间范围错误 - + Gas not have Viscosity - + Failed to init iWxMixVis - + No need of using Rsq mode. - + Failed to get value of S. - + Failed to get proper info of segment. - + Find no proper active wellinfos - + Failed to build alg model. @@ -3978,14 +3979,14 @@ make sure to continue? - + Ipr result IPR结果 - - - + + + QAOP 无阻流量 @@ -3994,24 +3995,24 @@ make sure to continue? 采油指数 - + ModelMethods IPR方法 - + ModelDescs 表达式 - + FitLine 拟合线 - + DeterCoff 相关系数 @@ -4080,15 +4081,15 @@ make sure to continue? - - + + MiniAnalFr Up - - + + MiniAnalFr Down @@ -4108,44 +4109,44 @@ make sure to continue? - - + + Fitting - - + + regression point - + Total Friction KB - + Total Friction KT - + Perforation Friction K - + Nearby Wellbore Friction K - + Perforation Friction - + Nearby Wellbore Friction @@ -4256,55 +4257,81 @@ make sure to continue? iSubWndWDT - + WDTFit - + WDTGraph - + iSubWndWDT + + + WxModelOption's WdtOption is empty. + + + + + Failed to get defines of current wdtoption. + + + + + +WelID:%1; SubWelID:%2; MethodID:%3 + + + + + +MethodID:%1 + + + + + Failed to get defines of AlgItem. + + Ipr result IPR结果 - + WDT result - - - QAOP - 无阻流量 + 无阻流量 - ModelMethods - IPR方法 + IPR方法 + + + + Failed to get para values. + - + ModelDescs 表达式 - FitLine - 拟合线 + 拟合线 - DeterCoff - 相关系数 + 相关系数 @@ -4693,54 +4720,54 @@ make sure to continue? 遗传算法 - + Parameter 参数标识 - + Minimum 最小 - + Value 初值 - + Alias 参数名称 - + Maximum 最大 - + Unit 单位 - - + + SelectInv 反选 - + Ok 确定 - + Cancel 取消 - - + + SelectAll 全选 @@ -5545,6 +5572,12 @@ make sure to continue? Failed to parse data value of row %1. + + + +Data: %1 %2 %3 + + Beginning datetime seems improper, continue? @@ -5585,12 +5618,6 @@ make sure to continue? Whether there is a mistake to continue the data? 有错误数据是否继续? - - - -Data: %1 %2 %3 - - Failed to convert current binary data. @@ -6506,6 +6533,64 @@ Data: %1 %2 %3 + + iWxLangSwap + + + Changing language + 语言版本切换 + + + + Current: + 当前语言: + + + + TextLabel + + + + + Change language to + 语言切换至: + + + + CN + + + + + EN + + + + + RS + + + + + AR + + + + + Change will be valid next time + 语言切换将在下次启动/运行软件时生效 + + + + OK + 确定 + + + + Cancel + 取消 + + iWxLayerOption @@ -7053,23 +7138,35 @@ Data: %1 %2 %3 iWxModelOption - - - - - - - - + + + + + + + + Yes + + + + Model assistant is on + 模型助手已开启 + + + + + Model assistant is off + 模型助手已关闭 + WellType 井别 - + Current wel type not supported. @@ -7078,7 +7175,7 @@ Data: %1 %2 %3 %1 - + Search... @@ -7090,8 +7187,8 @@ Data: %1 %2 %3 %1 - - + + Option '%1' not supported. 选项'%1'不支持. @@ -7197,53 +7294,53 @@ Data: %1 %2 %3 - + Only wbs or bdy type supported. - + Current m_pOption is empty. - + Current item of wel or res is empty. - + Failed to find proper modeldesc with WelCode:%1; ResCode:%2; AdsorptionMode:%3. - + Code parsed but failed to read model info with '%1' - + Failed to read model info with '%1' - + Expand current group 展开当前组 - + Collapse current group 折叠当前组 - + Expand all groups 展开所有组 - + Collapse all groups 折叠所有组 @@ -7251,50 +7348,82 @@ WelCode:%1; ResCode:%2; AdsorptionMode:%3. iWxModelOptionWDT - WellType - 井别 + 井别 - + + SquareP + + + + + PseuP + + + + + Current wel type not supported. - + + + Option '%1' not supported. 选项'%1'不支持. + + + Current subwel type not supported. + + + + + Failed to collect information of Wel option + + + + + Failed to collect information of SubWel option + + + + + Failed to collect information of method option + + iWxModelParameter - + Failed to find config of '%1' 未能找到'%1'的配置信息 - + TODO: Error to read type of '%1' here 序列化读取类型'%1'出错 - + Hide HelpbBox 隐藏提示窗 - + Show HelpbBox 显示提示窗 - + Show all items 显示所有项 - + Show main items 显示主要项 @@ -7302,14 +7431,33 @@ WelCode:%1; ResCode:%2; AdsorptionMode:%3. iWxModelParameterEx - Name - 井号 + 井号 - Type - 井型 + 井型 + + + + iWxModelParameterUpDown + + + Name + + + + + Type + + + + + iWxModelParameterWDT + + + Failed to sum table infos. + @@ -8994,7 +9142,7 @@ Open it or not? Projects - + 工区 @@ -9230,12 +9378,6 @@ Open it or not? %2 - - - Failed to query by -%1 - - Failed to copy Config File to Target Project. @@ -9257,6 +9399,12 @@ Open it or not? '%1' + + + Failed to query by +%1 + + Failed to write data to %1 @@ -9362,63 +9510,65 @@ Open it or not? - + New Project 新建项目 - + Project Sketch 项目信息 - - + + + Project Save As 项目另存为... - + + Copy_of_ - + New Project Dir 新建项目 - + Project name can't be empty. 项目名称不能为空. - + Project name is invalid. 项目名称无效. - + Project name is beyond %1 bytes. 项目名过长(%1). - + Project desc is beyond %1 bytes. 项目描述过长(%1). - + Project path can't be empty. 项目路径不能为空. - + Project path is invalid. 项目路径无效. - + Project name already exists. 项目已经存在. @@ -9510,7 +9660,7 @@ Open it or not? Update lists - + 更新列表 @@ -10113,17 +10263,17 @@ Open it or not? iWxPvtPhaseParaPlot - + TODO:This is some desc of the above - + RstPt - + ReferPbPt @@ -10245,9 +10395,9 @@ Open it or not? 0.5 - + - Ct=(So*Co+Sg*Cg+Sw*Cw)*φ+Cf + Ct=(So*Co+Sg*Cg+Sw*Cw)+Cf @@ -10327,22 +10477,22 @@ Open it or not? 区间类型 - + Data scale is not OK. - + Data increment is not OK. - + Point count is not OK. - + Increment value is not OK. @@ -10361,7 +10511,7 @@ Open it or not? 属性 - + there are same configs of '%1' @@ -10725,12 +10875,12 @@ Open it or not? - + V/B - + Vasquez Beggs settings @@ -11052,42 +11202,42 @@ Open it or not? Vasquez and Beggs setting - + VasquezBeggs算法设定 Use Separator Settings - + 启用分离器参数 Parameters - 解释参数 + 输入参数 Tsep - + 分离器温度 - 60 + 15.5556 - + - F + - - Psep + + 0.791111 - - 0.791 - + + Psep + 分离器压力 @@ -11095,14 +11245,14 @@ Open it or not? - + Cancel - 取消 + 取消 - + OK - 确定 + 确定 @@ -11305,7 +11455,7 @@ Open it or not? 单位 - + Upload Rst Paras 上传解释结果 @@ -11542,20 +11692,20 @@ Open it or not? - - - + + + MiniFrac 小型压裂 - - + + Please select a AnalRun first 请先选择一项分析 - + Same name already exists. 名称已经存在. @@ -11883,7 +12033,7 @@ Open it or not? ThinLoop - 抽稀因数 + 目标点数 RawPtCount @@ -11964,7 +12114,7 @@ Open it or not? Thinning dFactor used in Douglas-Peukcer algorithm - + 希望双对数曲线最终保留的点数(粗略) @@ -11986,7 +12136,7 @@ Open it or not? - + Alg Method 算法选择 @@ -12057,27 +12207,27 @@ Open it or not? 取消 - + Ipr Run Option IPR选项 - + OnePointResults 一点法结果 - + Equation: 方程式 - + FlowRateWDT - + Data not proper or enough @@ -12671,6 +12821,61 @@ Open it or not? 关闭 + + iWxTestData + + + Test data... + + + + + Data inputs + + + + + P/F Chart + + + + + Show chart PF + + + + + OK + 确定 + + + + Cancel + 取消 + + + + Failed to get defines of AlgItem. + + + + + +MethodID:%1 + + + + + + Data not proper or enough + + + + + FlowRateWDT + + + iWxTime @@ -12924,19 +13129,19 @@ Open it or not? - + Make sure to delete selected project? 确定删除所选项目? - + '%1' owns %2 well(s) and all will be removed if continue, - - + + This project is deleted or destroyed, remove this name from recent directory lists? 该项目已删除或被破坏,从最近列表移除? @@ -12947,12 +13152,12 @@ remove this name from recent directory lists? 该目录无试井项目文件,从最近列表移除该目录? - + This project seems to be invalid. 项目无效. - + WTAI project files (*.wtf) @@ -12977,6 +13182,322 @@ remove this name from recent directory lists? + + iWxWelcomeNew + + + Working Directory + 工作目录 + + + + Open File + 打开文件 + + + + WTAI project files (*.wtf) + + + + + (%1) %2 +[%3] + + + + + Make sure to delete selected project? + 确定删除所选项目? + + + + '%1' owns %2 well(s) and all will be removed if continue, + + 项目'%1'包括%2口井数据,如果继续,将删除这些数据, + + + + Search projects... + 项目筛选... + + + + Sort projects and show + 调整显示顺序 + + + + Select Directory + 项目目录 + + + + Open directory + 选择工作目录 + + + + Open wft file + 选择工区文件 + + + + TimeInc + 时间正序 + + + + TimeDesc + 时间倒序 + + + + NameInc + 名称正序 + + + + NameDesc + 名称倒序 + + + + Recent Projs + 最近项目 + + + + Recent Dirs + 最近目录 + + + + Update lists + 更新列表 + + + + + Wells + + + + + + Results + 成果 + + + + Open project + 打开项目 + + + + Project save as + 项目另存为... + + + + Close project + 关闭项目 + + + + Delete project + 删除项目 + + + + Total projects: %1 + 项目数:%1 + + + + Projects + 工区 + + + + This project is deleted or destroyed, +remove this name from recent directory lists? + 该项目已删除或被破坏,从最近列表移除? + + + + No WTAI projects in this directory, +remove this name from recent directory lists? + 该目录无试井项目文件,从最近列表移除该目录? + + + + New Proj + 新建工区 + + + + iWxWelcomeNew1 + + Refresh + 刷新 + + + + + Well Testing Interpretation Software + + + + + + Search workspaces... + + + + + + Select Directory + 项目目录 + + + + + Recent Projs + 最近项目 + + + + + Recent Dirs + 最近目录 + + + + + ¡û Back + + + + + + + + + + Current opened workspace + + + + + Open + + + + + Clone + 克隆 + + + + Del + 删除 + + + + Loaded %1 workspaces from: %2 + + + + + + New Proj + 新建工区 + + + + + Selected workspace: %1 + + + + + Select Proj Directory + + + + + Proj name: + + + + + Select workspace directory + + + + + Created workspace: %1 + + + + + Open Proj + + + + + Save Proj As + + + + + Save workspace to: %1 + + + + + Please select a directory first + + + + + Returning to workspace view... + + + + + Opened workspace: %1 + + + + + Clone requested for: %1 + + + + + Delete Proj + + + + + Are you sure you want to delete workspace '%1'? + + + + + Deleted workspace: %1 + + + + + iWxWelcomeNew3 + + New + 新建 + + iWxWellNew @@ -13405,49 +13926,50 @@ remove this name from recent directory lists? 作业从属井为空 - - + + Well is null. 作业从属井为空 - + Failed to call nmWndUtils::loadRsts - + Failed to call nmWndUtils::saveRsts - + + Failed to load ByteArray - + Not licensed, just run in readonly mode 未能找到授权信息,只读模式运行 - + Series Navi 切换测试模型 - + failed to find Ribbon File settings - + Data 井数据 - + Results 成果 @@ -13456,50 +13978,50 @@ remove this name from recent directory lists? 分析 - + Anals 分析 - + Main 基本 - + Logs 日志 - + All 全部 - + Started %1 at %2 启动 %1 于 %2 - + Current user: %1 Login time: %2 登录用户:%1 登录时间:%2 - + Please open or new a project first. 请先打开或新建一个项目。 - - - + + + Not supported with ID='%1' 不支持的ID='%1' - - + + SubWnd is null. @@ -13509,37 +14031,43 @@ remove this name from recent directory lists? 错误:Mdi窗体类型为空。ID为'%1' - + Type is empty. 类型为空。 - + Failed to create wnd of '%1' 创建窗体'%1'失败 - + Master of Pressure Analysis %1 (%2) 压力分析大师 %1 (%2) - + + Failed to find para of '%1' + + + + %1 %2 (%3) - + %1 Project: [%2] DataPath: [%3] - + Current project dbVer is old, update it? 项目数据库版本较低,升级? - + + %1 table error: %2 @@ -13579,12 +14107,12 @@ remove this name from recent directory lists? 关闭所有页签 - + Failed to rename dir of '%1' 重命名目录'%1'失败 - + Failed to find config of table: '%1' diff --git a/Bin/Config/Lang/en/Framework_en.ts b/Bin/Config/Lang/en/Framework_en.ts new file mode 100644 index 0000000..862c031 --- /dev/null +++ b/Bin/Config/Lang/en/Framework_en.ts @@ -0,0 +1,5082 @@ + + + + + ExcelEngineAx + + + No excel or wps installed. + + + + + Failed to start excel or wps application + + + + + Failed to query excel or wps workbooks. + + + + + Failed to query workbook. + + + + + Failed to querySubObject Worksheets. + + + + + Failed to get proper sheet. + + + + + Failed to query work sheet (%1). + + + + + Failed to query excel or wps UsedRange. + + + + + Failed to query excel or wps normalize range. + + + + + + + No data to save. + + + + + Failed to convert data. + + + + + Range error. + + + + + ExcelEngineAxEx + + + nColFrom is not proper. + + + + + No data to export + + + + + Failed to extract excel contents. + + + + + ExcelEngineFuzzy + + + + Failed to find file +%1. + + + + + Failed to load file +%1. + + + + + + + Failed to find proper doc. + + + + + Sheet '%1' not found. + + + + + Sheet index %1 out of range (1-%2). + + + + + + + Failed to find proper doc or sheet. + + + + + + Failed to find sheet of '%1'. + + + + + Failed to query excel or wps normalize range. + + + + + No data to save. + + + + + Failed to save excel. + + + + + ExceptionReporter + + + ErrorReport + + + + + 错误消息发送 + + + + + 其他备注 + + + + + 错误ID + + + + + 错误信息 + + + + + 单位 + + + + + 人员 + + + + + 电话 + + + + + 人员信息 + + + + + 发送 + + + + + 取消 + + + + + Error ID + + + + + Error Info + + + + + Tips + + + + + Person Unit + + + + + Person Name + + + + + Person Phone + + + + + QObject + + + sLibName can't be empty. + + + + + setFunInfo first. + + + + + m_sExprs seems empty. + + + + + Failed to cal by exprs. + + + + + + No fun define for %1 paras, please contact dev + + + + + Failed to load library file: %1. + + + + + Failed to resolve function: %1. + + + + + failed to calculute of '%1' + + + + + In layer count not match current inputs. + + + + + Error + + + + + trimesh.exe is not exist + + + + + + FitWindow + + + + + + FitWidth + + + + + + FitHeight + + + + + Soft system used + + + + + Current project used + + + + + Customed by user + + + + + Pause + + + + + Continue + + + + + Quit + + + + + CloseB + + + + + FixP + + + + + Infinite + + + + + + + %1%2:%3%4 + + + + + + %1 + + + + + + + + + Open File + + + + + + Excel files (*.xls *.xlsx) + + + + + + Failed to get excel file %1. + + + + + No enough data in excel file %1. + + + + + Application not installed properlly. + + + + + Export excel file + + + + + Excel files (*.xlsx);;Excel 97-2003 files (*.xls) + + + + + + + + + + NON + + + + + UPTRIANGLE + + + + + DOWNTRIANGLE + + + + + CIRCLE + + + + + SQUARE + + + + + DIAMOND + + + + + CROSS + + + + + PLUS + + + + + STAR + + + + + LEFTTRIANGLE + + + + + RIGHTTRIANGLE + + + + + RIG + + + + + TRIANGLEWITHLINE + + + + + CRICLEWITHLINE + + + + + ARROW + + + + + Failed to open file: +%1 + + + + + Failed to extract file: +%1 + + + + + Failed to extract info of file: +%1 + + + + + Failed to decrypt file: +%1 + + + + + + Failed to find table xml defines of '%1' + + + + + '%1' key field is empty. + + + + + Failed to find default code here, please check it. + + + + + Type '%1' not supported. + + + + + '%1' key field and value not match. + + + + + Error configed. + + + + + + + Failed to open database: +%1 + + + + + KeyIndex: %1 is larger than colMax: %2 + + + + + Failed to delete data for null 'Where' + + + + + Failed to find %1 file + + + + + File format not supported %1 file + + + + + + + Failed to open file +%1 + + + + + Find no proper data +%1 + + + + + Failed to parse header of file +%1 + + + + + Find no data from Excel '%1' + + + + + Failed to parse header. + + + + + Key is empty. + + + + + + Failed to load para defines. + + + + + + Failed to find para defines of '%1'. + + + + + + Failed to find infomation of '%1' + + + + + Failed to find config of '%1' + + + + + + Low permibility + + + + + + Horizational well + + + + + + Prod driven + + + + + + Special reservoirs + + + + + Other + + + + + Jpg files (*.jpg *.jpeg);;Png files (*.png);;Icon files (*.ico);;All files (*.*) + + + + + + ModelParas files (*.xml) + + + + + + Save File + + + + + + Excel files (*.xls *.xlsx);;Unit files (*.xml) + + + + + %1 is loading... + + + + + Boundary details... + + + + + Layer %1 + + + + + Seg %1 + + + + + Len Error: Per Len is %1; All Len is %2 + + + + + More parameters... + + + + + Current point already added. + + + + + LegendItems + + + + + Scene of view is null, +nothing to save. + + + + + + + License code not match. + + + + + Failed to get mixed inner code. + + + + + Failed to create license code_i. + + + + + Date Code error. + + + + + Date error. + + + + + Save lic file to + + + + + Select lic file + + + + + TreeWxConfig + + + System setting + + + + + Unit manager + + + + + PlotTemplate + + + + + ModelParas + + + + + BtnCmds + + + + + Icons + + + + + Help + + + + + WordEngine + + + Failed to initialize Ole with error: %x. + + + + + Failed to load word application. + + + + + Failed to load word documents. + + + + + Failed to query current active document. + + + + + Failed to insert table. + + + + + ZxArrowTool + + + Arrow + + + + + ZxBarPlot + + + Top + + + + + Bottom + + + + + ZxCmdTool + + + ZoomEx + + + + + Image files (*.png *.bmp *.jpg) + + + + + Open File + + + + + ZxColorGradientDialog + + + Dialog + + + + + 数据值: + + + + + Nex + + + + + Def + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'SimSun'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> + + + + + Flp + + + + + Pre + + + + + Sav + + + + + Ope + + + + + Red + + + + + Ond + + + + + 透明度: + + + + + Save File + + + + + color(*.clr) + + + + + ZxColorPopup + + + Color + + + + + ZxComboBoxCbxRadioWx + + + Method Option + + + + + OK + + + + + Cancel + + + + + No proper option(s) given. + + + + + ZxComboBoxFuzzy + + + OK + + + + + Apply + + + + + Cancel + + + + + ZxContextMenuTool + + + Context Menu + + + + + ZxDotEdit + + + %1 mm + + + + + ZxDragScrollTool + + + Drag Scroll + + + + + ZxGradientDialog + + + Gradient + + + + + Color... + + + + + Index + + + + + Delete + + + + + Color count + + + + + Interpolation + + + + + Ok + + + + + Cancel + + + + + Linear + + + + + Color + + + + + ZxGriddingBoundaryWidget + + + Form + + + + + 内边界 + + + + + 可选择: + + + + + < + + + + + > + + + + + >> + + + + + << + + + + + 已选择: + + + + + 使用外边界 + + + + + ZxGriddingFaultWidget + + + Form + + + + + 可选择: + + + + + >> + + + + + > + + + + + < + + + + + << + + + + + 已选择: + + + + + ZxGriddingParameterDialog + + + Gridding Parameter + + + + + Method + + + + + Options... + + + + + Basic Parameter + + + + + X: + + + + + Y: + + + + + Start + + + + + End + + + + + Grid Count + + + + + Step + + + + + Output File + + + + + Browse... + + + + + Ok + + + + + Cancel + + + + + Inverse Distance Weighting + + + + + Moving Average + + + + + Nearest Neighbor + + + + + Natural Neighbor + + + + + Polynomial + + + + + Minimum Curvature + + + + + Kriging + + + + + Save + + + + + + + + + + + Search + + + + + + + + Boundary + + + + + + + + Fault + + + + + + + + + + + + + ZeroBoundary + + + + + Common + + + + + Variation Function + + + + + ZxGriddingProgressDialog + + + Progress + + + + + TextLabel + + + + + Stop + + + + + Iterate + + + + + times + + + + + ZxGriddingSearchWidget + + + Form + + + + + Do Not Search(Use All Points) + + + + + Search Options + + + + + Radius: + + + + + Sectors: + + + + + Max Points In All Sectors: + + + + + Max Points Per Sector: + + + + + Min Points In All Sectors: + + + + + Max Empty Sectors: + + + + + + Information + + + + + Min points in all sectors should be less than max points in all sectors. + + + + + Max empty sectors should be less than sectors. + + + + + ZxGriddingZeroBoundaryWidget + + + Form + + + + + 极值截取处理 + + + + + 最大值 + + + + + 最小值 + + + + + 零边界 + + + + + 内边界: + + + + + 外边界: + + + + + 清除选择的外边界 + + + + + ZxHandleTool + + + Handle + + + + + ZxInverseDistOptionsWidget + + + Form + + + + + Common + + + + + Power: + + + + + ZxKrigingOptionsWidget + + + Form + + + + + Parameter + + + + + Method: + + + + + Reset + + + + + Minimum Points: + + + + + Maximum Points: + + + + + Maximun In Each Quadrant: + + + + + Upper Limit: + + + + + Lower Limit: + + + + + Mean: + + + + + Search + + + + + Radius: + + + + + Angle: + + + + + X + + + + + Y + + + + + Z + + + + + Simple Kriging + + + + + General Kriging + + + + + Unstable Kriging + + + + + External Drift Kriging + + + + + ZxKrigingVariationFunctionWidget + + + Form + + + + + Add + + + + + Delete + + + + + qiu zhuang mo xing + + + + + zhi shu mo xing + + + + + gao si mo xing + + + + + mi mo xing + + + + + kong dong xiao ying mo xing + + + + + mo xing + + + + + kuai jin xiao ying + + + + + ji tai zhi + + + + + zhu fang xiang + + + + + ci fang xiang + + + + + chui zhi fang xiang + + + + + zhu fang xiang bian cheng + + + + + ci fang xiang bian cheng + + + + + chui zhi fang xiang bian cheng + + + + + ZxLinearGradientDialog + + + Gradient + + + + + Color1 + + + + + Color2 + + + + + Vertical + + + + + Horizontal + + + + + + Color + + + + + ZxLocalPolynomialOptionsWidget + + + Form + + + + + Common + + + + + Power: + + + + + Order + + + + + 1: F1(X,Y) = a + bX + cY + + + + + 2: F2(X,Y) = F1(X,Y) + dX2 + eXY + dY2 + + + + + 3: F3(X,Y) = F2(X,Y) + gX3 + hX2Y + iXY2 + jY3 + + + + + ZxMesh + + + Check Paramenter... + + + + + Interpolation... + + + + + Calculating Polygon... + + + + + Generating Triangle... + + + + + Init Mesh Model... + + + + + ZxMeshGriddingProgressBar + + + Dialog + + + + + TextLabel + + + + + Cancel + + + + + Gridding... + + + + + ZxMethodOptionsDialog + + + Options + + + + + Ok + + + + + Cancel + + + + + ZxMinCurveOptionsWidget + + + Form + + + + + Common + + + + + zui da can cha: + + + + + zui da die dai ci shu: + + + + + song chi die dai yin zi: + + + + + nei bu zhang li: + + + + + bian jie zhang li: + + + + + + ( > 0 ) + + + + + ( >= 0 and <= 2 ) + + + + + + ( >= 0 and <= 1 ) + + + + + ZxMovAvgOptionsWidget + + + Form + + + + + Common + + + + + Radius: + + + + + Min Points: + + + + + ZxMoveTool + + + Move + + + + + ZxNearestOptionsWidget + + + Form + + + + + Common + + + + + Radius: + + + + + ZxObjBandTool + + + mObjBandTool + + + + + ZxObjCompass + + + LeftTop + + + + + LeftBottom + + + + + RightTop + + + + + RightBottom + + + + + Free + + + + + N + + + + + ZxObjCompassTool + + + mObjCompassTool + + + + + ZxObjCurve + + + Free + + + + + Point_Free + + + + + Line_Free + + + + + Move_withBrother + + + + + Whole_Hori + + + + + Whole_Vert + + + + + Whole_Free + + + + + ZxObjCurveBarExTool + + + mCurveBarExTool + + + + + ZxObjCurveBarTool + + + WtCurveBaseTool + + + + + ZxObjCurveBase + + + Point state array's size not match with m_vecPoints + + + + + ZxObjCurveBaseTool + + + MoveF + + + + + ZxObjCurveDiscreteTool + + + MoveDiscrete + + + + + ZxObjCurveFlow + + + %4: %1 +%5: %2 - %3 + + + + + %4: %1 - %2 +%5: %3 + + + + + Free + + + + + Point_Free + + + + + Line_Free + + + + + Move_withBrother + + + + + Whole_Hori + + + + + Whole_Vert + + + + + Whole_Free + + + + + ZxObjCurveFlowTool + + + MoveF + + + + + ZxObjCurveFreeTool + + + WtCurveBaseTool + + + + + ZxObjCurvePressure + + + Free + + + + + Point_Free + + + + + Line_Free + + + + + Move_withBrother + + + + + Whole_Hori + + + + + Whole_Vert + + + + + Whole_Free + + + + + ZxObjImage + + + Image files (*.png *.bmp *.jpg) + + + + + Open File + + + + + ZxObjImageTool + + + mObjImageTool + + + + + ZxObjLineParallel + + + + Parallel %1 + + + + + Parallel -1/%1 + + + + + Parallel 1/%1 + + + + + ZxObjLineParallelTool + + + mObjLineParallelTool + + + + + ZxObjLineSlr + + + + Line %1 + + + + + Line -1/%1 + + + + + Line 1/%1 + + + + + ZxObjLineSlrTool + + + mObjLineSlrTool + + + + + ZxObjLineSpecialTool + + + mObjLineSpecialTool + + + + + ZxObjLineTool + + + mObjLineTool + + + + + ZxObjPointSlr + + + Speci Point + + + + + ZxObjPointSlrTool + + + mObjPointSlrTool + + + + + ZxObjPointTool + + + mObjPointTool + + + + + ZxObjPolygonTool + + + mObjPolygonTool + + + + + ZxObjRectTool + + + mObjRectTool + + + + + ZxObjText + + + Left + + + + + CenterH + + + + + Right + + + + + Top + + + + + CenterV + + + + + Bottom + + + + + ZxObjTextTool + + + TextEditTool + + + + + ZxObjToolBase + + + mObjToolBase + + + + + ZxPenEdit + + + 1 px + + + + + ZxPlot + + + Make sure to clear selected state of current curve? + + + + + Show data of '%1' + + + + + Clear points selection of '%1' + + + + + Failed to append obj. + + + + + Send to Back + + + + + Send Backward + + + + + Bring Forward + + + + + Bring to Front + + + + + ZxPlotBase + + + Top + + + + + Bottom + + + + + ZxPolynomialOptionsWidget + + + Form + + + + + Surface + + + + + Plane + + + + + Quadric Surface + + + + + Cubic Surface + + + + + Custom Surface + + + + + Common + + + + + Max Order: + + + + + ZxPropEdit_Bool + + + Yes + + + + + No + + + + + ZxPropEdit_Enum + + + <empty> + + + + + ZxPropEdit_Flags + + + | + + + + + ZxPropEdit_Picture + + + Open + + + + + Images (*.png *.bmp *.jpg) + + + + + ZxPtyCommand + + + change + + + + + ZxPtyDock + + + SaveForSelf + + + + + SaveForAll + + + + + ZxPtyFileManager + + + Pty tag is empty, use 'default'. + + + + + Failed to load pty file: +%1 + + + + + ZxPtyPano + + + Property + + + + + Value + + + + + Help:TODO + + + + + ZxRBFOptionsWidget + + + Form + + + + + Common + + + + + Basis Function: + + + + + R2: + + + + + ZxRenderItem + + + Failed to find file +%1 + + + + + Failed to save file. + + + + + ZxSceneItem + + + Back Layer + + + + + Main Layer + + + + + Front Layer + + + + + Temporay Layer + + + + + Copy + + + + + &Copy + + + + + Ctrl+C + + + + + Paste + + + + + &Paste + + + + + Ctrl+V + + + + + Cut + + + + + Cu&t + + + + + Ctrl+X + + + + + + Del + + + + + &Delete + + + + + edit-select-all + + + + + Select &All + + + + + Ctrl+A + + + + + Save File + + + + + Dotted archived files (*.dat) + + + + + Save + + + + + before close? + + + + + Untitled + + + + + ... (x + + + + + ) + + + + + ZxScrollTool + + + Hand + + + + + ZxSelectTool + + + Select + + + + + ZxSubAxisBase + + + Axis type not supported '%1' + + + + + ZxSubAxisDt + + + sec + + + + + min + + + + + hour + + + + + ZxSubAxisY + + + + Error: Axis height is 0. + + + + + ZxSubLegend + + + LeftTop + + + + + LeftBottom + + + + + RightTop + + + + + RightBottom + + + + + Free + + + + + ZxSubLegendTool + + + mObjLegendTool + + + + + ZxSubNaviBar + + + Production + + + + + Fall Off + + + + + ZxSymbolPullList + + + Form + + + + + ZxSystem + + + (DEBUG) + + + + + ZxTabWidget + + + Close current tab + + + + + ZxTableOption + + + Table format + + + + + All + + + + + + AutoTrim + + + + + Columns + + + + + * Determined column type by first row + + + + + ColName + + + + + Digits + + + + + Remark + + + + + (*Unused column) + + + + + OK + + + + + Cancel + + + + + ZxTableView + + + + &Format columns + + + + + + Clear Selection + + + + + &Insert One Row (Above) + + + + + &Insert One Row (Below) + + + + + &Insert Multi Rows + + + + + &Above + + + + + &Below + + + + + &Insert Column + + + + + &Remove Row + + + + + &Remove Column + + + + + &Copy + + + + + &Paste + + + + + &Cut + + + + + &Export Data + + + + + &Save to DataBase + + + + + + Input insert Rows + + + + + + Row Number: + + + + + Input insert Columns + + + + + Column Number: + + + + + Make sure to delete selected records? + + + + + Data exported successfully. + + + + + Failed to export data. + + + + + ZxTableViewEx + + + All + + + + + ZxTranslator + + + English + + + + + Chinese + + + + + ZxUiBase + + + Error to write type of '%1' here + + + + + Error to read type of '%1' here + + + + + + + %1 not considered. + + + + + + + TODO: type of '%1' here + + + + + Not matched: %1 + + + + + ZxZoomTool + + + Zoom + + + + + iBaseNavi + + + Please re-choose model type, current is: + + + + + Open selected project at same time. + + + + + (%1) %2 [%3] + + + + + iCppExtractor + + + Flags + + + + + Brush + + + + + Marker Code + + + + + Code + + + + + Marker + + + + + Pen + + + + + Offset + + + + + X + + + + + Y + + + + + Width + + + + + Height + + + + + Text + + + + + Depth + + + + + Top Depth + + + + + Bottom Depth + + + + + Length + + + + + Style + + + + + Min + + + + + Max + + + + + Color + + + + + Font + + + + + Angle + + + + + Type + + + + + Title + + + + + Name + + + + + Unit + + + + + iGridLineUtils + + + No items found + + + + + iGridResultUtils + + + No items found + + + + + Copy Current Item + + + + + Copy Current Group + + + + + Copy All Items + + + + + iGridRowItemImg + + + Image files (*.png *.bmp *.jpg) + + + + + Browse image file + + + + + file not exists: %1 + + + + + iGridRowUtils + + + + No parameters found + + + + + + Failed to find config of '%1' + + + + + Property + + + + + Value + + + + + Copy Current Item + + + + + Copy Current Group + + + + + Copy All Items + + + + + iLicWxUtils + + + Dialog + + + + + 许可文件 + + + + + 注册码 + + + + + 许可服务器 + + + + + 其它(待扩展) + + + + + 当前产品列表 + + + + + 有效天数 + + + + + 90 + + + + + 天 + + + + + 授权时长 + + + + + 授权对象 + + + + + 姓名 + + + + + 单位 + + + + + 生成时同步保存 + + + + + 生成 + + + + + 存为Lic + + + + + 注册 + + + + + 关闭 + + + + + Save lic info to Excel or not: + + + + + + %1 License Manager + + + + + Register + + + + + LicenseGenerator + + + + + Error license config, please contact tech. members. + + + + + Failed to export data. + + + + + Valid date size is not ok. + + + + + Curtomer name is null. + + + + + License codes generated successfully. + + + + + License saved successfully. + + + + + License registered successfully. + + + + + License checked successfully. + + + + + iParaItemCtrl + + + CloseB + + + + + FixP + + + + + iPlotBaseWxT + + + Failed to parse + + + + + + Failed to load + + + + + + iSplashObjImgLoop + + + 名称重命名 + + + + + iWxConfigAlgoSetting + + + iWxConfigAlgoSetting + + + + + Test Type + + + + + Fluid Type + + + + + Algorithm Settings + + + + + iWxConfigBase + + + Save + + + + + Name '%1' already defined which is repeated. + + + + + iWxConfigBtnCmds + + + iWxConfigBtnCmds + + + + + + Refresh + + + + + Refresh current btn_cmds + + + + + Current Buttons + + + + + Desc: + + + + + GraphItems + + + + + Advanced GraphItems + + + + + UserInterface + + + + + ZoomTools + + + + + Visible + + + + + I/O + + + + + Delete + + + + + Browse folder + + + + + Add + + + + + iWxConfigDefaultValue + + + iWxConfigDefaultValue + + + + + Test Type + + + + + Fluid Type + + + + + Default values + + + + + iWxConfigIcons + + + iWxConfigIcons + + + + + Browse + + + + + + + Refresh + + + + + Browse icon folder + + + + + Current Icons + + + + + Delete + + + + + Browse folder + + + + + Add + + + + + Make sure to delete selected info(s)? + + + + + iWxConfigModelParas + + + iWxConfigModelParas + + + + + LoadCurrent + + + + + Load Current Selection + + + + + Model Parameter Descriptions + + + + + Name + + + + + Alias + + + + + Unit + + + + + DefaultValue + + + + + Max + + + + + Min + + + + + Tips + + + + + Failed to find unit config of '%1' + + + + + Failed to export data. + + + + + iWxConfigPaths + + + iWxConfigPaths + + + + + Test Type + + + + + Fluid Type + + + + + Paths + + + + + iWxConfigPlotTemplate + + + iWxConfigPlotTemplate + + + + + LoadCurrent + + + + + OpenFolder + + + + + Load template for current typed object + + + + + Open template folder + + + + + Plot template + + + + + TestPlot + + + + + FreeCurve + + + + + Properties + + + + + iWxConfigSys + + + Dialog + + + + + Language + + + + + Chinese + + + + + English + + + + + Other + + + + + System Sheets + + + + + CurSheet + + + + + WTAI.css + + + + + SheetSrc + + + + + $/Config/WTAI/WTAI.css + + + + + ... + + + + + Standards + + + + + PetroChina + + + + + SinoPetro + + + + + CNOOC + + + + + Unit Standards + + + + + Unit System 1 + + + + + Unit System 2 + + + + + Others + + + + + AutoSave + + + + + Per + + + + + minutes + + + + + Run WTAI with splash mode + + + + + iWxConfigSys + + + + + iWxConfigUnit + + + iWxConfigUnit + + + + + LoadCurrent + + + + + LoadExcel + + + + + CheckCurXml + + + + + Load Current Selection + + + + + Load From Excel + + + + + Check Current Xml + + + + + Unit lists + + + + + Type + + + + + Unit + + + + + k + + + + + b + + + + + Digit + + + + + Remark + + + + + Failed to find para of '%1' + + + + + There are %1 para unit(s) not configed properly in Model '%2' + + + + + + [Para] Name:%1 Alias:%2 Unit:%3 + + + + + + + Failed to export data. + + + + + Data exported successfully. + + + + + iWxConfigWizard + + + All Configs + + + + + Help + + + + + Save + + + + + SaveAll + + + + + <<Back + + + + + Next>> + + + + + Config settings (%1/%2): %3 + + + + + TODO: hidden into subwnd + + + + + iWxHelp + + + Chapters + + + + + WTAI Help + + + + + Test + + + + + iWxLicGenerator + + + + iWTAI License Generator + + + + + Dates + + + + + DeadLine(Days) + + + + + 180 + + + + + Permanent + + + + + Modules + + + + + Anal Test + + + + + Num Test + + + + + IPR Test + + + + + AI Test + + + + + Customers + + + + + Save + + + + + Cancel + + + + + WTAI lic file (*.lic) + + + + + Please enter a valid number of days. + + + + + Please select proper modules to license. + + + + + Lic file saved successfully +%1 + + + + + Failed to save lic file. + + + + + iWxLicUpdater + + + + iWTAI License Updater + + + + + Load lic from + + + + + Lic: + + + + + ... + + + + + Load + + + + + Update + + + + + Close + + + + + WTAI lic file (*.lic) + + + + + Lic file does not exist. + + + + + Failed to read lic file. + + + + + ========== WTAI License Information ========== + + + + + + License Type: Permanent + + + + + + Expiration Date: %1 (Remaining %2 days) + + + + + + Authorized Modules: %1 + + + + + + Authorized Customers: %1 + + + + + + ========================================= + + + + + + Please load lic file first. + + + + + Failed to update. + + + + + + Please copy this program to the same directory as the WTAI exe. + + + + + File exists, makesure to continue and overwrite it? + + + + + License updated successfully + + + + + Failed to update license file. + + + + + iWxMailSender + + + 发送邮件 + + + + + Sender Address + + + + + Sender Password + + + + + Reciever Email Address + + + + + Subject + + + + + Message + + + + + Attachmentments + + + + + ... + + + + + Send + + + + + Cancel + + + + + Invalid email: '%1' + + + + + + Password can't be empty + + + + + Invalid and ignored email: '%1' + + + + + No valid emails + + + + + Open File + + + + + All Files (*) + + + + + Failed to find file +%1 + + + + + Files must be less than %1 MB + + + + + Invalid hosts-about information + + + + + Invalid sender address + + + + + Invalid receiver address +%1 + + + + + Eamil theme is empty, continue to send? + + + + + Eamil main body is empty, continue to send? + + + + + Attachment larger than max,ignored: +%1 + + + + + Failed to build SMTP connection + + + + + Failed to login SMTP server + + + + + Failed to send emails + + + + + Sent emails successfully + + + + + iWxRegBase + + + Failed to create license code with '%1' + + + + + Inner code not contains ':' + + + + + Failed to get license code with '%1' + + + + + Error lic info. + + + + + Lic code not contains ':' + + + + + Failed to register. + + + + + iWxRegCode + + + MPA许可注册 + + + + + 初始内码 + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'SimSun'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> + + + + + 授权码 + + + + + Inner code is empty. + + + + + iWxRegFile + + + Dialog + + + + + 请选择许可文件 + + + + + File + + + + + ... + + + + + 授权码 + + + + + Lic files (*.lic) + + + + + Open file + + + + + Save file + + + + + Loaded lic file successfully. + + + + + Failed to load file. + + + + + Failed to parse lic file. + + + + + File path is empty. + + + + + Failed to save file. + + + + + Inner code is empty. + + + + + iWxRegServer + + + Dialog + + + + + 服务器信息 + + + + + IP + + + + + 1521 + + + + + User + + + + + admin + + + + + 测试连接 + + + + + 授权码 + + + + + Inner code is empty. + + + + + iWxRibbon + + + Dialog + + + + + File + + + + + Tab 1 + + + + + Tab 2 + + + + + + 页 + + + + + failed to find Ribbon File settings + + + + + (%1) %2 [%3] + + + + + iWxToolAttributes + + + Attribute Manager + + + + + File options + + + + + + + ... + + + + + CurrentXml + + + + + CurrentDat + + + + + ExtractDir + + + + + M + + + + + F + + + + + Excluded dir that contains one of the following + + + + + Append (checked) or overwrite(unchecked) if xml exist + + + + + Append if xml exist + + + + + Load current or empty file (xml-formated) + + + + + 1. LoadXml + + + + + Extract from cpp files and cache to xml doc + + + + + 2. ExtractCpp + + + + + Save to xml file + + + + + 3. SaveXml + + + + + Convert xml file to dat file + + + + + 4. XmlToDat + + + + + Close + + + + + Cpp dir to extract + + + + + +Loaded successfully. + + + + + + run 'Load' first. + + + + + +Extracted %1 items successfully. + + + + + + Make sure to save/override attribute file? + + + + + Failed to open temp file +%1. + + + + + +Saved xmlfile successfully. + + + + + + File not exists. + + + + + +Converted xml to dat successfully. + + + + + + +Failed to converted xml to dat. + + + + + + iWxToolBar + + + Type '%1' from '%2' not supported + + + + + iWxTreeBase + + + Rename + + + + + Del + + + + + Edit + + + + + Expand current node + + + + + Collapse current node + + + + + Expand all nodes + + + + + Collapse all nodes + + + + + refresh + + + + + Make sure to delete selected data? + + + + + The input is empty. + + + + + iWxXmlEdit + + + Xml Editor + + + + + File options + + + + + CurrentXml + + + + + ... + + + + + Order by following attributes (separated by ',') + + + + + Back up raw xml file(s) + + + + + Load current or empty file (xml-formated) + + + + + Convert + + + + + Close + + + + + Cpp dir to extract + + + + + File not exists: +%1. + + + + + No order-by attributes. + + + + + +Converted xmlfile successfully. + + + + + + iXmlItemBase + + + Parent object changed from '%1'' to '%2'. + + + + + tCurvePlotView + + + Undo + + + + + Redo + + + + + Optimize Axis X&Y + + + + + Optimize Axis X + + + + + Optimize Axis Y + + + + + Show/hide title + + + + + Show/hide legend + + + + + Save as image + + + + + Copy to clipboard + + + + + Print + + + + + Print Preview + + + + + Failed to copy image. + + + + + PNG file(*.png);;JPG file(*.jpg);;TIFF file(*.tiff);;BMP file(*.bmp);;SVG file(*.svg);;PDF file(*.pdf) + + + + + Save File + + + + + Exported file successfully. + + + + + + Failed to export image file. + + + + + Current Pos:%1-%2 + + + + diff --git a/Bin/Config/Lang/en/WTAI_en.qm b/Bin/Config/Lang/en/WTAI_en.qm new file mode 100644 index 0000000..cb7bac5 Binary files /dev/null and b/Bin/Config/Lang/en/WTAI_en.qm differ diff --git a/Bin/Config/Lang/en/WTAI_en.ts b/Bin/Config/Lang/en/WTAI_en.ts new file mode 100644 index 0000000..0679930 --- /dev/null +++ b/Bin/Config/Lang/en/WTAI_en.ts @@ -0,0 +1,12954 @@ + + + + + DlgModelBind + + + Form + + + + + Wel Model Info + + + + + + Wel Type: + + + + + Res Model Info + + + + + Res Type: + + + + + Exists Model Info + + + + + Param list + + + + + Param Type: + + + + + Series: + + + + + Ok + + + + + Cancel + + + + + DlgNode + + + Dialog + + + + + Node Info + + + + + ID: + + + + + Cn: + + + + + En: + + + + + SubNode Info + + + + + Type: + + + + + Tag: + + + + + Ok + + + + + Cancel + + + + + DlgTestMatrix + + + TestMatrix + + + + + Src Matrix + + + + + rows: + + + + + 4 + + + + + cols: + + + + + 5 + + + + + Cal Matrix + + + + + Determinant + + + + + Transpose + + + + + Init + + + + + Inverse + + + + + Res Matrix + + + + + Eigen + + + + + EigenTime + + + + + mAlgMatrix + + + + + AlgMatrixTime + + + + + MainWindow + + + MainWindow + + + + + 最小化 + + + + + 关闭 + + + + + QJsonParseError + + + no error occurred + + + + + unterminated object + + + + + missing name separator + + + + + unterminated array + + + + + missing value separator + + + + + illegal value + + + + + invalid termination by number + + + + + illegal number + + + + + invalid escape sequence + + + + + invalid UTF8 string + + + + + unterminated string + + + + + object is missing after a comma + + + + + too deeply nested document + + + + + QObject + + + Failed to find ModelDesc with +'%1' + + + + + WBS='%1' and WEL='%2' and RES='%3' and BDY='%4' + + + + + Unexceptional para:%1 + + + + + + + + + + + + + + + + + + + + + + + Failed to adjust Pwd by WBS + + + + + + CD is zero + + + + + u is zero + + + + + Failed to get value of parameter 'CidRatio/alpha/phi/Miuo/Ct/rw/K + + + + + CiD is zero + + + + + alpha is zero + + + + + Failed to get value of parameter 'C/S/Sleak/CidRatio/CD + + + + + CidRatio is zero + + + + + Not supported model-type + + + + + Points (%1 and %2) are too close. + + + + + Failed to find point of '%1' + + + + + Pressure range or interval not proper + + + + + Pressure data is empty. + + + + + Failed to adjust comps args. + + + + + Comps data not proper. + + + + + No component with none-zeror ratio. + + + + + Failed to calculate_subsequent_variables. + + + + + Not Find Bo + + + + + Not Find Ct + + + + + + + + + '%1' not supported. + + + + + Error value of 'p' is %1. + + + + + 'rg' should be in range of 0.57~1.68. + + + + + 'pr' should be larger than 0. + + + + + Error value of 'Z' is 0. + + + + + Error value of 'T' is 0. + + + + + m_dPc can't be 0 + + + + + Y-F/dF is 0 + + + + + + + + + Error value of 'Ro' is %1. + + + + + + Error value of 'Rg' is %1. + + + + + + Error value of 'Ro_API' is %1. + + + + + + + Error value of 'p' is %1. + + + + + + + + + Error value of 'Rs' is %1. + + + + + Error value of 'pb' is %1. + + + + + Error value of 't' is %1. + + + + + Error value of 'den60' is %1 + + + + + Error value of 'Tb' is %1 + + + + + Error value of 'Tc' is %1 + + + + + Error value of 'd2' is %1. + + + + + Error value of 'd1' is %1. + + + + + Error value of 'Rs' is 0. + + + + + Error value of 'm_dRo' is %1. + + + + + Error value of 'fMo' is %1. + + + + + Error value of 'm_dyg' is %1. + + + + + + Error value of 'm_dT' is %1. + + + + + + Error value of 'Bw' is %1. + + + + + + + + + + + Failed to call alg + + + + + Only %1 data left after adjusting deriv. + + + + + + + Failed to interpolate. + + + + + Failed to find value in array Prs that is near m_dPc enough. + + + + + Failed to find data in time array that t > m_dTc + + + + + Only %1 proper data in time array that t > m_dTc + + + + + m_dK value not set + + + + + Failed to find 0 data of Flow. + + + + + clpx value not set + + + + + m_dTp value not set + + + + + m_dTp value is set (%1) but improper + + + + + Failed to find a(%1) and b(%2) + + + + + + Failed to divide matrixes by left mode + + + + + Two fitting lines are parallel. + + + + + Error: Left %1; Right %2 + + + + + + Data improper + + + + + + data size not match + + + + + Array data error + + + + + Error: min %1; max %2 + + + + + Failed to get value of '%1' + + + + + x / y arrays are improper. + + + + + Failed to find '%1' + + + + + Sizes of match(T:%1 vs P:%2). + + + + + Error occurred (T:%1 vs P:%2). + + + + + Jacobian nearly singular + + + + + + + Failed to get pvt-about data + + + + + mu_w is 0. + + + + + Failed to get pvt of '%1' + + + + + Failed to get kr-about data + + + + + LayerSize is empty + + + + + Failed to find paras of layer '%1' + + + + + + Failed to get kr + + + + + Wdt option is empty. + + + + + + + + + + + Failed to resolve function: %1. + + + + + cds is zero + + + + + K is zero + + + + + xf is zero + + + + + + + + Failed to load library file: %1. + + + + + Failed to current fun defines. + + + + + Failed to get value of '%1'. + + + + + + Lib file not loaded properly, please setLibName first. + + + + + No fun define for %1 paras, please contact dev + + + + + Time Range Error: TimeFrom(%1)-TimeEnd(%2). + + + + + Proper pressure size is 0. + + + + + Type '%1' not supported. + + + + + + Well code count not match with name count + + + + + Failed to load PVTInfo with + '%1' + + + + + Failed to load AnalRun with + '%1' + + + + + Failed to find config db file. + + + + + Failed to load RstUtils with + '%1' + + + + + Failed to load wellbore with + '%1' + + + + + Failed to load fluid with + '%1' + + + + + Failed to load Res with + '%1' + + + + + Failed to load layer infos with + '%1' + + + + + Failed to load guage pressure infos with + '%1' + + + + + Failed to load guage fluid infos with + '%1' + + + + + Failed to load gas infos with + '%1' + + + + + Failed to load other infos with + '%1' + + + + + Currrent well or wellcode is null + + + + + Excel Files(*.xls *.xlsx) + + + + + Excel file(*.xlsx);;Excel 97-2003 file(*.xls) + + + + + + Time row#%1 data '%2' is greater than '%3' + + + + + + Time row#%1 data '%2' is less than '%3' + + + + + Time row#%1 data '%2' is greater than '%3' or less than '%4' + + + + + + New + + + + + + New sub wnd + + + + + + Single phase + + + + + + Multiphase + + + + + + Pseu3Contained + + + + + + TAG1 + Loglog plot + + + + + TAG2 + Semilog plot + + + + + TAG3 + History plot + + + + + TAG4 + History plot {4?} + + + + + SensitivityPlot + + + + + + DeconvPlot + + + + + + Inflow Performance Relationship + + + + + + Injection Of CO2 + + + + + + Coupling Of CO2 + + + + + + Distribuition Of CO2 + + + + + + Mini Frac Model + + + + + + DataInput + + + + + + CurveData + + + + + + DataRst + + + + + + Wbs + WellboreModel + + + + + + Wel + WellModel + + + + + Res + ReservoirModel + + + + + Bdy + BoundaryModel + + + + + ModelOption + + + + + + ModelParameter + + + + + + WellBasic + + + + + + WellRes + + + + + + WellFluid + + + + + + Normal + + + + + + Interference + + + + + + FractuWell + + + + + + PressGrad + + + + + + DynamicK + + + + + + SmallSignal + + + + + + Adsorption + + + + + + CrossFlow + + + + + + StressSensitive + + + + + + UseOrNot options + + + + + + Value (FromStart) + + + + + + Value (Duration) + + + + + + RealTime + + + + + + RealDateTime + + + + + + RealDate + + + + + + Date + + + + + + Time + + + + + + AccuTime + + + + + + DateTime + + + + + + Pressure + + + + + + AvgP + + + + + + FlowRate + + + + + + ProdOil + + + + + + ProdGas + + + + + + ProdWater + + + + + + PseudoPressure + + + + + + WithDetiv + + + + + + Radius + + + + + + Vis + + + + + + Den + + + + + + Other + + + + + + All supported files(*.txt *.dat *.rec *.xls *.xlsx *.csv);;Test text file(*.txt);;Test dat file(*.dat);;Test dat file(*.rec);;Excel file(*.xlsx);;Excel 97-2003 file(*.xls);;csv file(*.csv);;All file(*.*) + + + + + + Sqlite Database File(*.db) + + + + + + Sqlite Database File(*.mdb) + + + + + + Structure + + + + + + ContractionStructure + + + + + + ExpansionStructure + + + + + + CloseWellDynSurface + + + + + + Next + + + + + + Prev + + + + + + Run + + + + + + SaveFile + + + + + + LoadFile + + + + + + WellHeadPressure + + + + + + BottomHolePressure + + + + + SubWel + + + + + Method + + + + + P_Pseu + + + + + P_Square + + + + + + Failed to load chart defines. + + + + + Failed to load wdt defines. + + + + + Failed to load wdt algs. + + + + + + + + Name can't be empty. + + + + + Phase option can't be empty. + + + + + Multilayer info needed. + + + + + Failed to find type of '%1' + + + + + (by %1) + + + + + + Load model results + + + + + + Save model results + + + + + Time row#%1 data seems to be improper + + + + + Time row#%1 data '%2' seems to be improper + + + + + + + + + + Open File + + + + + + + Working Directory + + + + + Export word file + + + + + Word files (*.docx);;word 2003 files (*.doc) + + + + + + Failed to get cross point of current 4 points + + + + + + Improper cross point of current 4 points + + + + + iModelOption is null. + + + + + Save rst fitting results + + + + + Load rst fitting results + + + + + Please select options correctly. + + + + + Loaded + + + + + UnSaved + + + + + Unloaded + + + + + Unknown + + + + + Failed to load ByteArray + + + + + Export excel file + + + + + Excel files (*.xls *.xlsx) + + + + + + + + + Ipr point more than three! + + + + + Points hit at least three. + + + + + Failed to build wx run option + + + + + name + + + + + value + + + + + Failed to open file. + + + + + + jsDoc is empty. + + + + + Not supported Json. + + + + + Not supported type of '%1' + + + + + GetTaskObj is empty + + + + + Not file data to download + + + + + + ServerConfigObj is empty + + + + + Url of type('%1') is empty + + + + + Task finished + + + + + Value of '%1' seems to be improper. + + + + + + + + + + + Failed to find config of '%1' + + + + + prod files (*.wdt) + + + + + Error: %1(%2) + + + + + Enum not defined: %1(%2) + + + + + Method not found:%1 + + + + + x size (%1) not match with y size (%2) + + + + + Temp + + + + + No methods to get + + + + + Cols not exists: +%1 + + + + + Data of '%1' improper. + + + + + Failed to open database: +%1 + + + + + Failed to load AnalBasic with + '%1' + + + + + Failed to load AnalPvt with + '%1' + + + + + Failed to load AnalDiffusion with + '%1' + + + + + Failed to load AnalPseu with + '%1' + + + + + Failed to load PVTData with + '%1' + + + + + Failed to load ZxRstCurveData with +%1 + + + + + Failed to load ZxRstWnd with +%1 + + + + + Failed to load ZxRstWndPlot with +%1 + + + + + Failed to find file +%1 + + + + + Failed to open file +%1 + + + + + Failed to parse updating file +%1 + + + + + failed to parse + + + + + + result not match from parse + + + + + + SubMainWindow + + + MainWindow + + + + + Add + + + + + AddSubWnd + + + + + SubMainWnd + + + rrrrrrrrrrrrrrrr + + + + + ToolModel + + + Form + + + + + Model Tree + + + + + Ok + + + + + Cancel + + + + + Node + + + + + Cn + + + + + En + + + + + SubLable + + + + + SubType + + + + + ID + + + + + New Node + + + + + New Model Desc + + + + + + Edit Model Desc + + + + + + Add Node + + + + + + Del Node + + + + + TreeWxBase + + + Rename + + + + + Del + + + + + Edit + + + + + Expand current node + + + + + Collapse current node + + + + + Expand all nodes + + + + + Collapse all nodes + + + + + refresh + + + + + Make sure to delete selected data? + + + + + The input is empty. + + + + + TreeWxMain + + + Others + + + + + Failed to delete data. + + + + + Rsts(Current):%1 + + + + + + Rsts(Others):%1 + + + + + + Pressure:%1 + + + + + + Fluid:%1 + + + + + + TreeWxMainDa + + + + Rate&Press + + + + + Well is null, please readjust. + + + + + + New well + + + + + + Clone well + + + + + Set Current Well + + + + + Scan data + + + + + Browse this curve + + + + + NewWellName%1 + + + + + Others + + + + + Selected data own well object, make sure to delete anyway? + + + + + + No need to move item node. + + + + + Make sure to change data object? + + + + + TreeWxMainJb + + + refresh + + + + + + New anal + + + + + + Anal manager + + + + + Set As Default + + + + + NewAnalName%1 + + + + + Make sure to default current anal? + + + + + TreeWxMainRs + + + Load Rst(s) + + + + + Save Rst(s) + + + + + Fit result parameters + + + + + Compare results + + + + + Well is null, please readjust. + + + + + Set Current Well + + + + + ZxObjBdyBase + + + BdyDistance + + + + + BdyType + + + + + ZxObjBdyCricleTool + + + mObjBdyCricleMoveTool + + + + + ZxObjBdyCrossTool + + + mObjBdyCrossMoveTool + + + + + ZxObjBdyLine + + + Left + + + + + Right + + + + + Top + + + + + Bottom + + + + + ZxObjBdyLineTool + + + mObjBdyLineMoveTool + + + + + ZxObjBdyParal + + + Hor + + + + + Ver + + + + + ZxObjBdyParalTool + + + mObjBdyParalMoveTool + + + + + ZxObjBdyRectTool + + + mObjBdyRectMoveTool + + + + + ZxObjBdyTri + + + Left + + + + + Right + + + + + Top + + + + + Bottom + + + + + ZxObjBdyTriTool + + + mObjBdyTriMoveTool + + + + + ZxObjInfPoint + + + Well + + + + + ZxObjInfPointTool + + + mObjInfPointTool + + + + + ZxObjPointExTool + + + mObjPointExTool + + + + + ZxObjSegLineTool + + + mObjLineSingleMoveTool + + + + + ZxObjTriGridTool + + + mObjWmPointTool + + + + + ZxObjWmLineTool + + + mObjWmPointTool + + + + + ZxObjWmPoint + + + Well + + + + + ZxObjWmPointTool + + + mObjWmPointTool + + + + + ZxSegmentInfo + + + Segment1 + + + + + Flow rate segent bounds are not correct. + + + + + ZxTransferHelper + + + Network reply error: +%1 (code:%1 %2) + + + + + No data returned. + + + + + + + gx6 info received as: +%1 + + + + + + but failed to parse: +%1 + + + + + + iAlgFitAutoGN + + + The Jacobian matrix Error + + + + + Step(%1) + + + + + Passing + + + + + iAlgIprCal + + + (B:%1-->%2) + + + + + IPrResult Error + + + + + iAlgModelXcm + + + Xcm derivRealCurves failed and now use default + + + + + Xcm find no curve of '%1' + + + + + iAlgPreCon + + + FlowQ is empty + + + + + The %1 flow rate is 0 + + + + + The bottom hole pressure difference of the wellhead is empty + + + + + iAlgPreConAnnulus + + + Diam1(Diam2) is less than 0 Or Diam2 is less than Diam1 + + + + + ExpTubODiam(ExpCasIDiam) is less than 0 Or ExpCasIDiam is less than ExpTubODiam + + + + + BehinConTubODiam(BehinConCasIDiam) is less than 0 Or BehinConCasIDiam is less than BehinConTubODiam + + + + + A1 is less than A2 + + + + + FluidDen(ConsisCoeffi;LiquidiIndex) is less than 0 + + + + + fDim2(fDim1) is less than 0 Or fDim2 is less than fDim1 + + + + + iAlgPreConTubing + + + Q is less than 0 Or Diam is less than 0 + + + + + The number is divided into 0 + + + + + ConsisCoeffi is less than 0 Or LiquidiIndex is less than 0 + + + + + Q is less than 0 Or Dim is less than 0 + + + + + iAlgPseuMethodComp + + + Find no fitting info (%1) + + + + + Fitting info is not OK (%1) + + + + + iAlgPseuMethodTri + + + Find no fitting info (%1) + + + + + Fitting info is not OK (%1) + + + + + iAnalRun + + + Failed to load ByteArray + + + + + iDlgRename + + + 名称重命名 + + + + + 原名称 + + + + + 新名称 + + + + + 确定 + + + + + 取消 + + + + + New name can't be null. + + + + + Same name already exists. + + + + + iDockModelOption + + + Model Infos + + + + + WellModel + + + + + ReseriorModel + + + + + BoundsType(Inner) + + + + + BoundsType(Outer) + + + + + Option 1 + + + + + Option 2 + + + + + Option 3 + + + + + Option 4 + + + + + iDockResult + + + Show ALL + + + + + iDockTableView + + + Load From Excel + + + + + Save To Excel + + + + + iDockWellExplorer + + + Test_1 + + + + + Test_2 + + + + + Test_3 + + + + + iGuiDataLoad + + + iGuiDataLoad + + + + + File: + + + + + OK + + + + + Cancel + + + + + iGuiPlot + + + iGuiPlot + + + + + iGuiPlotBar + + + iGuiPlotBar + + + + + iGuiPlotBdy + + + iGuiPlotBdy + + + + + iGuiPlotCmdHelper + + + Fit first to deal with ppd curves. + + + + + + Model Result Files (*.mrf) + + + + + Failed to find file +%1 + + + + + Failed to parse file +%1 + + + + + Failed to save file. + + + + + iGuiPlotGrid + + + iGuiPlotGrid + + + + + Grid1# + + + + + x + + + + + y + + + + + iGuiPlotGridCmdHelper + + + Well + + + + + iGuiPlotInf + + + iGuiPlotInf + + + + + VirtualWell + + + + + Observation + + + + + Set as active well + + + + + Load and utilize flow data + + + + + Load flow data + + + + + Utilize flow data + + + + + Unset as active well + + + + + Failed to find ObjInfPoint Of '%1' + + + + + Well + + + + + ActiveWell + + + + + iGuiPlotMap + + + iGuiPlotMap + + + + + Set '%1' as current well + + + + + Run AnalPF + + + + + Edit WellInfo + + + + + Scan WellInfo + + + + + Failed to find ObjWmPoint Of '%1' + + + + + iGuiPlotPF + + + Pressure and flow rate curves are not correct. + + + + + Flow rate segent bounds are not correct. + + + + + Pressure index start or end not found. + + + + + iGuiPlotPFCmdHelper + + + + Model Result Files (*.mrf) + + + + + Failed to find file +%1 + + + + + Failed to parse file +%1 + + + + + Failed to save file. + + + + + iGuiPlotSeg + + + iGuiPlotSeg + + + + + iGuiPlotTableHelper + + + Failed to save data. + + + + + Failed to save data of '%1' + + + + + Merge flow segments + + + + + No segments need merging. + + + + + About %1 segments merged to above, + + + + + make sure to continue? + + + + + iLayerColorBand + + + Select Layer Color + + + + + iLayerTableModel + + + + + + + + + Layer + + + + + Total + + + + + Layer Name + + + + + Thickness +(m) + + + + + Ratio +(%) + + + + + Remark + + + + + Layer #%1 + + + + + iLayerTableView + + + Add Layer + + + + + Insert Layer + + + + + Delete Layer + + + + + Set Row Count + + + + + iLayerWx + + + Layer Configuration + + + + + Add + + + + + Insert + + + + + Delete + + + + + Num: + + + + + OK + + + + + Cancel + + + + + + Cannot delete. Minimum 2 layers are required. + + + + + Set Row Count + + + + + Enter number of rows (2-50): + + + + + iSubWnd + + + iSubWnd + + + + + Properties + + + + + + Failed to save. + + + + + + Failed to load ByteArray + + + + + Failed to parse + + + + + + + Do you want to save your changes? + + + + + iSubWndAdvanced + + + iSubWndAdvanced + + + + + iSubWndAnal + + + iSubWndAnal + + + + + SubWnd is null. + + + + + Well not matched, %1 vs %2 + + + + + + Failed to get PF data. + + + + + Rate data exists, overwrite it with acitvewell's ? + + + + + pSegInfo can't be null. + + + + + m_pSegInfo data seem to be improper. + + + + + Failed to find proper flow segment index. + + + + + iSubWndAnalDn + + + iSubWndAnalDn + + + + + Q->P + + + + + P->Q + + + + + Run design + + + + + Config time settings + + + + + Save results designed + + + + + + Failed to check input Data. + + + + + Time Rang Error + + + + + Failed to check model option. + + + + + Failed to check and define algo. + + + + + Failed to check parameters. + + + + + Failed to check Time. + + + + + Model creating... + + + + + Please prepare data and calulate first. + + + + + iSubWndAnalEdit + + + iSubWndAnalEdit + + + + + iSubWndAnalLPR + + + iSubWndAnalLPR + + + + + iSubWndAnalSeg + + + iSubWndAnalSeg + + + + + iSubWndAnalWDT + + + iSubWndAnalWDT + + + + + SubWnd is null. + + + + + iSubWndBaseFit + + + Make sure to quit current cal processing? + + + + + iSubWndBore + + + + + + + iSubWndBore + + + + + iSubWndCO2 + + + iSubWndCO2 + + + + + Layers + + + + + Parameters + + + + + WxOptions is null, please config it first + + + + + Failed to check license. + + + + + Algo is still running, please wait. + + + + + Failed to prepare inputs. + + + + + iSubWndConfig + + + iSubWndConfig + + + + + iSubWndCouplingM + + + iSubWndCouplingM + + + + + iSubWndCouplingS + + + iSubWndCouplingS + + + + + iSubWndData + + + iSubWndData + + + + + Rowdata(%1) not match: %2(%3) vs %4(%5) + + + + + + Find no data records to remove. + + + + + Failed to get key info of '%1' + + + + + Failed to get sql desc to delete data + + + + + iSubWndDataOther + + + iSubWndDataOther + + + + + iSubWndDataPF + + + iSubWndDataPF + + + + + Value + + + + + Graph + + + + + Well not matched, %1 vs %2 + + + + + Please prepare basic gauge data first. + + + + + Failed to sum gauge data. + + + + + iSubWndDistribM + + + iSubWndDistribM + + + + + iSubWndDistribS + + + iSubWndDistribS + + + + + iSubWndFitting + + + AutoFit + + + + + + + T + + + + + + + Sqrt(T) + + + + + + + 0.25T + + + + + + + -0.5T + + + + + + + DenChart + + + + + + + VisChart + + + + + iSubWndFitting + + + + + + Failed to prepare save dblog curves. + + + + + Need to fit model before saving sketch. + + + + + Parameters do not correspond to + + + + + Microsoft Access File(*.mdb;*.accdb) + + + + + The current well is empty + + + + + The saved table does not exist + + + + + Name + + + + + Value + + + + + Unit + + + + + Data exported successfully. + + + + + + DataIn + + + + + Failed to export data. + + + + + Optimize Axis X&Y + + + + + Optimize Axis X + + + + + Optimize Axis Y + + + + + + + Algo is still running, please wait. + + + + + + + Failed to check license. + + + + + + Failed to swap abouts. + + + + + + + Failed to check interfere abouts. + + + + + + Time Rang Error. + + + + + Model creating... + + + + + Please select model, theoryCurve is null. + + + + + %1 param not find: %2 + + + + + m_pAlgModel == nullptr + + + + + Time Rang Error + + + + + Gas not have Viscosity + + + + + Failed to init iWxMixVis + + + + + No need of using Rsq mode. + + + + + Failed to get value of S. + + + + + Failed to get proper info of segment. + + + + + Find no proper active wellinfos + + + + + Failed to build alg model. + + + + + Failed to get curve data. + + + + + Failed to send deconv results for algModel is null + + + + + Failed to get result of '%1' + + + + + Failed no results to upload + + + + + + + m_listTags.count() not match: (%1) + + + + + Not supported FitSubRstTag(%1) + + + + + Failed to find proper GuiPlot + + + + + Failed to get wx of FitSubRstTag '%1' + + + + + iSubWndFree + + + iSubWndFree + + + + + TestPlot + + + + + iSubWndGrid + + + iSubWndGrid + + + + + Parameters + + + + + iSubWndInjectM + + + iSubWndInjectM + + + + + iSubWndInjectSindex + + + iSubWndInjectSindex + + + + + iSubWndInjectSmax + + + iSubWndInjectSmax + + + + + iSubWndInterfere + + + iSubWndInterfere + + + + + RstDoubleLog + + + + + DoubleLogChart + + + + + Well not matched, %1 vs %2 + + + + + iSubWndLPR + + + IprFit + + + + + IprGraph + + + + + iSubWndLPR + + + + + Ipr result + + + + + + + QAOP + + + + + + ModelMethods + + + + + + ModelDescs + + + + + FitLine + + + + + DeterCoff + + + + + iSubWndMap + + + iSubWndMap + + + + + RstDoubleLog + + + + + DoubleLogChart + + + + + iSubWndMiniAnalFrFA + + + iSubWndMiniAnalFrFA + + + + + SubWnd is null. + + + + + iSubWndMiniAnalFrPA + + + iSubWndMiniAnalFrPA + + + + + SubWnd is null. + + + + + iSubWndMiniFrFA + + + + + MiniAnalFr Up + + + + + + + MiniAnalFr Down + + + + + iSubWndMiniFrFA + + + + + Step Up + + + + + Step Down + + + + + + Fitting + + + + + + regression point + + + + + Total Friction KB + + + + + Total Friction KT + + + + + Perforation Friction K + + + + + Nearby Wellbore Friction K + + + + + Perforation Friction + + + + + Nearby Wellbore Friction + + + + + iSubWndMiniFrPA + + + SuddenStopP + + + + + GFunction + + + + + SqrtT + + + + + LogLog + + + + + iSubWndMiniFrPA + + + + + Failed to check license. + + + + + Algo is still running, please wait. + + + + + Algo not supported. + + + + + iSubWndModel + + + iSubWndModel + + + + + iSubWndResCompare + + + iSubWndResCompare + + + + + Result items + + + + + CompareResults + + + + + + Raw Curves + + + + + + Theory Curves + + + + + ChartResults + + + + + Failed to prepare save dblog curves. + + + + + iSubWndTool + + + iSubWndTool + + + + + iSubWndWDT + + + WDTFit + + + + + WDTGraph + + + + + iSubWndWDT + + + + + WDT result + + + + + WxModelOption's WdtOption is empty. + + + + + Failed to get defines of current wdtoption. + + + + + +WelID:%1; SubWelID:%2; MethodID:%3 + + + + + +MethodID:%1 + + + + + Failed to get defines of AlgItem. + + + + + Failed to get para values. + + + + + ModelDescs + + + + + iWxAbout + + + Dialog + + + + + <html><head/><body><p>警告:本计算机程序受著作权法和国际条约保护。</p></body></html> + + + + + 确定 + + + + + 软件授权对象: + + + + + 硬件信息 + + + + + 软件系统版本: + + + + + Ver.1.0 + + + + + 如未经授权而擅自复制或传播本程序(或其中任何部分),将受到严厉的民事 + + + + + 及刑事制裁,并将在法律许可范围内受到最大程度的起诉。 + + + + + 设计研制单位: + + + + + 中国石油大学(北京)石工学院 + + + + + About %1 + + + + + %1 (%2) + + + + + iWxAnalRunManager + + + Anal Run Manager + + + + + All Anal Infos + + + + + Show extent info for selected job + + + + + Show by tab mode + + + + + New + + + + + Save + + + + + Del + + + + + Set current job as default + + + + + Default + + + + + OK + + + + + Cancel + + + + + Exit + + + + + Current selected job info + + + + + DataBasic + + + + + DataPVT + + + + + DataDiffusion + + + + + DataPseu + + + + + DataAnalRun of '%1' is null + + + + + Make sure to default current Anal? + + + + + Make sure to delete current info? + + + + + iWxAnalWizard + + + SaveToFile + + + + + Save basic info to file + + + + + LoadFromFile + + + + + load basic info from file + + + + + Help + + + + + <<Back + + + + + + Next>> + + + + + Cancel + + + + + OK + + + + + Nm Analysis Wizard Steps (%1/%2): %3 + + + + + Current widget is empty. + + + + + AWI not match (%1 vs % 2). + + + + + Basic files (*.bacf) + + + + + PVT files (*.pvtf) + + + + + Diffusion files (*.diuf) + + + + + Pseu files (*.psef) + + + + + Load from file (%1) + + + + + Failed to find file +%1 + + + + + Save to file (%1) + + + + + Failed to save file. + + + + + iWxAutoFit + + + Auto fit setting + + + + + AutoFitParamSet + + + + + Gauss-Newton + + + + + Normalized Gauss Newton + + + + + Particle Swarm + + + + + MaxLoopCount + + + + + MaxError + + + + + Weight + + + + + MaxSimulations + + + + + MaximumTime + + + + + Discretization + + + + + PopulationSize + + + + + Parameter + + + + + Alias + + + + + Minimum + + + + + Value + + + + + Maximum + + + + + Unit + + + + + + SelectInv + + + + + Ok + + + + + Cancel + + + + + + SelectAll + + + + + iWxBase + + + Failed to load ByteArray + + + + + Name '%1' already defined which is repeated. + + + + + Find no config info of '%1'. + + + + + iWxBdySet + + + Bdy Set + + + + + OK + + + + + Cancel + + + + + Param + + + + + Bdy%1 + + + + + Properties + + + + + iWxCalSkin + + + S + + + + + OK + + + + + Cancel + + + + + iWxCalSkinQ + + + Use Rsq + + + + + Rsq opened + + + + + Rsq not open + + + + + iWxCharact + + + Charact setting + + + + + CharactPoint + + + + + OK + + + + + Param + + + + + Point + + + + + Speci Point + + + + + Speci Line + + + + + iWxDataAccessLoad + + + Dialog + + + + + Data Source + + + + + FilePath: + + + + + ... + + + + + + GroupBox + + + + + Run + + + + + Save + + + + + Close + + + + + MPA data manager from ACCESS file + + + + + Microsoft Access File(*.mdb;*.accdb) + + + + + Please select the file (MDB) + + + + + iWxDataAppend + + + Data to fill + + + + + Some data seem to be missing, please complete as follows. + + + + + + + + TextLabel + + + + + OK + + + + + Scale(0~1) + + + + + iWxDataBasic + + + Reference pressure + + + + + DataBasic + + + + + + Test Type + + + + + + Fluid Type + + + + + Layer Parameters + + + + + Standard + + + + + + Interference + + + + + + MiniFrac + + + + + Anal's Tag + + + + + iWxDataBasicEx + + + Analysis Basic + + + + + 分析名称 + + + + + 测试类型 + + + + + 标准 + + + + + 干扰 + + + + + 小型压裂 + + + + + ... + + + + + 多层 + + + + + 产能 + + + + + 相态选项 + + + + + 单相 + + + + + 多相 + + + + + 凝析气 + + + + + 状态方程 + + + + + 聚合物 + + + + + 水 + + + + + 油 + + + + + 常规 + + + + + 提高采收率 + + + + + EOR + + + + + 气 + + + + + CO2 + + + + + 储层参数 + + + + + + Layer #%1 + + + + + Basic_Name + + + + + iWxDataFluid + + + DataFluid + + + + + Pvt's Tag + + + + + iWxDataFluidSub + + + Dialog + + + + + Parameter options + + + + + Use Advanced calculating methods + + + + + Ct=(So*Co+Sg*Cg+Sw*Cw)*Phi+Cf + + + + + 0.5 + + + + + So + + + + + Sg + + + + + Co + + + + + Cg + + + + + Sw + + + + + MPa-1 + + + + + Cw + + + + + Cf + + + + + Phi + + + + + Cal So/Sg + + + + + Cal Co/Cg/Cw + + + + + CalResult + + + + + DataFluidSub + + + + + iWxDataGasConst + + + DataGasConst + + + + + Failed to find xml define of GasConst + + + + + Output description + + + + + iWxDataLoad + + + Dialog + + + + + Data Source + + + + + FromDatabase + + + + + + ... + + + + + FromFile + + + + + + Run + + + + + DateTimeFormat + + + + + Value (FromStart) + + + + + Value (Duration) + + + + + RealTime + + + + + RealDateTime + + + + + RealDate + + + + + yyyy/MM/dd hh:mm:ss + + + + + yyyy/M/d h:m:s + + + + + MM/dd/yyyy hh:mm:ss + + + + + M/d/yyyy h:m:s + + + + + dd/MM/yyyy hh:mm:ss + + + + + d/M/yyyy h:m:s + + + + + yyyy/MM/dd + + + + + MM/dd/yyyy + + + + + dd/MM/yyyy + + + + + hh:mm:ss + + + + + StartTime + + + + + RowFrom + + + + + RowTo + + + + + RateAccuMode + + + + + StepF + + + + + StepP + + + + + Sheets + + + + + UsingCodec + + + + + Date and time separated + + + + + Src Units + + + + + 油 + + + + + 气 + + + + + 水 + + + + + Thin data automatically when size is larger than 10000 + + + + + AutoThinning + + + + + Well + + + + + GaugeName + + + + + + Apply + + + + + DataTag + + + + + Save + + + + + Close + + + + + ----- + + + + + Data Load ... + + + + + Browse... + + + + + Config database + + + + + OK + + + + + Cancel + + + + + Not supported file format and try to parse in txt + + + + + Whether there is a mistake to continue the data? + + + + + The flow value of the adjacent segment is equal, and does it continue? + + + + + Failed to parse data value of row %1. + + + + + +Data: %1 %2 %3 + + + + + Beginning datetime seems improper, continue? + + + + + Beginning datetime seems improper, use current system time + + + + + Datatag name is empty. + + + + + Datatag name already exists. + + + + + Parse error:nCount(%1);nIndexD(%3);nIndexT1(%3) + + + + + Failed to find unit config of '%1' + + + + + Failed to get title index of current. + + + + + Failed to convert current binary data. + + + + + Set as row start + + + + + Set as row end + + + + + iWxDataObjEdit + + + Please set tablename info first. + + + + + Table '%1' not supported. + + + + + Edit Object + + + + + New Object + + + + + Object info to be create or modify: + + + + + + + Failed to config field UI of '%1' + + + + + Save + + + + + Cancel + + + + + Key information must be filled. + + + + + Empty wellname or same wellname already exists. + + + + + Failed to save object data of '%1' + + + + + iWxDataObjEditPF + + + CurrentWell + + + + + Options + + + + + iWxDeConv + + + DeConvolution + + + + + Parameter options: + + + + + PreSizes + + + + + Cal + + + + + AutoCal + + + + + Result options + + + + + Override the current double log plot + + + + + Fresh to another double log plot + + + + + Data + + + + + Property + + + + + OK + + + + + Cancel + + + + + Properties + + + + + PlotPF + + + + + x + + + + + y + + + + + Please run alg calculation first + + + + + Failed to get result of '%1' + + + + + Failed to get pressure and flowrate curves. + + + + + Failed to get para values from GridRowUtils + + + + + + Failed to get results from DeconAlg. + + + + + iWxDesign + + + Well Test Design + + + + + DataBasic + + + + + DataFluid + + + + + DataGasConst + + + + + Ok + + + + + Cancel + + + + + iWxDiffusionHeader + + + Dialog + + + + + Basic option + + + + + Diffusion标识 + + + + + Fluid type + + + + + 吸附 + + + + + 应力敏感 + + + + + 相对渗透率 + + + + + Other parameters + + + + + iWxDiffusionMain + + + Diffusion Manager + + + + + Help + + + + + Apply + + + + + OK + + + + + Cancel + + + + + + failed to find wx of '%1' + + + + + Diffusion_Name + + + + + iWxDiffusionSub + + + PtSize(>5) + + + + + Input by table + + + + + Properties + + + + + Failed to get para values from GridRowUtils + + + + + Failed to cal results from grid pty + + + + + x + + + + + y + + + + + Failed to get data from GridUtils + + + + + iWxDiffusionSubDS + + + Dialog + + + + + + GroupBox + + + + + Data + + + + + Property + + + + + iWxDiffusionSubKK + + + Dialog + + + + + + GroupBox + + + + + Plot1 + + + + + Plot2 + + + + + Plot3 + + + + + Data + + + + + Property + + + + + Failed to inversCalIndexBy. + + + + + Failed to cal results from grid pty + + + + + iWxDiffusionSubSS + + + Dialog + + + + + + GroupBox + + + + + Data + + + + + Property + + + + + iWxFreePlots + + + Dialog + + + + + Plot1 + + + + + Property + + + + + iWxGx6Config + + + GX6-Abouts + + + + + ServerConfigUrl + + + + + https://www.dev.ideas.cnpc/api/epaiasi-server/asiPlatform-assy/serverConfig/getServerConfig + + + + + WeTest_Id + + + + + Username + + + + + Password + + + + + ConnectServer + + + + + VerifyWell + + + + + Upload + + + + + GetTasks + + + + + Save2Local + + + + + UpdateTasks + + + + + Close + + + + + ServerInfo received successfully. + + + + + Current user logged in successfully. + + + + + + + We-Test module registered successfully. + + + + + Task received successfully. + + + + + Task state updated successfully. + + + + + + + Rst para uploaded successfully. + + + + + + + Results to be uploaded: +%1 + + + + + + + iWxKrog + + + Dialog + + + + + _fit + + + + + iWxLangSwap + + + Changing language + + + + + Current: + + + + + TextLabel + + + + + Change language to + + + + + CN + + + + + EN + + + + + RS + + + + + AR + + + + + Change will be valid next time + + + + + OK + + + + + Cancel + + + + + iWxLayerOption + + + + Layer options + + + + + Basic options + + + + + Current Model + + + + + Current Well + + + + + Anal options + + + + + + Reset by current default options + + + + + + Reset + + + + + Set as current AnalRun + + + + + OK + + + + + Cancel + + + + + LayerName + + + + + Name + + + + + Code + + + + + TestType + + + + + FluidType + + + + + WellRadus + + + + + Remark + + + + + + MiniFrac + + + + + Unnamed%1 + + + + + iWxLogin + + + Dialog + + + + + 用 户 名 + + + + + 密 码 + + + + + 保存信息 + + + + + 说明:本功能只是Demo,具体需要根据甲方调整 + + + + + 测试连接 + + + + + 登录 + + + + + 取消 + + + + + %1 Login + + + + + Not valid user info. + + + + + User '%1' has no right of module '%2'. + + + + + iWxMapWellInfo + + + Well information + + + + + WellInfo + + + + + Basic info + + + + + WellName + + + + + Well 1# + + + + + Set as central well + + + + + WellType + + + + + Vertical Well + + + + + Fractrured Well + + + + + Horizontal Well + + + + + Fractured Horizontal Well + + + + + Position + + + + + By XY + + + + + By Distance + + + + + X (m) + + + + + Y (m) + + + + + Dis (m) + + + + + θ (°) + + + + + Parameters + + + + + Fluid + + + + + Pressure + + + + + Help + + + + + Apply + + + + + OK + + + + + Cancel + + + + + iWxMiniFrac + + + P&F Selected Points Preview + + + + + ISIP + + + + + SqrtT + + + + + LogLog + + + + + GFunction + + + + + HornorL + + + + + HornorR + + + + + StepRateUp + + + + + StepRateDown + + + + + Chart + + + + + Run + + + + + OK + + + + + iWxMixVis + + + Dialog + + + + + Viscosity + + + + + OilVis: + + + + + + + TextLabel + + + + + WaterVis: + + + + + ViscosityRatio + + + + + WaterRatio: + + + + + Oil + + + + + Water + + + + + + MixVis + + + + + MixVis: + + + + + IsEnableMixVis + + + + + Run + + + + + Save + + + + + Close + + + + + iWxModelClassify + + + TestModelClassify + + + + + Results + + + + + ModelType + + + + + ParameterValues + + + + + ExeMode + + + + + LibMode + + + + + AiClassify + + + + + Apply + + + + + Cancel + + + + + x + + + + + y + + + + + %1(%2) %3 + + + + + %1(%2) %3(%4) + + + + + +%1 + + + + + No AI data to apply + + + + + This will overwrite the current model type and its parameters, continue? + + + + + Failed to prepare csv files + + + + + Failed to start exe + + + + + + No output file +%1 + + + + + Failed to open file +%1 + + + + + Failed to run exe(ErrorCode:%1) + + + + + iWxModelOption + + + Dialog + + + + + Use Recents + + + + + Maxs + + + + + 无井储+直井[bj]+均质油藏+无限大 + + + + + 定井储+直井[bj]+均质油藏+无限大 + + + + + 变井储(Fair)+直井(部分射开)[bj]+均质油藏+交叉边界 + + + + + use PressGrad + + + + + <html><head/><body><p><span style=" font-weight:600;">早期小信号</span>:压裂井<span style=" font-weight:600; font-style:italic;">未出现径向流</span>的<span style=" font-weight:600; font-style:italic; color:#00557f;">早期</span><span style=" font-weight:600; font-style:italic;">压力解释</span>方法</p></body></html> + + + + + use SmallSignal + + + + + use Adsorption + + + + + use CrossFlow + + + + + Model assistant on or off + + + + + Assist + + + + + Open and choose special model(s) + + + + + More. + + + + + + + + + + + + Yes + + + + + Search... + + + + + Current wel type not supported. + + + + + + + Option '%1' not supported. + + + + + Only wbs or bdy type supported. + + + + + Current m_pOption is empty. + + + + + Current item of wel or res is empty. + + + + + Failed to find proper modeldesc with +WelCode:%1; ResCode:%2; AdsorptionMode:%3. + + + + + Code parsed but failed to read model info with '%1' + + + + + Failed to read model info with '%1' + + + + + Expand current group + + + + + Collapse current group + + + + + Expand all groups + + + + + Collapse all groups + + + + + + + use %1 + + + + + iWxModelOptionWDT + + + SquareP + + + + + PseuP + + + + + + Current wel type not supported. + + + + + + + Option '%1' not supported. + + + + + Current subwel type not supported. + + + + + Failed to collect information of Wel option + + + + + Failed to collect information of SubWel option + + + + + Failed to collect information of method option + + + + + iWxModelParameter + + + Show all items + + + + + Show main items + + + + + Hide HelpbBox + + + + + Show HelpbBox + + + + + Failed to find config of '%1' + + + + + TODO: Error to read type of '%1' here + + + + + iWxModelParameterUpDown + + + Name + + + + + Type + + + + + iWxModelParameterWDT + + + Failed to sum table infos. + + + + + iWxModelScan + + + Dialog + + + + + UseOrNot options + + + + + use PressGrad + + + + + use DynamicK + + + + + use SmallSignal + + + + + Wbs Option + + + + + Wel Option + + + + + Res Option + + + + + Bdy Option + + + + + Model Sketch Chart + + + + + Wbs + WellboreModel + + + + Wel + WellModel + + + + Res + ReservoirModel + + + + Bdy + BoundaryModel + + + + Theory Sketch Chart + + + + + GroupBox + + + + + Apply To + + + + + Apply + + + + + OK + + + + + Cancel + + + + + + Option '%1' not supported. + + + + + iWxModelSketch + + + SketchChart + + + + + WBS + + + + + WEL + + + + + RES + + + + + BDY + + + + + iWxModelTipAssist + + + 模型说明 + + + + + font-size: 14px; font-weight: bold; color: #333333; + + + + + 模型 + + + + + font-size: 14px; font-weight: bold; color: #333333; margin-top: 5px; + + + + + 示意图 + + + + + background-color: #f5f5f5; border: 1px solid #e0e0e0; border-radius: 6px; + + + + + iWxMpInfo + + + Multiphase data + + + + + Datatable + + + + + Set As Default + + + + + LoadDefault + + + + + OK + + + + + Cancel + + + + + Find no default multiphase data. + + + + + Multiphase data not match, %1 lines needed but %2 loadded. + + + + + + Improper multiphase data. + + + + + Failed to set as default. + + + + + iWxOptionResCompare + + + Results comparing option + + + + + 井及井次成果 + + + + + 井名 + + + + + 流动段 + + + + + + + 全部 + + + + + 压恢压降 + + + + + 压恢 + + + + + 压降 + + + + + 模型系列 + + + + + 考虑当前井已保存但未加载的成果 + + + + + 全选 + + + + + 刷新 + + + + + T + + + + + U + + + + + D + + + + + B + + + + + 辅助信息 + + + + + 应用于 + + + + + 不存在则创建 + + + + + 分析人 + + + + + 分析日期 + + + + + 对比内容 + + + + + 关键对比内容(*) + + + + + 双对数(原始) + + + + + 双对数(拟合) + + + + + 解释模型 + + + + + 解释结果 + + + + + 其它对比内容 + + + + + 半对数曲线 + + + + + 历史曲线 + + + + + 压力数据 + + + + + 流量数据 + + + + + 井数据 + + + + + 流体数据 + + + + + 储层数据 + + + + + 加载默认 + + + + + 存为默认 + + + + + 实时刷新 + + + + + 单一视图模式 + + + + + 应用 + + + + + 确定 + + + + + 退出 + + + + + Name + + + + + Series + + + + + Type + + + + + SegmentInfo + + + + + States + + + + + Codes + + + + + At least two infos selected. + + + + + No contents selected. + + + + + Same name already exists. + + + + + iWxOptionSmooth + + + P&F Data Edit By Smoothing + + + + + Options + + + + + Smoothing Method + + + + + Smooth method 1 + + + + + Smooth method 2 + + + + + Smooth method 3 + + + + + Smoothing Factor + + + + + Apply + + + + + OK + + + + + Cancel + + + + + iWxOptionThinning + + + P&F Data Edit By Thinning + + + + + Options + + + + + Thinning Methods + + + + + Thinning method 1 + + + + + Thinning method 2 + + + + + Thinning method 3 + + + + + Thinning Loop + + + + + Thinning continually + + + + + Apply + + + + + OK + + + + + Cancel + + + + + iWxParaCO2Wrapper + + + Auto fit setting + + + + + SetLayers + + + + + 单层 + + + + + 双层 + + + + + Tab 1 + + + + + Tab 2 + + + + + ParameterWrapper + + + + + WxOptions is null, please config it first + + + + + Layer%1 + + + + + SelectInv + + + + + Ok + + + + + Cancel + + + + + iWxPfModel + + + Dialog + + + + + Auto fitting + + + + + RunFit + + + + + Results: + + + + + iWxPfModelFit + + + Exponential + + + + + Linear + + + + + Logarithmic + + + + + Polynomial + + + + + Power + + + + + Fitoptions not proper to continue + + + + + Data not proper to continue + + + + + iWxPlateFit + + + Plate fit setting + + + + + PlateFitParamSet + + + + + ParamSet + + + + + Step + + + + + Num + + + + + Ok + + + + + Cancel + + + + + + SelectInv + + + + + + SelectAll + + + + + iWxPointSelPreview + + + P&F Selected Points Preview + + + + + Consider all selected point(s) + + + + + Linear + + + + + DoubleLogChart + + + + + HalfLogChart + + + + + Chart + + + + + OK + + + + + iWxPre + + + + + Next>> + + + + + Save + + + + + Cancel + + + + + <<Back + + + + + Failed to cal pressure + + + + + Failed to save file. + + + + + iWxPreCon + + + Dialog + + + + + Options + + + + + Well + + + + + + + 0000 + + + + + P(s) + + + + + 0 + + + + + F(s) + + + + + Pressure + + + + + FluidRate + + + + + Pt(s) + + + + + Seg(s) + + + + + EnableCloseWellDynamicSurface + + + + + Refresh + + + + + Data + + + + + Plot + + + + + + Time + + + + + WellHeadPressure + + + + + BottomHolePressure + + + + + DurationTime + + + + + Flow + + + + + DynSurfaceH + + + + + iWxPreInput + + + Dialog + + + + + InputMode + + + + + AnnulusInput + + + + + TubingInput + + + + + ColumnParameter + + + + + TotalLenght: + + + + + + + + + + + (m) + + + + + FluidParameter + + + + + FluidDensity: + + + + + (kg/m^3) + + + + + ConsisCoeffi: + + + + + (Pa.s^n) + + + + + LiquidiIndex: + + + + + WellParameter + + + + + WHTubOutDiam: + + + + + WHCasInDiam: + + + + + WBTubOutDiam: + + + + + WBCasInDiam: + + + + + WHInDiam: + + + + + WBInDiam: + + + + + ColumnCompanded + + + + + EnbleContractionStructure + + + + + EnbleExpansionStructure + + + + + ColumnStructure + + + + + DepthStart + + + + + DepthEnd + + + + + TubODiam + + + + + CasIDiam + + + + + InnerDiam + + + + + BeforConTubODiam + + + + + BeforConCasIDiam + + + + + BehinConTubODiam + + + + + BehinConCasIDiam + + + + + + ConNum + + + + + BeforConODiam + + + + + BehinConIDiame + + + + + BeforExpTubODiam + + + + + BeforExpCasIDiam + + + + + BehinExpTubODiam + + + + + BehinExpCasIDiam + + + + + + ExpNum + + + + + BeforExpODiam + + + + + BehinExpIDiame + + + + + iWxPressError + + + Dialog + + + + + TreatMode + + + + + Ignore new data + + + + + Ignore old data + + + + + Jump 24 hours + + + + + TimeOverlap + + + + + iWxPrintOption + + + Report options + + + + + 报告分析对象 + + + + + 井1 + + + + + 井2 + + + + + 时间1 + + + + + 时间2 + + + + + 时间3 + + + + + 报告基础信息 + + + + + 显示报告基础信息 + + + + + 压力计测试深度 + + + + + 测试类型 + + + + + 井名 + + + + + 分析日期 + + + + + 报告标题 + + + + + 测试时间 + + + + + 分析人 + + + + + 基础数据 + + + + + 井数据 + + + + + 流体数据 + + + + + 储层数据 + + + + + 图形数据 + + + + + 双对数 + + + + + 半对数 + + + + + 历史曲线 + + + + + 解释模型 + + + + + 解释结果 + + + + + 压力流量数据 + + + + + 压力数据(*) + + + + + 流量数据(*) + + + + + 先后顺序控制 + + + + + U + + + + + D + + + + + x + + + + + 由于显示顺序与真实的情况存 +在逻辑冲突的问题,故此处暂 +未使用,待后续处理。 + + + + + 加载默认 + + + + + 存为默认 + + + + + 其它选项 + + + + + 预览 + + + + + 打印(含PDF) + + + + + 导出(Word) + + + + + 确定 + + + + + 退出 + + + + + + Report of Well + + + + + TestPrev + + + + + TestMid + + + + + TestPost + + + + + Failed to find file +%1 + + + + + Failed to save file. + + + + + Too much pressure data, continue with simple mode? + + + + + Report Of Well %1.docx + + + + + + Failed to load file: +%1 + + + + + Word exported successfully. +Open it or not? + + + + + OpenDir + + + + + Close + + + + + + ID + + + + + This is test + + + + + TODO: this is header of page + + + + + TODO: this is footer of page + + + + + iWxPrintOthers + + + Dialog + + + + + 页眉 + + + + + 报告名称: + + + + + + 显示 + + + + + 图标 + + + + + WTAI + + + + + 从本地 + + + + + 加载 + + + + + + + + + 字体设置 + + + + + 页脚 + + + + + 显示页码 + + + + + 显示页脚内容 + + + + + 设置字体 + + + + + 页边距 + + + + + 上: + + + + + 下: + + + + + 左: + + + + + 右: + + + + + 正文字体设置 + + + + + 正文 + + + + + 图名 + + + + + 图例 + + + + + 坐标轴 + + + + + 取消 + + + + + 确定 + + + + + 打印机 + + + + + iWxProjMore + + + All projects of current directory + + + + + Dir + + + + + Projects + + + + + 确定 + + + + + 取消 + + + + + iWxProjectMigrate + + + 试井软件项目迁移 + + + + + 源项目 + + + + + + 存储类型 + + + + + + 数据库 + + + + + + IP/Port + + + + + + 1521 + + + + + + 用户/密码 + + + + + + 存储路径 + + + + + + ... + + + + + + 项目 + + + + + + Sqlite Database + + + + + + Oracle Database + + + + + 目标项目 + + + + + 按井名 + + + + + 常规数据(按井) + + + + + 按表名 + + + + + 常规数据(按表) + + + + + 辅助数据 + + + + + 刷新 + + + + + Swap source and target + + + + + 左右切换 + + + + + 数据选项 + + + + + 选择是否迁移配置信息 + + + + + 迁移配置 + + + + + 引用源工区配置 + + + + + 从源项目迁移 + + + + + 引用系统配置 + + + + + 从WTAI系统迁移 + + + + + Current Table: + + + + + 迁移 + + + + + 关闭 + + + + + All + + + + + + project directory + + + + + Failed to get wellName. +%1 + + + + + nothing to migrate. + + + + + Make sure to migrate or overide records? + + + + + Source database is not opened successfully. + + + + + Target database is not opened successfully. + + + + + Table: %1 + + + + + Error with '%1': +%2 + + + + + Failed to query by +%1 + + + + + Failed to copy Config File to Target Project. + + + + + Migration finished. + + + + + Failed to get table info of '%1'. + + + + + + '%1' + + + + + Failed to write data to %1 + + + + + iWxProjectNew + + + 新建工区 + + + + + 1.0.0 + + + + + 项目描述: + + + + + 创建时间: + + + + + + ... + + + + + 修改时间: + + + + + 项目路径: + + + + + 项目另存为路径: + + + + + 项目名称: + + + + + 项目数据类型: + + + + + 数据版本号: + + + + + 油田名称: + + + + + Sqlite Database + + + + + DM + + + + + Oracle + + + + + 创建人: + + + + + 修改人: + + + + + 确定 + + + + + 取消 + + + + + New Project + + + + + Project Sketch + + + + + + Project Save As + + + + + Copy_of_ + + + + + New Project Dir + + + + + Project name can't be empty. + + + + + Project name is invalid. + + + + + Project name is beyond %1 bytes. + + + + + Project desc is beyond %1 bytes. + + + + + Project path can't be empty. + + + + + Project path is invalid. + + + + + Project name already exists. + + + + + iWxProjectOpen + + + Open Project + + + + + 项目路径: + + + + + 重设工作路径 + + + + + 浏览... + + + + + 新建项目 + + + + + 新建(&N) + + + + + 打开(O) + + + + + 删除项目 + + + + + 删除(&D) + + + + + 概要(S) + + + + + 项目迁移(M) + + + + + + + + 刷新 + + + + + 刷新(&R) + + + + + 最近打开的目录... + + + + + 最近打开项目... + + + + + Update lists + + + + + 最近更新... + + + + + 该功能自动将项目配置文件替换为系统配置文件. + + + + + 更新系统配置 + + + + + OpenProject + + + + + Make sure to delete selected project? + + + + + (%1) %2 [%3] + + + + + There is no project selected. + + + + + iWxPseuHeader + + + Dialog + + + + + Basic option + + + + + Pseu标识 + + + + + Reservoir option + + + + + Res temperature + + + + + Res pressure + + + + + Gas-Oil Ratio (GOR) + + + + + Other options(Composition only) + + + + + Composition + + + + + Bottom hole pressure + + + + + Dew point pressure + + + + + Pressure&Temperature scale + + + + + P.Max + + + + + P.Min + + + + + # pts + + + + + Value + + + + + Increment + + + + + Data scale is not OK. + + + + + Data increment is not OK. + + + + + Increment value is not OK. + + + + + Increment count is not OK. + + + + + iWxPseuMain + + + Pseu Manager + + + + + Help + + + + + Apply + + + + + OK + + + + + Cancel + + + + + + failed to find wx of '%1' + + + + + Pseu_Name + + + + + Failed to get PseuData, please contact wtai team. + + + + + iWxPseuSub + + + Properties + + + + + iWxPseuSubComp + + + Please config compositions first. + + + + + Failed to cal by phase Equilibrium. + + + + + Failed to find proper pressure data + + + + + Failed to find proper split index of pressure data. + + + + + Failed to find alg fitting of %1 + + + + + Not fitted: %1 + + + + + iWxPseuSubNormal + + + P + + + + + m(P) + + + + + PressureScales + + + + + PressureSteps + + + + + Refresh + + + + + Data count not matched. + + + + + Found no '%1' data. + + + + + Zg or Miug count not match. + + + + + iWxPseuSubTri + + + Not fitted: %1 + + + + + iWxPseudo3Sub + + + Dialog + + + + + CalPseu3 + + + + + Whole + + + + + Auto fitting + + + + + RunFit + + + + + _fit + + + + + iWxPseudo3SubFit + + + Exponential + + + + + Linear + + + + + Logarithmic + + + + + Polynomial + + + + + Power + + + + + iWxPseudoCSub + + + Dialog + + + + + CalPseu3 + + + + + Whole + + + + + Auto fitting + + + + + RunFit + + + + + Critical flow pressure + + + + + MPa + + + + + Krg Swi + + + + + _fit + + + + + iWxPseudoCSubFit + + + Exponential + + + + + Linear + + + + + Logarithmic + + + + + Polynomial + + + + + Power + + + + + iWxPseudoCSubInput + + + Dialog + + + + + Input parameters + + + + + Bottom hole pressure + + + + + Dew point pressure + + + + + P.Min + + + + + P.Max + + + + + Temperature + + + + + Composition + + + + + Run + + + + + Please config compositions first. + + + + + Failed to cal by phase Equilibrium. + + + + + iWxPseudoCSubPseu + + + Not fitted: %1 + + + + + iWxPseudoCSubSo + + + Pressure vs So + + + + + iWxPvtComposition + + + DataGasConst + + + + + Failed to find xml define of GasConst + + + + + Output description + + + + + iWxPvtMain + + + Pvt Manager + + + + + Help + + + + + Apply + + + + + OK + + + + + Cancel + + + + + Pvt_Name + + + + + Failed to find SubWidget of '%1' + + + + + Failed to convert SubWidget of '%1' + + + + + iWxPvtMatch + + + Matching data + + + + + Edit data + + + + + Apply + + + + + OK + + + + + Cancel + + + + + Error data for matching. + + + + + iWxPvtPhaseParaCal + + + [%1] Size not match. Input:%2 Output:%3 + + + + + Temp + + + + + iWxPvtPhaseParaPlot + + + TODO:This is some desc of the above + + + + + RstPt + + + + + ReferPbPt + + + + + iWxPvtSubHeader + + + Dialog + + + + + Basic option + + + + + PVT标识 + + + + + Reference phase parameters (Analy applied) + + + + + Use Advanced calculating methods + + + + + Fresh + + + + + Default + + + + + So + + + + + Co + + + + + Sg + + + + + Cg + + + + + Sw + + + + + Cw + + + + + Cf + + + + + φ + + + + + 0.5 + + + + + Ct=(So*Co+Sg*Cg+Sw*Cw)+Cf + + + + + Reservoir option + + + + + Res temperature + + + + + Res pressure + + + + + Gas-Oil Ratio (GOR) + + + + + Pressure&Temperature scale + + + + + Max + + + + + T + + + + + Min + + + + + P + + + + + Step + + + + + Unit + + + + + # pts + + + + + Data scale is not OK. + + + + + Data increment is not OK. + + + + + Point count is not OK. + + + + + Increment value is not OK. + + + + + iWxPvtSubPhase + + + DataTables + + + + + + Properties + + + + + there are same configs of '%1' + + + + + Failed to find algo '%1' + + + + + Value + + + + + x + + + + + y + + + + + iWxPvtSubPhaseCO2 + + + Dialog + + + + + Basic paras + + + + + Salt: + + + + + 30.0 + + + + + g/L + + + + + Fresh + + + + + Method options + + + + + Tab 1 + + + + + Tab 2 + + + + + iWxPvtSubPhaseGas + + + Dialog + + + + + Basic paras + + + + + RatioGas + + + + + 0.7 + + + + + Critical properties + + + + + Composition + + + + + ... + + + + + Tc + + + + + Pc + + + + + Standing + + + + + Carr et al. + + + + + Sutton + + + + + From composition + + + + + Non-hydrocarbons + + + + + H2S + + + + + N2 + + + + + CO2 + + + + + mole % + + + + + mole fraction + + + + + Method options + + + + + Tab 1 + + + + + Tab 2 + + + + + Car-Kobayshi-Burrows + + + + + High CO2 Adjustment + + + + + Wichert-Aziz + + + + + Input ratio value(s) not OK. + + + + + GP/G Ratio + + + + + Edit + + + + + Match + + + + + Use Ppc as new + + + + + Ppc(Mpa) Raw:%1 + + + + + ; Adjusted:%1 + + + + + Ppc(Mpa) %1-->%2 + + + + + Use adjusted Ppc (%1) in the following + + + + + iWxPvtSubPhaseMix + + + Dialog + + + + + Basic paras + + + + + Salt: + + + + + 30.0 + + + + + g/L + + + + + Set composition + + + + + Fresh + + + + + Method options + + + + + Tab 1 + + + + + Tab 2 + + + + + Found no results of Para(%1) + + + + + iWxPvtSubPhaseOil + + + Dialog + + + + + Basic paras + + + + + 0.8 + + + + + RatioGas + + + + + RatioOil + + + + + 0.7 + + + + + Method options + + + + + Tab 1 + + + + + Tab 2 + + + + + V/B + + + + + Vasquez Beggs settings + + + + + iWxPvtSubPhaseSeaWater + + + Dialog + + + + + Basic paras + + + + + Salt + + + + + 30.0 + + + + + g/L + + + + + Fresh + + + + + Method options + + + + + Tab 1 + + + + + Tab 2 + + + + + iWxPvtSubPhaseWater + + + Dialog + + + + + Basic paras + + + + + Gravity + + + + + Salinity + + + + + 30000 + + + + + 1.00782 + + + + + Method options + + + + + Tab 1 + + + + + Tab 2 + + + + + iWxPvtUtilItem + + + Temp + + + + + Value + + + + + TODO:This is some desc of the above + + + + + + Size not match. Input:%1 Output:%2 + + + + + GP/G Ratio + + + + + Edit + + + + + Match + + + + + Use Ppc as new + + + + + Error data for matching. + + + + + Ppc(Mpa) Raw:%1 + + + + + ; Adjusted:%1 + + + + + Ppc(Mpa) %1-->%2 + + + + + Use adjusted Ppc (%1) in the following + + + + + iWxPvtUtilItemPseudo + + + P + + + + + m(P) + + + + + PressureScales + + + + + PressureSteps + + + + + Refresh + + + + + Data count not matched. + + + + + Found no '%1' data. + + + + + Zg or Miug count not match. + + + + + iWxPvtVasBeg + + + Vasquez and Beggs setting + + + + + Use Separator Settings + + + + + Parameters + + + + + Tsep + + + + + 60 + + + + + F + + + + + Psep + + + + + 0.791 + + + + + MPa + + + + + Cancel + + + + + OK + + + + + iWxRateInsert + + + Rate Data Edit + + + + + Options + + + + + TimeSeparatedAt + + + + + + + + TextLabel + + + + + TimeFrom + + + + + TimeTo + + + + + Last Rate + + + + + New Rate + + + + + OK + + + + + Cancel + + + + + iWxResCpOption + + + Result compare selections + + + + + 当前井: + + + + + w + + + + + 自动刷新 + + + + + 刷新 + + + + + 全选 + + + + + Lood all results of current well + + + + + 加载所有 + + + + + iWxResult + + + Dialog + + + + + GridResult + + + + + Simple + + + + + NmRst + + + + + All + + + + + Nm3D + + + + + Temp + + + + + Help + + + + + Print + + + + + OK + + + + + Result + + + + + + Print current results + + + + + + + + Name + + + + + + + Value + + + + + + Rsts: %1 + + + + + + Date: %1 + + + + + + Unit + + + + + Upload Rst Paras + + + + + iWxResultParaFit + + + Result parameter's fitting + + + + + Parameter && Fitting options + + + + + Parameter data show + + + + + Chart View + + + + + 即时刷新结果 + + + + + Run + + + + + CopyImage + + + + + SaveImage + + + + + SaveGraph + + + + + LoadGraph + + + + + Close + + + + + Para + + + + + FitType + + + + + FitOrder + + + + + FitExpr + + + + + Exponential + + + + + Linear + + + + + Logarithmic + + + + + Polynomial + + + + + Power + + + + + RstName + + + + + xAxisNew + + + + + Rst Infos + + + + + Para Results + + + + + RstID + + + + + xValueNew + + + + + + Rst Fitting Files (*.rff) + + + + + Failed to save file. + + + + + Failed to find file +%1 + + + + + _fit + + + + + iWxRstSave + + + Save job informations + + + + + Anal options + + + + + Anal headers + + + + + If exists, add _1,_2,_3... automatically, else over write. + + + + + Save + + + + + Cancel + + + + + Title is empty of '%1' + + + + + NewTitle + + + + + iWxRunOption + + + Name + + + + + Code + + + + + TestType + + + + + FluidType + + + + + WellRadus + + + + + Remark + + + + + + + + MiniFrac + + + + + + Please select a AnalRun first + + + + + Same name already exists. + + + + + iWxRunOptionIPR + + + Fluid Segment Settiing + + + + + + Alg Method + + + + + IprBasic + + + + + + IprData + + + + + One Point Rs + + + + + Chart + + + + + GroupBox + + + + + JobType: + + + + + Set as current AnalRun + + + + + Wnd to apply + + + + + Create if not exists + + + + + MpData + + + + + Apply + + + + + OK + + + + + Cancel + + + + + Ipr Run Option + + + + + OnePointResults + + + + + Equation: + + + + + FlowRateIPR + + + + + Data not proper or enough + + + + + iWxRunOptionMiniFrFA + + + Fluid Segment Settiing + + + + + Setp Up + + + + + + Step Down + + + + + IprBasic + + + + + 30 + + + + + 初始压力 + + + + + MPa + + + + + IprData + + + + + Chart + + + + + GroupBox + + + + + JobType: + + + + + Set as current AnalRun + + + + + Wnd to apply + + + + + Create if not exists + + + + + MpData + + + + + Apply + + + + + OK + + + + + Cancel + + + + + MiniFr Segment Setting + + + + + MiniFrBasic + + + + + MiniFrData + + + + + + Fitting + + + + + + + regression point + + + + + MiniAnalFr + + + + + Step Up + + + + + iWxRunOptionMiniFrPA + + + MiniFr Segment Setting + + + + + MiniFr + + + + + Curve1 + + + + + iWxRunOptionStd + + + Fluid Segment Settiing + + + + + Segment Base + + + + + Name + + + + + Type + + + + + 压恢 + + + + + 压降 + + + + + Smoothing && thinning + + + + + Smoothing + + + + + lblPtCounts + + + + + ShowRaws + + + + + SmoothFactor + + + + + Thinning + + + + + ThinLoop + + + + + Deal end effect automatically + + + + + Chart + + + + + GroupBox + + + + + JobType: + + + + + Set as current AnalRun + + + + + Wnd to apply + + + + + Create if not exists + + + + + MpData + + + + + Apply + + + + + OK + + + + + Cancel + + + + + Thinning dFactor used in Douglas-Peukcer algorithm + + + + + Find no multiphase data, continue? + + + + + Multiphase data needed, prepare for it now? + + + + + iWxRunOptionWDT + + + Fluid Segment Settiing + + + + + + Alg Method + + + + + IprBasic + + + + + + IprData + + + + + One Point Rs + + + + + Chart + + + + + GroupBox + + + + + JobType: + + + + + Set as current AnalRun + + + + + Wnd to apply + + + + + Create if not exists + + + + + MpData + + + + + Apply + + + + + OK + + + + + Cancel + + + + + Ipr Run Option + + + + + OnePointResults + + + + + Equation: + + + + + FlowRateWDT + + + + + Data not proper or enough + + + + + iWxSaveDnPF + + + Save design P&F results + + + + + Options + + + + + Well + + + + + + + 0000 + + + + + P(s) + + + + + 0 + + + + + F(s) + + + + + Pressure + + + + + FluidRate + + + + + Pt(s) + + + + + Seg(s) + + + + + SaveP + + + + + SaveF + + + + + Save current selection as default + + + + + Save + + + + + Cancel + + + + + New one object + + + + + + Failed to save data (%1). + + + + + Override current data? + + + + + iWxSegLineLayout + + + Equal Spaced Layout Set + + + + + Well Seg Info + + + + + Well DepthStart: + + + + + Well DepthEnd: + + + + + Seg Num: + + + + + Equal Segmentation Method + + + + + + Fix Seg StartDepth + + + + + + Fix Seg EndDepth + + + + + + Fix Seg Depth + + + + + Seg StartDepth: + + + + + Seg EndDepth: + + + + + Equal Space: + + + + + OK + + + + + Cancel + + + + + iWxSegLineWholeSet + + + Multi Segment Set + + + + + Well Seg Info + + + + + Well DepthStart: + + + + + Well DepthEnd: + + + + + Mulit Seg Select + + + + + SelectAll + + + + + Invert + + + + + Depth Set + + + + + Depth Offset: + + + + + Lenght Set + + + + + + + + Add Up + + + + + + + + Reset + + + + + Angle Set + + + + + OK + + + + + Cancel + + + + + iWxSegMore + + + SegMore Set + + + + + OK + + + + + Cancel + + + + + Param + + + + + ParaAlias + + + + + Unit + + + + + Seg%1 + + + + + Properties + + + + + iWxSketchSaveAs + + + Save as sketch graph + + + + + Model options used by design + + + + + Save to others freely + + + + + WBS + + + + + WEL + + + + + RES + + + + + BDY + + + + + Save to + + + + + Current project + + + + + WTAI system + + + + + Customer file + + + + + Sketch preview + + + + + ChangeImg + + + + + Save + + + + + Close + + + + + Option '%1' not supported. + + + + + Chart + + + + + Image files (*.png *.bmp *.jpg) + + + + + Browse sketch file + + + + + no sketch image found. + + + + + PNG file(*.png);;JPG file(*.jpg);;TIFF file(*.tiff);;BMP file(*.bmp);;SVG file(*.svg) + + + + + Save as sketch + + + + + iWxSwapPF + + + Choose and change current P&F data + + + + + Options + + + + + Well + + + + + + + 0000 + + + + + P(s) + + + + + 0 + + + + + F(s) + + + + + Pressure + + + + + FluidRate + + + + + Pt(s) + + + + + Seg(s) + + + + + Save current selection as default + + + + + OK + + + + + Cancel + + + + + iWxTabShareOption + + + New sub wnd by instant way + + + + + Title + + + + + + 流动段分析 + + + + + Types + + + + + 流动段选择 + + + + + Copy from one of the followings + + + + + Help + + + + + Apply + + + + + OK + + + + + Cancel + + + + + iWxTableMF + + + DateTime + + + + + Value + + + + + iWxTestData + + + Test data... + + + + + Data inputs + + + + + P/F Chart + + + + + Show chart PF + + + + + OK + + + + + Cancel + + + + + Failed to get defines of AlgItem. + + + + + +MethodID:%1 + + + + + + Data not proper or enough + + + + + FlowRateWDT + + + + + iWxTime + + + Time about settings + + + + + TimeSet + + + + + End of simulation: + + + + + Start of simulation: + + + + + Min time step: + + + + + Max time step: + + + + + UnitSet + + + + + Unit: + + + + + Automatic + + + + + OK + + + + + Cancel + + + + + Min step value seems to be improper. + + + + + Max step value seems to be improper. + + + + + Max step value less than that of min. + + + + + Max step value seems too small. + + + + + iWxToolTest + + + WTAI Tool Test + + + + + Run + + + + + Close + + + + + iWxUpdateLists + + + WTAI Update Lists + + + + + 软件更新列表 + + + + + 硬件信息 + + + + + 确定 + + + + + iWxUrlLoader + + + OICE AI+ + + + + + Welcome to OICE AI+ + + + + + PushButton + + + + + iWxWelcome + + + Open Project + + + + + 新建项目 + + + + + 新建(&N) + + + + + ... + + + + + + + + 刷新 + + + + + 刷新(&R) + + + + + 项目路径: + + + + + 重设工作路径 + + + + + 浏览... + + + + + SortBy + + + + + TimeInc + + + + + TimeDesc + + + + + NameInc + + + + + NameDesc + + + + + MaxRC + + + + + Row + + + + + Col + + + + + 最近打开项目... + + + + + 最近打开的目录... + + + + + 最近文件/图件个数 + + + + + 更新系统配置 + + + + + WTAI Welcome + + + + + Make sure to delete selected project? + + + + + '%1' owns %2 well(s) and all will be removed if continue, + + + + + + + This project is deleted or destroyed, +remove this name from recent directory lists? + + + + + No WTAI projects in this directory, +remove this name from recent directory lists? + + + + + This project seems to be invalid. + + + + + WTAI project files (*.wtf) + + + + + Browse all projects + + + + + More... + + + + + Delete + + + + + (%1) %2 [%3] + + + + + iWxWelcomeNew + + + (%1) %2 +[%3] + + + + + Make sure to delete selected project? + + + + + '%1' owns %2 well(s) and all will be removed if continue, + + + + + + Search projects... + + + + + Select Directory + + + + + Recent Projs + + + + + Recent Dirs + + + + + %1 wells + + + + + New Proj + + + + + This project is deleted or destroyed, +remove this name from recent directory lists? + + + + + No WTAI projects in this directory, +remove this name from recent directory lists? + + + + + iWxWelcomeNew2 + + + New Generation Well Test Interpretation Software + + + + + Ready + + + + + Diagnostic Plot +(preview) + + + + + Total Projs + + + + + In Progress + + + + + Completed + + + + + Completion Rate + + + + + ManShen803 5 wells 0 interpreted Last edit: 3 days ago + + + + + HZ19-6 3 wells 1 interpreted Last edit: 5 days ago + + + + + Demo66 4 wells 0 interpreted Last edit: 2 weeks ago + + + + + Quick Start + + + + + + New Proj + + + + + Open Proj + + + + + Import Data + + + + + Generate Report + + + + + Creating new workspace... + + + + + Opening workspace... + + + + + Importing data... + + + + + Generating report... + + + + + iWxWelcomeNew3 + + + New Generation Well Test Interpretation Software + + + + + Ready + + + + + New + + + + + Open + + + + + Import + + + + + Report + + + + + My Projs + + + + + Model Templates + + + + + Creating new workspace... + + + + + Opening workspace... + + + + + iWxWellNew + + + 新建井 + + + + + 油田名称: + + + + + 井名(*): + + + + + 修改人: + + + + + 创建人: + + + + + 创建时间: + + + + + 修改时间: + + + + + 井径: + + + + + m + + + + + 井别: + + + + + 井型: + + + + + 井口坐标X: + + + + + 辅助说明: + + + + + 区块名称: + + + + + <html><head/><body><p><span style=" color:#8f8f8f;">井号(*):</span></p></body></html> + + + + + 井口坐标Y: + + + + + Other Data + + + + + DataGaugeF + + + + + DataGaugeP + + + + + DataGaugeT + + + + + AnalysisResults + + + + + DataFluid + + + + + DataRes + + + + + DataLayer + + + + + VPT-abouts are shared among alll wells + + + + + PVTAbouts + + + + + 确定 + + + + + 取消 + + + + + Clone + + + + + New Well + + + + + Edit Well + + + + + Scan Well + + + + + Well name can't be empty. + + + + + Well name already exists. + + + + + Well name is beyond %1 bytes. + + + + + CloneOf%1 + + + + + Clone Well + + + + + Clone Of '%1' + + + + + %1 (%2) + + + + + jsGx6ObjGetWell + + + Find no info of current well. + + + + + mProjectFile + + + Failed to save file: +%1 + + + + + Failed to find file: +%1 + + + + + Failed to load file: +%1 + + + + + tGridRowUtils + + + Layer #%1 + + + + + Not Supported of '%1' + + + + + + Failed to find brother Wel Item + + + + + Option '%1' not supported. + + + + + Failed to find brother Res Item + + + + + + Failed to find config of '%1' + + + + + test + + + Dialog + + + + + + PushButton + + + + + utilityCO2CouplingS + + + TimeInjected '%1' seems too short + + + + + xMainWindow + + + Not licensed, just run in readonly mode + + + + + failed to find Ribbon File settings + + + + + Type is empty. + + + + + Failed to create wnd of '%1' + + + + + %1 %2 (%3) + + + + + Master of Pressure Analysis %1 (%2) + + + + + %1 Project: [%2] DataPath: [%3] + + + + + Failed to find config of table: '%1' + + + + + Failed to find para of '%1' + + + + + Failed to save project, +turn to logviews for details + + + + + Saved project successfully. + + + + + This project is deleted or destroyed, +remove this name from recent project lists? + + + + + Project file not exists. + + + + + Well exists with same code, overwrite it? + + + + + Find no tag of 'wellLegalName' + + + + + From GX6 Platform + + + + + New Anal %1 + + + + + Duplicate current tab to another + + + + + Rename current tab + + + + + Close current tab + + + + + Close all tabs except current + + + + + Close all tabs + + + + + Error found: Mdi wnd type is empty. ID is '%1' + + + + + Series Navi + + + + + Please open or new a project first. + + + + + + + Not supported with ID='%1' + + + + + + SubWnd is null. + + + + + + + Well is null. + + + + + Failed to call nmWndUtils::loadRsts + + + + + Failed to call nmWndUtils::saveRsts + + + + + + Failed to load ByteArray + + + + + Failed to rename dir of '%1' + + + + + Data + + + + + Anals + + + + + Results + + + + + Main + + + + + Logs + + + + + All + + + + + Started %1 at %2 + + + + + Current user: %1 Login time: %2 + + + + + Current project dbVer is old, update it? + + + + + + %1 table error: +%2 + + + + + zxAppRunner + + + Failed to find module of PanIPR + + + + + Failed to start exe + + + + + + + +StandardError:%1 + + + + + Failed to run exe(ErrorCode:%1) + + + + diff --git a/Bin/Config/WTAI/ChuAiModelDefines.ini.autosave b/Bin/Config/WTAI/ChuAiModelDefines.ini.autosave deleted file mode 100644 index b73a629..0000000 --- a/Bin/Config/WTAI/ChuAiModelDefines.ini.autosave +++ /dev/null @@ -1,20 +0,0 @@ -;北科大褚老师模型分类相关的定义(要与WTAI之间进行映射) - -; 配置说明 -; 1_VH = {直井均质储层:完全打开直井+均质}{CD:C}{S:S} -; 1_为下拉显示顺序标识 -; VH 为褚老师内部标识,目前其能识别7种,此即其7个标识 -; {直井均质储层:完全打开直井+均质} 前面的"直井均质储层",为褚老师内部 VH 这种类型对应的名称 -; 后面的"完全打开直井+均质"为WTAI中,VH这种对应的真实名称,具体参见 ModelDescsLP.xml 文件 -; {CD:C} 前面的CD,为褚老师内部 VH 这种类型所能反演出来的参数的英文标识 -; 后面的C为WTAI中,该参数的英文标识,具体参加 ModelParaDefinesLP.xml 文件 -; 对于含义不同,需要转换关系的,比如裂缝半长、裂缝长度之类,在软件内部自动进行。 - -[Default] -1_VH = {直井均质储层:完全打开直井+均质}{CD:C}{S:S} -2_VDP = {直井双重孔隙介质储层:完全打开直井+双重孔隙介质拟稳态单渗}{CD:C}{S:S}{W:lambda}{R:omegaf} -3_FVH = {垂直裂缝井均质储层:完全打开压裂直井(有限导流)+均质}{CD:C}{S:S}{CFD:Fc}{Lxf:xf} -4_FVDP = {垂直裂缝井双重孔隙介质储层:完全打开压裂直井(有限导流)+双重孔隙介质拟稳态单渗}{CD:C}{S:S}{CFD:Fc}{Lxf:xf}{W:lambdamf}{R:omegaf} -5_VRC = {直井径向复合储层:完全打开直井+均质二区径向复合}{CD:C}{S:S}{M23:M21}{Rf:r21} -6_HH = {水平井均质储层:常规水平井+均质}{CD:C}{S:S}{Lxf:L} -7_HDP = {水平井双重孔隙介质储层:常规水平井+双重孔隙介质拟稳态单渗}{CD:C}{S:S}{Lxf:L}{W:lambda}{R:D} diff --git a/Bin/Config/WTAI/WTAIConfig.ini.bak b/Bin/Config/WTAI/WTAIConfig_cn.ini similarity index 93% rename from Bin/Config/WTAI/WTAIConfig.ini.bak rename to Bin/Config/WTAI/WTAIConfig_cn.ini index 14d2601..47519cf 100644 --- a/Bin/Config/WTAI/WTAIConfig.ini.bak +++ b/Bin/Config/WTAI/WTAIConfig_cn.ini @@ -16,7 +16,7 @@ ModuleID = WeTest ;与GX6通讯约定的模块ID Version = v1.0 ;与GX6通讯约定的软件版本,v小写 [Version] -DbVer = V0.85 ;数据库版本 +DbVer = V0.86 ;数据库版本 ;数据库选择相关 [DataBaseSrc] @@ -51,12 +51,14 @@ WellType = {油井}{气井}{水井}; WellTypeEN = {Oil}{Gas}{Water}; WellIcon = {OilWell}{OilWell}{OilWell};原来是{OilWell}{GasWell}{WaterWell} WellClass = {直井}{压裂直井}{水平井}{多段压裂水平井}; -WellClassEN = {VerticalWell}{VerticalFracturedWell}{HorizontalFracturedWell}; +WellClassEN = {VerticalWell}{VerticalFracturedWell}{HorizontalWell}{HorizontalMultiFracturedWell}; ;软件类型 [ModuleType] MenuType = ClientMenu ;菜单类型 客户菜单: ClientMenu 数据菜单:DataMenu +RibbonType = 1; 1 是折叠 0 是不折叠 +BtnWrapType = 0; 1 是换行 0 是不换行 ;服务器端登录信息 [ServerLogin] @@ -87,7 +89,7 @@ BaseResolutionW = 1920; 基准分辨率 1024 1920 BaseResolutionH = 1080;768 1080 NovelQss = 0; 是否启用新的样式表,ZXF202407 PtyRichMode = 0; 属性页是否富文本模式 -ModelSource = 0; 0所有模型; 1是北京模型;2是西安模型; +ModelSource = 0; 0所有模型; 1是北京模型;2是西安模型;3是西南模型; ModelShow = 1; 0井节点都展示 不管有没有模型关联(关联是指下面模型中井下面要有储层展示),其他:比如1:做筛选模型不存在井做筛选 ; AlgSpecialConstant = 1; 1:[1.842->1.866478542683599] [0.0036->0.00355292376017765] 常用参数变化主要是无因此转换,其他取值 前一个,值为1取值后一个 diff --git a/Bin/Config/WTAI/WTAIConfig.ini b/Bin/Config/WTAI/WTAIConfig_cn.ini.bak similarity index 98% rename from Bin/Config/WTAI/WTAIConfig.ini rename to Bin/Config/WTAI/WTAIConfig_cn.ini.bak index 1508d9b..3220507 100644 --- a/Bin/Config/WTAI/WTAIConfig.ini +++ b/Bin/Config/WTAI/WTAIConfig_cn.ini.bak @@ -57,6 +57,7 @@ WellClassEN = {VerticalWell}{VerticalFracturedWell}{HorizontalWell}{HorizontalMu ;软件类型 [ModuleType] MenuType = ClientMenu ;菜单类型 客户菜单: ClientMenu 数据菜单:DataMenu +RibbonType = 1; 1 是折叠 0 是不折叠 ;服务器端登录信息 [ServerLogin] diff --git a/Bin/Config/WTAI/WTAIConfig.ini.autosave b/Bin/Config/WTAI/WTAIConfig_en.ini similarity index 79% rename from Bin/Config/WTAI/WTAIConfig.ini.autosave rename to Bin/Config/WTAI/WTAIConfig_en.ini index 79e5551..efd4a18 100644 --- a/Bin/Config/WTAI/WTAIConfig.ini.autosave +++ b/Bin/Config/WTAI/WTAIConfig_en.ini @@ -3,41 +3,41 @@ [Global] AppID = WTAI ;AppID AppLogo = WTAI.png ;Logo -AppDescCN = 新一代试井处理解释软件;中文 +AppDescCN = Next-Gen Well Test Processing and Interpretation Software;中文 AppDescEN = iWeTai;英文 -Dev = 中国石油勘探开发研究院; +Dev = CNPC; DebugLevel = 0; 1 为Debug模式,可以打印更多日志,比如SQL语句 AppVer = c4ca4238a0b923820dcc509a6f75849b; 内定的编码,则为常规版本,否则为 临时版本 -Customer = 研究院\r\n试井相关研究人员; +Customer = Researcher\r\nOthers concerned; PtyAdvanced = 1; 属性采用高级模式 [GX6Config] ModuleID = WeTest ;与GX6通讯约定的模块ID -Version = v1.0 ;与GX6通讯约定的软件版本,v小写 +Version = v1.0 ;与GX6通讯约定的软件版本,v小写 [Version] -DbVer = V0.85 ;数据库版本 +DbVer = V0.86 ;数据库版本 ;数据库选择相关 [DataBaseSrc] -DatabaseType = QSQLITE ;数据库类型 QDM: 武汉达梦 QKB: 人大金仓 QOCI:Oracle QSQLITE:SqlLite文件 +DatabaseType = QSQLITE ;数据库类型 QDM: 武汉达梦 QKB: 人大金仓 QOCI:Oracle QSQLITE:SqlLite文件 Server = localhost Port = 5236 database = DMTest username = WANGZG -Password = ******* +Password = fk20258888 SQLiteByWell = 0; 是否一口井一个db文件模式,1:是,其它:否 WellTestStar = 0; 新疆试井之星,1:是,其它:否 ;项目树中的数据节点 [ProjTreeInfos] -DataChildNames = {井基础数据}{地质分层数据}{储层数据}{流体性质数据}; +DataChildNames = {WellBasic}{GeoData}{ResData}{FlowData}; DataChildTables = {B_Well}{B_Layer}{P_DATA_RES}{P_DATA_FLUID}{P_DATA_GAUGE_P}{P_DATA_GAUGE_F}; DataChildIcons = {tBase}{tLayer}{tRes}{tFluid}{tPressure}{tFluidRate}; RsChildNames = {Job Info}{Data Used}{Results}{Report}; RsChildIcons = {jBase}{jData}{jResult}{jReport}; -DataAllName = 所有井; -WellAllName = 基础数据; +DataAllName = AllWells; +WellAllName = WellBasic; ;油气水对应的参数选项 [FluildOptionParas] @@ -47,14 +47,17 @@ Water = {Bw}{Miuw}{Ct}; ;井别、井型 [WellDataOptions] -WellType = {油井}{气井}{水井}; +WellType = {OilWell}{GasWell}{WaterWell}; WellTypeEN = {Oil}{Gas}{Water}; WellIcon = {OilWell}{OilWell}{OilWell};原来是{OilWell}{GasWell}{WaterWell} -WellClass = {直井}{水平井}; +WellClass = {Vertical}{VerticalFractured}{Horizontal}{HorizontalMultiFractured}; +WellClassEN = {VerticalWell}{VerticalFracturedWell}{HorizontalWell}{HorizontalMultiFracturedWell}; + ;软件类型 [ModuleType] MenuType = ClientMenu ;菜单类型 客户菜单: ClientMenu 数据菜单:DataMenu +RibbonType = 1; 1 是折叠 0 是不折叠 ;服务器端登录信息 [ServerLogin] @@ -85,7 +88,7 @@ BaseResolutionW = 1920; 基准分辨率 1024 1920 BaseResolutionH = 1080;768 1080 NovelQss = 0; 是否启用新的样式表,ZXF202407 PtyRichMode = 0; 属性页是否富文本模式 -ModelSource = 0; 0所有模型; 1是北京模型;2是西安模型; +ModelSource = 0; 0所有模型; 1是北京模型;2是西安模型;3是西南模型; ModelShow = 1; 0井节点都展示 不管有没有模型关联(关联是指下面模型中井下面要有储层展示),其他:比如1:做筛选模型不存在井做筛选 ; AlgSpecialConstant = 1; 1:[1.842->1.866478542683599] [0.0036->0.00355292376017765] 常用参数变化主要是无因此转换,其他取值 前一个,值为1取值后一个 diff --git a/Bin/Config/WTAI/WTAI_update_list.html b/Bin/Config/WTAI/WTAI_update_list.html index c3f3ac4..1d1d6e4 100644 --- a/Bin/Config/WTAI/WTAI_update_list.html +++ b/Bin/Config/WTAI/WTAI_update_list.html @@ -15,26 +15,26 @@ div.block { margin:20px auto; - border:1px solid #cadef4; + padding:10px; + color: #888888; font-family:bolder; } .title { - font-family: 宋体; - color: blue; + font-family: "Microsoft YaHei"; + color: #888888; font-size:10pt; - font-weight:boldre; + font-weight:bold; } .li_important { line-height: 25px; - font-size: 14pt; + color: #888888; font-weight: bold; } .li_todo { line-height: 25px; - font-size: 12pt; color: red; } @@ -48,14 +48,74 @@ div.block line-height:20px; font-size:9pt; } +div.block_latest +{ + + padding:10px; + color: #444444; + font-size: 12pt; + font-family:bolder; +} +.block_latest li +{ + line-height:20px; + font-size:9pt; +} +.title_latest +{ + font-family: "Microsoft YaHei"; + color: #444444; + font-size:10pt; + font-weight:bold; +} + +.li_important_latest { + line-height: 25px; + color: #444444; + font-weight: bold; +} --> + + +
+ +

软件版本:20260605[临时版本]

+
    +
  1. 新增:首页面更换
  2. +
  3. 新增:Ribbon支持缩放
  4. +
  5. 新增:北京压裂模型增加总表皮系数
  6. +
  7. 修复:小信号图形错误问题
  8. +
  9. 新增:北京压裂模型表皮系数更改为 裂缝表皮系数,限制范围0-1
  10. +
  11. 新增:ZxAppPrompt触发类+中英文机制,多语言版本架子搭建完毕
  12. + +
  13. 修复:弹出窗与双对数的末端个别不一致情况
  14. +
  15. 修复:难题Debug断言问题解决
  16. +
  17. 优化:抽稀算法,大幅降低双对数曲线点数
  18. +
  19. 优化:完善线性流模型边界与裂缝半长的关系
  20. +
  21. 优化:自动拟合对话框参数范围与配置绑定
  22. +
  23. 优化:优化调整坐标轴临界的刻度显示
  24. +
  25. 优化:优化调整坐标轴刻度算法,采用新的刻度计算算法
  26. +
  27. 优化:坐标轴刻度根据视图大小自动显示/隐藏
  28. +
  29. 优化:重叠频繁点击解析解崩溃问题
  30. +
  31. 优化:对于双对数曲线图,如果y轴数值小于1/10000 或者 x轴数值小于 1/3600(即1秒),则忽略该点
  32. +
  33. 优化:优化半对数数据显示效果
  34. +
  35. 优化:优化历史曲线显示范围
  36. +
  37. 优化:解释结果视图左右布局默认不合适,修改
  38. +
  39. 优化:规范PVT代码
  40. +
  41. 优化:优化水压缩系数图效果
  42. +
  43. 优化:属性表下拉框效果优化(高度、字体加粗等方面)
  44. +
  45. 优化:完善中文降序函数
  46. +
  47. 优化:修改异常捕获,写入更多异常信息,方便问题跟踪调试
  48. +
  49. 优化:更新库依赖关系工具,解决部分依赖关系紊乱问题
  50. -

    WTAI latest updates

    +
+

软件版本:20260520

diff --git a/Bin/Res/Icon.rar b/Bin/Res/Icon.rar deleted file mode 100644 index ebc180e..0000000 Binary files a/Bin/Res/Icon.rar and /dev/null differ diff --git a/Bin/Res/Icon/Clipboard.png b/Bin/Res/Icon/Clipboard.png new file mode 100644 index 0000000..355419d Binary files /dev/null and b/Bin/Res/Icon/Clipboard.png differ diff --git a/Bin/Res/Icon/Eyes_Off.png b/Bin/Res/Icon/Eyes_Off.png new file mode 100644 index 0000000..77f7193 Binary files /dev/null and b/Bin/Res/Icon/Eyes_Off.png differ diff --git a/Bin/Res/Icon/LangSwap.png b/Bin/Res/Icon/LangSwap.png new file mode 100644 index 0000000..db6246a Binary files /dev/null and b/Bin/Res/Icon/LangSwap.png differ diff --git a/Bin/Res/Icon/MPA.ico b/Bin/Res/Icon/MPA.ico deleted file mode 100644 index e75dfec..0000000 Binary files a/Bin/Res/Icon/MPA.ico and /dev/null differ diff --git a/Bin/Res/Icon/MPA.png b/Bin/Res/Icon/MPA.png deleted file mode 100644 index f051675..0000000 Binary files a/Bin/Res/Icon/MPA.png and /dev/null differ diff --git a/Bin/Res/Icon/MPA16.png b/Bin/Res/Icon/MPA16.png deleted file mode 100644 index 6f88c84..0000000 Binary files a/Bin/Res/Icon/MPA16.png and /dev/null differ diff --git a/Bin/Res/Image/MPA_DataGrid.png b/Bin/Res/Icon/NmDemo - 副本.png similarity index 62% rename from Bin/Res/Image/MPA_DataGrid.png rename to Bin/Res/Icon/NmDemo - 副本.png index 7332e39..c85c12e 100644 Binary files a/Bin/Res/Image/MPA_DataGrid.png and b/Bin/Res/Icon/NmDemo - 副本.png differ diff --git a/Bin/Res/Icon/OICE.png b/Bin/Res/Icon/OICE.png deleted file mode 100644 index 32ff8c4..0000000 Binary files a/Bin/Res/Icon/OICE.png and /dev/null differ diff --git a/Bin/Res/Icon/OICEAbout.png b/Bin/Res/Icon/OICEAbout.png deleted file mode 100644 index 32ff8c4..0000000 Binary files a/Bin/Res/Icon/OICEAbout.png and /dev/null differ diff --git a/Bin/Res/Icon/PPTA.png b/Bin/Res/Icon/PPTA.png deleted file mode 100644 index 32ff8c4..0000000 Binary files a/Bin/Res/Icon/PPTA.png and /dev/null differ diff --git a/Bin/Res/Icon/PPTAAbout.png b/Bin/Res/Icon/PPTAAbout.png deleted file mode 100644 index 32ff8c4..0000000 Binary files a/Bin/Res/Icon/PPTAAbout.png and /dev/null differ diff --git a/Bin/Res/Icon/ProjActive.png b/Bin/Res/Icon/ProjActive.png new file mode 100644 index 0000000..5fa7c83 Binary files /dev/null and b/Bin/Res/Icon/ProjActive.png differ diff --git a/Bin/Res/Icon/ProjSort.png b/Bin/Res/Icon/ProjSort.png new file mode 100644 index 0000000..4805b79 Binary files /dev/null and b/Bin/Res/Icon/ProjSort.png differ diff --git a/Bin/Res/Icon/SelectDir.png b/Bin/Res/Icon/SelectDir.png new file mode 100644 index 0000000..3c70a5e Binary files /dev/null and b/Bin/Res/Icon/SelectDir.png differ diff --git a/Bin/Res/Icon/SelectFile.png b/Bin/Res/Icon/SelectFile.png new file mode 100644 index 0000000..eeb2797 Binary files /dev/null and b/Bin/Res/Icon/SelectFile.png differ diff --git a/Bin/Res/Image.rar b/Bin/Res/Image.rar deleted file mode 100644 index 262e931..0000000 Binary files a/Bin/Res/Image.rar and /dev/null differ diff --git a/Bin/Res/Image/MPA_About.png b/Bin/Res/Image/MPA_About.png deleted file mode 100644 index ba200a6..0000000 Binary files a/Bin/Res/Image/MPA_About.png and /dev/null differ diff --git a/Bin/Res/Image/MPA_Background.png b/Bin/Res/Image/MPA_Background.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image/MPA_Background.png and /dev/null differ diff --git a/Bin/Res/Image/MPA_Header.png b/Bin/Res/Image/MPA_Header.png deleted file mode 100644 index d61bd33..0000000 Binary files a/Bin/Res/Image/MPA_Header.png and /dev/null differ diff --git a/Bin/Res/Image/MPA_Left.png b/Bin/Res/Image/MPA_Left.png deleted file mode 100644 index 7332e39..0000000 Binary files a/Bin/Res/Image/MPA_Left.png and /dev/null differ diff --git a/Bin/Res/Image/MPA_LeftOption.png b/Bin/Res/Image/MPA_LeftOption.png deleted file mode 100644 index d874e5e..0000000 Binary files a/Bin/Res/Image/MPA_LeftOption.png and /dev/null differ diff --git a/Bin/Res/Image/MPA_Login.png b/Bin/Res/Image/MPA_Login.png deleted file mode 100644 index b3a5e64..0000000 Binary files a/Bin/Res/Image/MPA_Login.png and /dev/null differ diff --git a/Bin/Res/Image/MPA_Logs.png b/Bin/Res/Image/MPA_Logs.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image/MPA_Logs.png and /dev/null differ diff --git a/Bin/Res/Image/MPA_Main.png b/Bin/Res/Image/MPA_Main.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image/MPA_Main.png and /dev/null differ diff --git a/Bin/Res/Image/MPA_Pty.png b/Bin/Res/Image/MPA_Pty.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image/MPA_Pty.png and /dev/null differ diff --git a/Bin/Res/Image/OICE_About.png b/Bin/Res/Image/OICE_About.png deleted file mode 100644 index 6be3967..0000000 Binary files a/Bin/Res/Image/OICE_About.png and /dev/null differ diff --git a/Bin/Res/Image/OICE_Background.png b/Bin/Res/Image/OICE_Background.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image/OICE_Background.png and /dev/null differ diff --git a/Bin/Res/Image/OICE_DataGrid.png b/Bin/Res/Image/OICE_DataGrid.png deleted file mode 100644 index 7332e39..0000000 Binary files a/Bin/Res/Image/OICE_DataGrid.png and /dev/null differ diff --git a/Bin/Res/Image/OICE_Header.png b/Bin/Res/Image/OICE_Header.png deleted file mode 100644 index d61bd33..0000000 Binary files a/Bin/Res/Image/OICE_Header.png and /dev/null differ diff --git a/Bin/Res/Image/OICE_Left.png b/Bin/Res/Image/OICE_Left.png deleted file mode 100644 index 7332e39..0000000 Binary files a/Bin/Res/Image/OICE_Left.png and /dev/null differ diff --git a/Bin/Res/Image/OICE_LeftOption.png b/Bin/Res/Image/OICE_LeftOption.png deleted file mode 100644 index d874e5e..0000000 Binary files a/Bin/Res/Image/OICE_LeftOption.png and /dev/null differ diff --git a/Bin/Res/Image/OICE_Login.png b/Bin/Res/Image/OICE_Login.png deleted file mode 100644 index b3a5e64..0000000 Binary files a/Bin/Res/Image/OICE_Login.png and /dev/null differ diff --git a/Bin/Res/Image/OICE_Logs.png b/Bin/Res/Image/OICE_Logs.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image/OICE_Logs.png and /dev/null differ diff --git a/Bin/Res/Image/OICE_Main.png b/Bin/Res/Image/OICE_Main.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image/OICE_Main.png and /dev/null differ diff --git a/Bin/Res/Image/OICE_Pty.png b/Bin/Res/Image/OICE_Pty.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image/OICE_Pty.png and /dev/null differ diff --git a/Bin/Res/Image/PPTA_About.png b/Bin/Res/Image/PPTA_About.png deleted file mode 100644 index 6be3967..0000000 Binary files a/Bin/Res/Image/PPTA_About.png and /dev/null differ diff --git a/Bin/Res/Image/PPTA_Background.png b/Bin/Res/Image/PPTA_Background.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image/PPTA_Background.png and /dev/null differ diff --git a/Bin/Res/Image/PPTA_DataGrid.png b/Bin/Res/Image/PPTA_DataGrid.png deleted file mode 100644 index 7332e39..0000000 Binary files a/Bin/Res/Image/PPTA_DataGrid.png and /dev/null differ diff --git a/Bin/Res/Image/PPTA_Header.png b/Bin/Res/Image/PPTA_Header.png deleted file mode 100644 index d61bd33..0000000 Binary files a/Bin/Res/Image/PPTA_Header.png and /dev/null differ diff --git a/Bin/Res/Image/PPTA_Left.png b/Bin/Res/Image/PPTA_Left.png deleted file mode 100644 index 7332e39..0000000 Binary files a/Bin/Res/Image/PPTA_Left.png and /dev/null differ diff --git a/Bin/Res/Image/PPTA_LeftOption.png b/Bin/Res/Image/PPTA_LeftOption.png deleted file mode 100644 index d874e5e..0000000 Binary files a/Bin/Res/Image/PPTA_LeftOption.png and /dev/null differ diff --git a/Bin/Res/Image/PPTA_Login.png b/Bin/Res/Image/PPTA_Login.png deleted file mode 100644 index b3a5e64..0000000 Binary files a/Bin/Res/Image/PPTA_Login.png and /dev/null differ diff --git a/Bin/Res/Image/PPTA_Logs.png b/Bin/Res/Image/PPTA_Logs.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image/PPTA_Logs.png and /dev/null differ diff --git a/Bin/Res/Image/PPTA_Main.png b/Bin/Res/Image/PPTA_Main.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image/PPTA_Main.png and /dev/null differ diff --git a/Bin/Res/Image/PPTA_Pty.png b/Bin/Res/Image/PPTA_Pty.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image/PPTA_Pty.png and /dev/null differ diff --git a/Bin/Res/Image/WTAI_WelCome.png b/Bin/Res/Image/WTAI_WelCome.png new file mode 100644 index 0000000..d0de62e Binary files /dev/null and b/Bin/Res/Image/WTAI_WelCome.png differ diff --git a/Bin/Res/Image1/CrossCursor.png b/Bin/Res/Image1/CrossCursor.png deleted file mode 100644 index 26ef318..0000000 Binary files a/Bin/Res/Image1/CrossCursor.png and /dev/null differ diff --git a/Bin/Res/Image1/Models/Theory_Curve1.png b/Bin/Res/Image1/Models/Theory_Curve1.png deleted file mode 100644 index a3598c6..0000000 Binary files a/Bin/Res/Image1/Models/Theory_Curve1.png and /dev/null differ diff --git a/Bin/Res/Image1/Models/Theory_Curve2.png b/Bin/Res/Image1/Models/Theory_Curve2.png deleted file mode 100644 index 2b53a96..0000000 Binary files a/Bin/Res/Image1/Models/Theory_Curve2.png and /dev/null differ diff --git a/Bin/Res/Image1/Models/WBS_None.png b/Bin/Res/Image1/Models/WBS_None.png deleted file mode 100644 index 3cb1bb1..0000000 Binary files a/Bin/Res/Image1/Models/WBS_None.png and /dev/null differ diff --git a/Bin/Res/Image1/Models/WBS_TSET.png b/Bin/Res/Image1/Models/WBS_TSET.png deleted file mode 100644 index 6faff67..0000000 Binary files a/Bin/Res/Image1/Models/WBS_TSET.png and /dev/null differ diff --git a/Bin/Res/Image1/Urrs_Header.png b/Bin/Res/Image1/Urrs_Header.png deleted file mode 100644 index 55ee550..0000000 Binary files a/Bin/Res/Image1/Urrs_Header.png and /dev/null differ diff --git a/Bin/Res/Image1/Urrs_Title.png b/Bin/Res/Image1/Urrs_Title.png deleted file mode 100644 index 7226f86..0000000 Binary files a/Bin/Res/Image1/Urrs_Title.png and /dev/null differ diff --git a/Bin/Res/Image1/WTAI_About.png b/Bin/Res/Image1/WTAI_About.png deleted file mode 100644 index ba200a6..0000000 Binary files a/Bin/Res/Image1/WTAI_About.png and /dev/null differ diff --git a/Bin/Res/Image1/WTAI_Background.png b/Bin/Res/Image1/WTAI_Background.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image1/WTAI_Background.png and /dev/null differ diff --git a/Bin/Res/Image1/WTAI_DataGrid.png b/Bin/Res/Image1/WTAI_DataGrid.png deleted file mode 100644 index 7332e39..0000000 Binary files a/Bin/Res/Image1/WTAI_DataGrid.png and /dev/null differ diff --git a/Bin/Res/Image1/WTAI_Header.png b/Bin/Res/Image1/WTAI_Header.png deleted file mode 100644 index d61bd33..0000000 Binary files a/Bin/Res/Image1/WTAI_Header.png and /dev/null differ diff --git a/Bin/Res/Image1/WTAI_Left.png b/Bin/Res/Image1/WTAI_Left.png deleted file mode 100644 index 7332e39..0000000 Binary files a/Bin/Res/Image1/WTAI_Left.png and /dev/null differ diff --git a/Bin/Res/Image1/WTAI_LeftOption.png b/Bin/Res/Image1/WTAI_LeftOption.png deleted file mode 100644 index d874e5e..0000000 Binary files a/Bin/Res/Image1/WTAI_LeftOption.png and /dev/null differ diff --git a/Bin/Res/Image1/WTAI_Login.png b/Bin/Res/Image1/WTAI_Login.png deleted file mode 100644 index b3a5e64..0000000 Binary files a/Bin/Res/Image1/WTAI_Login.png and /dev/null differ diff --git a/Bin/Res/Image1/WTAI_Logs.png b/Bin/Res/Image1/WTAI_Logs.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image1/WTAI_Logs.png and /dev/null differ diff --git a/Bin/Res/Image1/WTAI_Main.png b/Bin/Res/Image1/WTAI_Main.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image1/WTAI_Main.png and /dev/null differ diff --git a/Bin/Res/Image1/WTAI_Pty.png b/Bin/Res/Image1/WTAI_Pty.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Image1/WTAI_Pty.png and /dev/null differ diff --git a/Bin/Res/Schematics/Wel_207.png b/Bin/Res/Schematics/Wel_207.png new file mode 100644 index 0000000..fc0acf0 Binary files /dev/null and b/Bin/Res/Schematics/Wel_207.png differ diff --git a/Bin/Res/Splash/MPA.gif b/Bin/Res/Splash/MPA.gif deleted file mode 100644 index d11a8f2..0000000 Binary files a/Bin/Res/Splash/MPA.gif and /dev/null differ diff --git a/Bin/Res/Splash/MPA.swf b/Bin/Res/Splash/MPA.swf deleted file mode 100644 index 33fc54f..0000000 Binary files a/Bin/Res/Splash/MPA.swf and /dev/null differ diff --git a/Bin/Res/Splash/MPA_Flash_1.png b/Bin/Res/Splash/MPA_Flash_1.png deleted file mode 100644 index c115d6f..0000000 Binary files a/Bin/Res/Splash/MPA_Flash_1.png and /dev/null differ diff --git a/Bin/Res/Splash/MPA_Flash_2.png b/Bin/Res/Splash/MPA_Flash_2.png deleted file mode 100644 index 6faff67..0000000 Binary files a/Bin/Res/Splash/MPA_Flash_2.png and /dev/null differ diff --git a/Bin/Res/Splash/MPA_Flash_3.png b/Bin/Res/Splash/MPA_Flash_3.png deleted file mode 100644 index 10630f4..0000000 Binary files a/Bin/Res/Splash/MPA_Flash_3.png and /dev/null differ diff --git a/Bin/Res/Splash/MPA_Splash_Basic.png b/Bin/Res/Splash/MPA_Splash_Basic.png deleted file mode 100644 index 10630f4..0000000 Binary files a/Bin/Res/Splash/MPA_Splash_Basic.png and /dev/null differ diff --git a/Bin/Res/Splash/OICE.gif b/Bin/Res/Splash/OICE.gif deleted file mode 100644 index a1d7e3d..0000000 Binary files a/Bin/Res/Splash/OICE.gif and /dev/null differ diff --git a/Bin/Res/Splash/OICE_Splash_Basic.png b/Bin/Res/Splash/OICE_Splash_Basic.png deleted file mode 100644 index 10630f4..0000000 Binary files a/Bin/Res/Splash/OICE_Splash_Basic.png and /dev/null differ diff --git a/Bin/Res/Splash/readme.txt b/Bin/Res/Splash/readme.txt deleted file mode 100644 index 7c9e7f8..0000000 --- a/Bin/Res/Splash/readme.txt +++ /dev/null @@ -1,11 +0,0 @@ -˵ - -· $\Bin\Res\Splash - -ļ˵ - -1MPA.gif ļ̶ GIFʽ -2MPA.swf ļ̶ Flash/Swfʽ -3MPA_Flash_1.pngMPA_Flash_2.pngȵͼƬѭģʽ - ļƲ̶̶ʽΪ*.pngʽ˳Ϊ ļ ˳ -4MPA_Splash_Basic.png ļ̶ QtԴQSplashScreenӽ ģʽ \ No newline at end of file diff --git a/Bin/XmlFiles/BtnCmds.xml b/Bin/XmlFiles/BtnCmds_cn.xml similarity index 100% rename from Bin/XmlFiles/BtnCmds.xml rename to Bin/XmlFiles/BtnCmds_cn.xml diff --git a/Bin/XmlFiles/BtnCmds_en.xml b/Bin/XmlFiles/BtnCmds_en.xml new file mode 100644 index 0000000..60fa529 --- /dev/null +++ b/Bin/XmlFiles/BtnCmds_en.xml @@ -0,0 +1,325 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Bin/XmlFiles/MenuDefines_Ribbon.xml b/Bin/XmlFiles/MenuDefines_Ribbon_cn.xml similarity index 99% rename from Bin/XmlFiles/MenuDefines_Ribbon.xml rename to Bin/XmlFiles/MenuDefines_Ribbon_cn.xml index 2f9a12a..cf6dc23 100644 --- a/Bin/XmlFiles/MenuDefines_Ribbon.xml +++ b/Bin/XmlFiles/MenuDefines_Ribbon_cn.xml @@ -32,6 +32,8 @@ 5——Text 6——Label 7——ListWidget + 8——LineEdit + 9——劈分按钮 Name: 名称,通常英文 Alias: 别名,通常中文 Icon: 图标 @@ -502,6 +504,10 @@ + + + + diff --git a/Bin/XmlFiles/MenuDefines_Ribbon_en.xml b/Bin/XmlFiles/MenuDefines_Ribbon_en.xml new file mode 100644 index 0000000..d074a73 --- /dev/null +++ b/Bin/XmlFiles/MenuDefines_Ribbon_en.xml @@ -0,0 +1,524 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Bin/XmlFiles/ModelParaDefinesLP.xml b/Bin/XmlFiles/ModelParaDefinesLP_cn.xml similarity index 99% rename from Bin/XmlFiles/ModelParaDefinesLP.xml rename to Bin/XmlFiles/ModelParaDefinesLP_cn.xml index 2a995b0..84fab18 100644 --- a/Bin/XmlFiles/ModelParaDefinesLP.xml +++ b/Bin/XmlFiles/ModelParaDefinesLP_cn.xml @@ -241,6 +241,7 @@ + @@ -479,7 +480,7 @@ - + @@ -495,8 +496,8 @@ - - + + diff --git a/Bin/XmlFiles/ModelParaDefinesLP_en.xml b/Bin/XmlFiles/ModelParaDefinesLP_en.xml new file mode 100644 index 0000000..e6fba65 --- /dev/null +++ b/Bin/XmlFiles/ModelParaDefinesLP_en.xml @@ -0,0 +1,602 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Bin/XmlFiles/NmXmlDemo.xml b/Bin/XmlFiles/NmXmlDemo_cn.xml similarity index 100% rename from Bin/XmlFiles/NmXmlDemo.xml rename to Bin/XmlFiles/NmXmlDemo_cn.xml diff --git a/Bin/XmlFiles/NmXmlDemo_en.xml b/Bin/XmlFiles/NmXmlDemo_en.xml new file mode 100644 index 0000000..c7ecfeb --- /dev/null +++ b/Bin/XmlFiles/NmXmlDemo_en.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Bin/XmlFiles/TableStructs.xml b/Bin/XmlFiles/TableStructs_cn.xml similarity index 100% rename from Bin/XmlFiles/TableStructs.xml rename to Bin/XmlFiles/TableStructs_cn.xml diff --git a/Bin/XmlFiles/TableStructs_en.xml b/Bin/XmlFiles/TableStructs_en.xml new file mode 100644 index 0000000..51130ca --- /dev/null +++ b/Bin/XmlFiles/TableStructs_en.xml @@ -0,0 +1,567 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Bin/XmlFiles/UnitDefault.xml b/Bin/XmlFiles/UnitDefault_cn.xml similarity index 100% rename from Bin/XmlFiles/UnitDefault.xml rename to Bin/XmlFiles/UnitDefault_cn.xml diff --git a/Bin/XmlFiles/UnitDefault_en.xml b/Bin/XmlFiles/UnitDefault_en.xml new file mode 100644 index 0000000..b6fa119 --- /dev/null +++ b/Bin/XmlFiles/UnitDefault_en.xml @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Bin/XmlFiles/WTAI_Attributes_en.xml b/Bin/XmlFiles/WTAI_Attributes_en.xml index 4c73a47..3b378d6 100644 --- a/Bin/XmlFiles/WTAI_Attributes_en.xml +++ b/Bin/XmlFiles/WTAI_Attributes_en.xml @@ -1,173 +1,145 @@  - - - + + - - - - - + + - - + + - - - - + + + + - - - + + + - - - - + + + + - - - - - + + - - - - + + + + - - + + - + - + - + - - - - - + + - - + + - + - - - - - + + - + - - - - + + + + - - + + - - + + - - - - + - - + + - - - - + - - + + - + - - - - + + + + - - - - + - - - - + - - + + - - + + - - + + - - - @@ -175,71 +147,214 @@ - - - - - + + - - - + + + + + + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - diff --git a/Include/iAlg/iAlgMath/zxAlgSVD.h b/Include/iAlg/iAlgMath/zxAlgSVD.h deleted file mode 100644 index 015a56e..0000000 --- a/Include/iAlg/iAlgMath/zxAlgSVD.h +++ /dev/null @@ -1,43 +0,0 @@ -#pragma once - -#include "Defines.h" -#include "iAlgMath_global.h" - -// SVD㷨ͨ漰ӵѧֵ -// ʵ˼JacobiSVD㷨ĿܣСľ -// ڴ˻ʵ־棨Ƿ⣩ -// ע⣬㷨ҪܶûнŻԴֵȶ⡣ -// ϴ󣬱಻һʡ -class I_ALGMATH_EXPORT zxAlgSVD -{ -public: - - zxAlgSVD(); - ~zxAlgSVD(); - -#ifdef QT_DEBUG - void test(); -#endif - -public: - - // α - VVecDouble pseudoInverse(VVecDouble& A); - -private: - - // svg - bool svd(VVecDouble& A); - - // sqrt(a^2 + b^2) without under/overflow - double hypot(double a, double b); - -private: - - // - VVecDouble U; - VVecDouble V; - VecDouble s; - int m; - int n; -}; diff --git a/Include/iAlg/iAlgMath/zxTempConverter.h b/Include/iAlg/iAlgMath/zxTempConverter.h new file mode 100644 index 0000000..3203b56 --- /dev/null +++ b/Include/iAlg/iAlgMath/zxTempConverter.h @@ -0,0 +1,58 @@ +#pragma once + +#include "Defines.h" +#include "iAlgMath_global.h" + +// 温度转换类 +class I_ALGMATH_EXPORT zxTempConverter +{ +public: + + zxTempConverter(); + ~zxTempConverter(); + +private: + + // 四种温标枚举 + enum Temp_Unit_Type { + TUT_Celsius = 0, //摄氏度℃ + TUT_Fahrenheit, //华氏度F + TUT_Kelvin, //开尔文K + TUT_Rankine, //兰式温度R + TUT_Unknown + }; + + // 任意温标 → 摄氏度 + static double otherToCelsius(double t, Temp_Unit_Type tutSrc); + + // 摄氏度 → 任意温标 + static double celsiusToOther(double t, Temp_Unit_Type tutDest); + + // 通用转换函数:任意温标 → 任意温标 + static double convert(double t, \ + Temp_Unit_Type tutSrc, \ + Temp_Unit_Type tutDest); + +public: + + // 从摄氏度℃转为其它 + static double cToF(double c); + static double cToK(double c); + static double cToR(double c); + + // 从华氏度F转为其它 + static double fToC(double f); + static double fToK(double f); + static double fToR(double f); + + // 从开尔文K转为其它 + static double kToC(double k); + static double kToF(double k); + static double kToR(double k); + + // 从兰式温度R转为其它 + static double rToC(double r); + static double rToF(double r); + static double rToK(double r); + +}; diff --git a/Include/iBase/iAppBase/ZxAppPrompt.h b/Include/iBase/iAppBase/ZxAppPrompt.h new file mode 100644 index 0000000..77987da --- /dev/null +++ b/Include/iBase/iAppBase/ZxAppPrompt.h @@ -0,0 +1,20 @@ +#pragma once + +#include +#include "iAppBase_global.h" + +// 注意:对于App,需要引用该类,以默认动态构建ZxSystem +class I_APPBASE_EXPORT ZxAppPrompt : public QObject +{ + Q_OBJECT + +public: + + ZxAppPrompt(); + ~ZxAppPrompt(); + +}; + + + + diff --git a/Include/iBase/iBase/zxCrashHandler.h b/Include/iBase/iBase/zxCrashHandler.h deleted file mode 100644 index c75e2e5..0000000 --- a/Include/iBase/iBase/zxCrashHandler.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include -#include "iBase_global.h" - -// 异常捕获 -class I_BASE_EXPORT zxCrashHandler : public QObject -{ - Q_OBJECT - -public: - - zxCrashHandler(); - ~zxCrashHandler(); - - static void registerHandler(); -}; diff --git a/Include/iBase/iLogs/zxLogInstance.h b/Include/iBase/iLogs/zxLogInstance.h index cdb4a78..460d604 100644 --- a/Include/iBase/iLogs/zxLogInstance.h +++ b/Include/iBase/iLogs/zxLogInstance.h @@ -15,7 +15,7 @@ public: static void release(); // 设置 - static void setLogEdit(QTextEdit* pTextEdit); + /*static */void setLogEdit(QTextEdit* pTextEdit); // 写日志,分别对应 Debug Information Fatal Warning void writeLogD(QString sLog); @@ -48,7 +48,7 @@ private: private: static zxLogInstance* m_pLogInstance; - static QTextEdit* m_pLogEdit; + /*static*/ QTextEdit* m_pLogEdit; // 内部标识(文件+Logo) QString m_sLogFile; diff --git a/Include/iBase/iPlugin/MdiAreaEx.h b/Include/iBase/iPlugin/MdiAreaEx.h deleted file mode 100644 index c76ee72..0000000 --- a/Include/iBase/iPlugin/MdiAreaEx.h +++ /dev/null @@ -1,61 +0,0 @@ -#pragma once - -#include - -#include "Defines.h" -#include "iPlugin_global.h" - -// 主要重载其信号响应 -class I_PLUGIN_EXPORT MdiAreaEx : - public QMdiArea -{ - Q_OBJECT - -public: - MdiAreaEx(QWidget* parent = 0); - ~MdiAreaEx(); - - // 布局 - // bFilterMode二次布局时,如果bFilterMode为true则过滤掉Hide的窗体 - void layoutSubWnds(WndLayoutMode o, bool bFilterMode = false); - WndLayoutMode getLayoutMode(); - void relayoutSubWnds(); - - void setLastAutoSpan(bool b); - void setColCount(int n); - -private: - - // 布局实现 - void _layoutOne(QList listSubWnds); - void _layoutVert(QList listSubWnds); - void _layoutHori(QList listSubWnds); - void _layoutCell(QList listSubWnds); - void _layoutCascade(QList listSubWnds); - -protected: - - bool eventFilter(QObject *object, QEvent *event); - void childEvent(QChildEvent *childEvent); - void resizeEvent(QResizeEvent *resizeEvent); - void timerEvent(QTimerEvent *timerEvent); - void showEvent(QShowEvent *showEvent); - -signals: - - // Mdi大小发生了切换 - void sigMdiSizeChanged(); - - // 在布局前允许用户对窗体顺序进行调整 - void sigAdjustSubWnds(QList&); - - // nMode = 0: added 1:removed 2:polished -// void sigChildActioned(QObject* pChild, int nMode); - -protected: - - WndLayoutMode m_oMode; - bool m_bFilterMode; - bool m_bLastSpan; //最后一个是否对齐(如果不够的话),默认为true - int m_nColCount; //默认为2 -}; diff --git a/Include/iBase/iPlugin/MdiSubWindowEx.h b/Include/iBase/iPlugin/MdiSubWindowEx.h deleted file mode 100644 index 611526d..0000000 --- a/Include/iBase/iPlugin/MdiSubWindowEx.h +++ /dev/null @@ -1,126 +0,0 @@ -#pragma once - -#include -#include "IxDynObj.h" -#include "iPlugin_global.h" -#include -#include -#include -#include -#include "iBase_global.h" -#include -#include - -class CustomStyle : public QProxyStyle -{ -public: - CustomStyle(QStyle *baseStyle = 0) : QProxyStyle(baseStyle) {} - - void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget) const - { - if(control == QStyle::CC_TitleBar) - { - const QStyleOptionTitleBar* styleOpt = qstyleoption_cast(option); - if (styleOpt != nullptr) - { - painter->save(); - painter->setRenderHint(QPainter::Antialiasing); - - QRect rectMin = subControlRect(QStyle::CC_TitleBar, styleOpt, widget->isMinimized() ? QStyle::SC_TitleBarNormalButton : QStyle::SC_TitleBarMinButton, widget); - QRect rectMax = subControlRect(QStyle::CC_TitleBar, styleOpt, widget->isMaximized() ? QStyle::SC_TitleBarNormalButton : QStyle::SC_TitleBarMaxButton, widget); - QRect rectClose = subControlRect(QStyle::CC_TitleBar, styleOpt, QStyle::SC_TitleBarCloseButton, widget); - QBrush brush(styleOpt->state & State_Active ? QColor("#C0DCF2") : QColor("#DEF0FE")); - painter->fillRect(styleOpt->rect, brush); - QRect rect = styleOpt->rect; - //由于高度变化 - rectMin.setTop(0);rectMin.setHeight(rect.height()); - rectMax.setTop(0);rectMax.setHeight(rect.height()); - rectClose.setTop(0);rectClose.setHeight(rect.height()); - QSize IconSize = QSize(rect.height(), rect.height()); - - // 关闭按钮 - QPixmap pixIconClose = zxLoadIcon("Titlebar_Close").pixmap(IconSize); - drawButton(painter, rectClose, pixIconClose, IconSize); - - // 最大化按钮 - QPixmap pixIconMax = zxLoadIcon(widget->isMaximized() ? "Titlebar_Normal" : "Titlebar_Max").pixmap(IconSize); - drawButton(painter, rectMax, pixIconMax, IconSize); - - // 最小化按钮 - QPixmap pixIconMin = zxLoadIcon(widget->isMinimized() ? "Titlebar_Normal" : "Titlebar_Min").pixmap(IconSize); - drawButton(painter, rectMin, pixIconMin, IconSize); - float fSize = (float) IconSize.height() * 2 / 3; - // 图标和标题文本 - QRectF iconRect(rect.left() + 2, rect.top(), IconSize.height(), IconSize.height()); - QRectF rcIcon(iconRect.center().rx()-fSize/2, iconRect.center().ry() - fSize/2, fSize, fSize); - painter->drawPixmap(rcIcon.toRect(), styleOpt->icon.pixmap(QSize(16, 16))); - - QRectF rcTitle(rcIcon.right() + fSize, rect.top(), rectMin.left() - (rcIcon.right() + fSize), IconSize.height()); - painter->drawText(rcTitle, styleOpt->text, QTextOption(Qt::AlignLeft | Qt::AlignVCenter)); - - painter->restore(); - return; - } - } - else - { - QProxyStyle::drawComplexControl(control, option, painter, widget); - } - - } - void drawButton(QPainter *painter, const QRectF &buttonRect, const QPixmap &icon, const QSize size) const - { - //绘制位置计算取1/2 - float fSize = (float) size.height() * 1 / 2; - QRectF rcIcon(buttonRect.center().rx()-fSize/2, buttonRect.center().ry() - fSize/2, fSize, fSize); - painter->drawPixmap(rcIcon.toRect(), icon); - } -}; - -// 主要重载其信号响应 -class I_PLUGIN_EXPORT MdiSubWindowEx : - public QMdiSubWindow -{ - Q_OBJECT - -public: - MdiSubWindowEx(bool bNovelQss, QWidget* parent = 0); - ~MdiSubWindowEx(); - - void setBindingObj(IxDynObj* p); - IxDynObj* getBindingObj(); - -protected: - - bool eventFilter(QObject*, QEvent*); - - void showEvent(QShowEvent *event); - void hideEvent(QHideEvent* event); - void changeEvent(QEvent* event); - void closeEvent(QCloseEvent* event); - void resizeEvent(QResizeEvent* event); - void mouseDoubleClickEvent(QMouseEvent* event); - -signals: - - // b:返回的是,是否允许关闭 - void sigConformClosing(bool& b); - // 一旦关闭后,通知刷新状态 - void sigMdiClosed(); - -private: - - IxDynObj* m_pBindingObj; //这是绑定的Obj对象 -}; - -//Mdi中的子项 -class I_PLUGIN_EXPORT SubMdiSubWindowEx : - public MdiSubWindowEx -{ - Q_OBJECT - -public: - - SubMdiSubWindowEx(bool bNovelQss, QWidget* parent = 0); - ~SubMdiSubWindowEx(); -}; diff --git a/Include/iBase/iPlugin/MdiSubWindowEx.h.bak b/Include/iBase/iPlugin/MdiSubWindowEx.h.bak deleted file mode 100644 index 502200b..0000000 --- a/Include/iBase/iPlugin/MdiSubWindowEx.h.bak +++ /dev/null @@ -1,124 +0,0 @@ -#pragma once - -#include -#include "IxDynObj.h" -#include "iPlugin_global.h" -#include -#include -#include -#include -#include "iBase_global.h" -#include -#include - -class CustomStyle : public QProxyStyle -{ -public: - CustomStyle(QStyle *baseStyle = 0) : QProxyStyle(baseStyle) {} - - void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget) const - { - if(control == QStyle::CC_TitleBar) - { - const QStyleOptionTitleBar* styleOpt = qstyleoption_cast(option); - if (styleOpt != nullptr) - { - painter->save(); - painter->setRenderHint(QPainter::Antialiasing); - - QRect rectMin = subControlRect(QStyle::CC_TitleBar, styleOpt, widget->isMinimized() ? QStyle::SC_TitleBarNormalButton : QStyle::SC_TitleBarMinButton, widget); - QRect rectMax = subControlRect(QStyle::CC_TitleBar, styleOpt, widget->isMaximized() ? QStyle::SC_TitleBarNormalButton : QStyle::SC_TitleBarMaxButton, widget); - QRect rectClose = subControlRect(QStyle::CC_TitleBar, styleOpt, QStyle::SC_TitleBarCloseButton, widget); - - painter->setBrush(styleOpt->state & State_Active ? QColor("#C0DCF2") : QColor("#DEF0FE")); - painter->drawRect(styleOpt->rect); - QRect rect = styleOpt->rect; - //由于高度变化 - rectMin.setTop(0);rectMin.setHeight(rect.height()); - rectMax.setTop(0);rectMax.setHeight(rect.height()); - rectClose.setTop(0);rectClose.setHeight(rect.height()); - QSize IconSize = QSize(rect.height(), rect.height()); - - // 关闭按钮 - QPixmap pixIconClose = zxLoadIcon("Titlebar_Close").pixmap(IconSize); - drawButton(painter, rectClose, pixIconClose, IconSize); - - // 最大化按钮 - QPixmap pixIconMax = zxLoadIcon(widget->isMaximized() ? "Titlebar_Normal" : "Titlebar_Max").pixmap(IconSize); - drawButton(painter, rectMax, pixIconMax, IconSize); - - // 最小化按钮 - QPixmap pixIconMin = zxLoadIcon(widget->isMinimized() ? "Titlebar_Normal" : "Titlebar_Min").pixmap(IconSize); - drawButton(painter, rectMin, pixIconMin, IconSize); - float fSize = (float) IconSize.height() * 2 / 3; - // 图标和标题文本 - QRectF iconRect(rect.left() + 2, rect.top(), IconSize.height(), IconSize.height()); - QRectF rcIcon(iconRect.center().rx()-fSize/2, iconRect.center().ry() - fSize/2, fSize, fSize); - painter->drawPixmap(rcIcon.toRect(), styleOpt->icon.pixmap(QSize(16, 16))); - - QRectF rcTitle(rcIcon.right() + fSize, rect.top(), rectMin.left() - (rcIcon.right() + fSize), IconSize.height()); - painter->drawText(rcTitle, styleOpt->text, QTextOption(Qt::AlignLeft | Qt::AlignVCenter)); - - painter->restore(); - return; - } - } - else - { - QProxyStyle::drawComplexControl(control, option, painter, widget); - } - - } - void drawButton(QPainter *painter, const QRectF &buttonRect, const QPixmap &icon, const QSize size) const - { - //绘制位置计算取1/2 - float fSize = (float) size.height() * 1 / 2; - QRectF rcIcon(buttonRect.center().rx()-fSize/2, buttonRect.center().ry() - fSize/2, fSize, fSize); - painter->drawPixmap(rcIcon.toRect(), icon); - } -}; - -// 主要重载其信号响应 -class I_PLUGIN_EXPORT MdiSubWindowEx : - public QMdiSubWindow -{ - Q_OBJECT - -public: - MdiSubWindowEx(bool bNovelQss, QWidget* parent = 0); - ~MdiSubWindowEx(); - - void setBindingObj(IxDynObj* p); - IxDynObj* getBindingObj(); - -protected: - - bool eventFilter(QObject*, QEvent*); - - void showEvent(QShowEvent *event); - void hideEvent(QHideEvent* event); - void changeEvent(QEvent* event); - void closeEvent(QCloseEvent* event); - void resizeEvent(QResizeEvent* event); - void mouseDoubleClickEvent(QMouseEvent* event); - -signals: - // b:返回的是,是否允许关闭 - void sigConformClosing(bool& b); - // 一旦关闭后,通知刷新状态 - void sigMdiClosed(); - -private: - - IxDynObj* m_pBindingObj; //这是绑定的Obj对象 -}; -//Mdi中的子项 -class I_PLUGIN_EXPORT SubMdiSubWindowEx : - public MdiSubWindowEx -{ - Q_OBJECT - -public: - SubMdiSubWindowEx(bool bNovelQss, QWidget* parent = 0); - ~SubMdiSubWindowEx(); -}; diff --git a/Include/iBase/iPlugin/QDockWidgetEx.h b/Include/iBase/iPlugin/QDockWidgetEx.h deleted file mode 100644 index bca35df..0000000 --- a/Include/iBase/iPlugin/QDockWidgetEx.h +++ /dev/null @@ -1,46 +0,0 @@ -#pragma once -#include -#include -#include -#include - -#include "iPlugin_global.h" - -// DockWidget扩展 -class I_PLUGIN_EXPORT QDockWidgetEx : public QDockWidget -{ - Q_OBJECT - -public: - QDockWidgetEx(const QString &title, QWidget *parent = 0, Qt::WindowFlags flags = 0); - QDockWidgetEx(QWidget *parent = 0, Qt::WindowFlags flags = 0); - - ~QDockWidgetEx(); - - bool IsWindowOpacity(void); - void WindowOpacity(bool bOpacity); - void changeTitle(bool bTopLevel); - -public slots: - - void slotFeaturesChanged(QDockWidget::DockWidgetFeatures features); - void slotTopLevelChanged(bool topLevel); - void slotAllowedAreasChanged(Qt::DockWidgetAreas allowedAreas); - void slotVisibilityChanged(bool visible); - void slotDockLocationChanged(Qt::DockWidgetArea area); - -protected: - - virtual void leaveEvent(QEvent * event); - virtual void enterEvent(QEvent * event); - virtual bool event(QEvent *event); - - void paintEvent(QPaintEvent *event); - - void init(); - -protected: - - bool m_bIsWindowOpacity; - QString m_sTitle; -}; diff --git a/Include/iBase/iPlugin/QHeaderComboBoxEx.h b/Include/iBase/iPlugin/QHeaderComboBoxEx.h deleted file mode 100644 index 1096627..0000000 --- a/Include/iBase/iPlugin/QHeaderComboBoxEx.h +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "QListViewEx.h" - -// 自定义Combobox 失去焦点是能够自动隐藏 -class I_PLUGIN_EXPORT QHeaderComboBoxEx :public QComboBox -{ - Q_OBJECT -public: - explicit QHeaderComboBoxEx(QWidget *parent = 0); - ~QHeaderComboBoxEx(); -public: - - // hidePopup 重写隐藏下拉列表 - void hidePopup(); - - // 所在列索引 - void setColumnIndex(int nIndex); - -protected: - - //重写失去焦点事件 - void focusOutEvent(QFocusEvent *e); - -signals: - // 选择改变 - void sigSelChanged(const int, const QStringList); - -private: - // 列索引 - int m_nCurIndex; -}; diff --git a/Include/iBase/iPlugin/QHeaderViewEx.h b/Include/iBase/iPlugin/QHeaderViewEx.h deleted file mode 100644 index a489b2e..0000000 --- a/Include/iBase/iPlugin/QHeaderViewEx.h +++ /dev/null @@ -1,68 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -// 此处是为了响应在QTableWidget中的表头进行下拉选择(支持多选)而做的三个类。 -// 其中QHeaderViewEx是表头,点中其某一列时,创建QHeaderComboBoxEx,而QHeaderComboBoxEx -// 内部又设置了view为QListViewEx - -// 表头HeaderView -class I_PLUGIN_EXPORT QHeaderViewEx : public QHeaderView -{ - Q_OBJECT -public: - QHeaderViewEx(const QStringList& lstStrText, QWidget *parent = 0); - ~QHeaderViewEx(); - - // 设置表头下拉列表取值 - void setColumnItems(const QStringList& lstFields, const QStringList& lstAlls); - - // 设置Titles - void changeTitles(QStringList listTitles); - -public Q_SLOTS: - - // 选择改变时响应 - void slotSelChanged(const int, const QStringList); - - // 处理表头单元缩放事件 - void handleSectionResized(int index); - -signals: - void sigGetColumnItems(int index); - void sigSelChanged(const int, const QStringList); - -protected: - - // 重置表头combo控件大小 - void resizeItem(int index); - - // 删除comboBox控件 - void removeCombo(); - - // 处理鼠标单击消息 - void mouseReleaseEvent(QMouseEvent *e); - void mousePressEvent(QMouseEvent *e); - - // 重绘,此处有待完善,目前是没有版本,直接把父类搬过来了。 - void paintSection(QPainter* painter, const QRect &rect, int logicalIndex) const; - -private: - QStringList m_lstHeaderTexts; //标题 - QStringList m_lstComboxText; ///< 下拉列表中显示表头列表,当前选中的 - QStringList m_lstComboxTextAll;///< 下拉列表中显示表头列表,所有的 - QComboBox* m_pCbxSel; ///< 表头下拉列表控件 - int m_nCurIndex; ///< 被选中的表头单元ID -}; - - - diff --git a/Include/iBase/iPlugin/QListViewEx.h b/Include/iBase/iPlugin/QListViewEx.h deleted file mode 100644 index 631fe51..0000000 --- a/Include/iBase/iPlugin/QListViewEx.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -// 为了QCombobox下拉列表添加QCheckBox复选框创建QListViewEx -class I_PLUGIN_EXPORT QListViewEx : public QListWidget -{ - Q_OBJECT - -public: - QListViewEx(QWidget* parent, QStringList *listItems, QStringList *listItemAlls, QComboBox* pComboBox); - - //返回用户选择项的用户自定义数据 - bool getSelectItems(QStringList &data); - -private slots: - - // Check状态改变 - void slotCheckBoxChanged(int state); - -private: - - // 相关的变量,主要为控制 - QComboBox* m_pComboBox; - QStringList m_listItems; - QStringList m_listItemAlls; - QList m_listChecked; - QList m_listItemData; - QList m_listCheckBoxes; - bool m_bAllConsider; - bool m_bByAll; - QMap m_mapRawStates; -}; diff --git a/Include/iBase/iPlugin/QTextEditEx.h b/Include/iBase/iPlugin/QTextEditEx.h deleted file mode 100644 index 069c5c6..0000000 --- a/Include/iBase/iPlugin/QTextEditEx.h +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once - -#include - -#include "iPlugin_global.h" - -// 文本,MPA解释结果,使用 -class I_PLUGIN_EXPORT QTextEditEx : public QTextEdit -{ - Q_OBJECT - -public: - QTextEditEx(QWidget *parent = 0); - ~QTextEditEx(); - -signals: - - // 触发信号,以便用户对右键菜单进行调整 - void sigCustomMenu(QMenu* ); - -protected: - virtual void contextMenuEvent(QContextMenuEvent *e); -}; diff --git a/Include/iBase/iPlugin/TabWidgetEx.h b/Include/iBase/iPlugin/TabWidgetEx.h deleted file mode 100644 index 113b87d..0000000 --- a/Include/iBase/iPlugin/TabWidgetEx.h +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once - -#include - -#include "iPlugin_global.h" - -// TabWidgetEx该类实现TabWidget相关附加功能 -class I_PLUGIN_EXPORT TabWidgetEx : - public QTabWidget -{ - Q_OBJECT - -public: - TabWidgetEx(QWidget *parent = 0); - ~TabWidgetEx(); - - // Tab是否允许移动,默认不移动 - void setTabMovable(bool b); - bool isTabMovable(); - - // TabBar - void setTabBarHorW(int n); - int getTabBarHorW(); - -protected: -// virtual void mouseDoubleClickEvent(QMouseEvent *); - - // event分发 - virtual bool eventFilter(QObject *, QEvent *); - -signals: - - // 双击Item - void sigItemDoubleClicked(int n); - // 右击Item - void sigItemRightClicked(int n, QPoint pos); - -private: - QTabBar* m_pTabBar; - - bool m_bTabMovable; //TabItem允许移动 -}; diff --git a/Include/iBase/iPlugin/ZxDoubleSpinBox.h b/Include/iBase/iPlugin/ZxDoubleSpinBox.h new file mode 100644 index 0000000..1e4e037 --- /dev/null +++ b/Include/iBase/iPlugin/ZxDoubleSpinBox.h @@ -0,0 +1,31 @@ +#pragma once + +#include + +#include "iPlugin_global.h" + +// QDoubleSpinBox定制,包括小数位数等 +class I_PLUGIN_EXPORT ZxDoubleSpinBox : public QDoubleSpinBox +{ + Q_OBJECT + +public: + + explicit ZxDoubleSpinBox(QWidget* parent = 0); + ~ZxDoubleSpinBox(); + +signals: + +protected: + + virtual double valueFromText(const QString &text) const; + virtual QString textFromValue(double val) const; + virtual void fixup(QString &str) const; + +// virtual void mousePressEvent(QMouseEvent* mouseEvent); +// virtual void mouseMoveEvent(QMouseEvent* mouseEvent); +// virtual void leaveEvent(QEvent* e); + +private: + +}; diff --git a/Include/iBase/iPlugin/ZxHeaderComboBoxEx.h b/Include/iBase/iPlugin/ZxHeaderComboBoxEx.h deleted file mode 100644 index afe1a56..0000000 --- a/Include/iBase/iPlugin/ZxHeaderComboBoxEx.h +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "ZxListViewEx.h" - -// 自定义Combobox 失去焦点是能够自动隐藏 -class I_PLUGIN_EXPORT ZxHeaderComboBoxEx :public QComboBox -{ - Q_OBJECT -public: - explicit ZxHeaderComboBoxEx(QWidget *parent = 0); - ~ZxHeaderComboBoxEx(); -public: - - // hidePopup 重写隐藏下拉列表 - void hidePopup(); - - // 所在列索引 - void setColumnIndex(int nIndex); - -protected: - - //重写失去焦点事件 - void focusOutEvent(QFocusEvent *e); - -signals: - // 选择改变 - void sigSelChanged(const int, const QString); - -private: - // 列索引 - int m_nCurIndex; - - // 每次都发送两遍消息,奇怪 - int m_nLastSendIndex; - QString m_sLastSendText; -}; diff --git a/Include/iBase/iPlugin/ZxHeaderViewEx.h b/Include/iBase/iPlugin/ZxHeaderViewEx.h deleted file mode 100644 index 46508f9..0000000 --- a/Include/iBase/iPlugin/ZxHeaderViewEx.h +++ /dev/null @@ -1,73 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -// 此处是为了响应在QTableWidget中的表头进行下拉选择(支持多选)而做的三个类。 -// 其中ZxHeaderViewEx是表头,点中其某一列时, -// 创建ZxHeaderComboBoxEx,而ZxHeaderComboBoxEx -// 内部又设置了view为ZxListViewEx -// 所以ZxHeaderViewEx、ZxHeaderComboBoxEx、ZxListViewEx为一组 -// 该组实现了表头的Radio选择(单选) -// 而原来的QHeaderViewEx、QHeaderComboBoxEx、QListViewEx为一组 -// 这一组实现了表头的Check选择(多选) - -// 表头HeaderView -class I_PLUGIN_EXPORT ZxHeaderViewEx : public QHeaderView -{ - Q_OBJECT -public: - ZxHeaderViewEx(const QStringList& lstStrText, QWidget *parent = 0); - ~ZxHeaderViewEx(); - - // 设置表头下拉列表取值 - void setColumnItems(const QString& sCurSel, const QStringList& lstAlls); - - // 设置Titles - void changeTitles(QStringList listTitles); - -public Q_SLOTS: - - // 选择改变时响应 - void slotSelChanged(const int, const QString); - - // 处理表头单元缩放事件 - void handleSectionResized(int index); - -signals: - void sigGetColumnItems(int index); - void sigSelChanged(const int, const QString); - -protected: - - // 重置表头combo控件大小 - void resizeItem(int index); - - // 删除comboBox控件 - void removeCombo(); - - // 处理鼠标单击消息 - void mouseReleaseEvent(QMouseEvent *e); - void mousePressEvent(QMouseEvent *e); - - // 重绘,此处有待完善,目前是没有版本,直接把父类搬过来了。 - void paintSection(QPainter* painter, const QRect &rect, int logicalIndex) const; - -private: - QStringList m_lstHeaderTexts; //标题 - QString m_sCurSel; //下拉列表中显示表头列表,当前选中的 - QStringList m_lstComboxTextAll; //下拉列表中显示表头列表,所有的 - QComboBox* m_pCbxSel; //表头下拉列表控件 - int m_nCurIndex; //被选中的表头单元ID -}; - - - diff --git a/Include/iBase/iPlugin/ZxListViewEx.h b/Include/iBase/iPlugin/ZxListViewEx.h deleted file mode 100644 index 40e01df..0000000 --- a/Include/iBase/iPlugin/ZxListViewEx.h +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -// 为了QCombobox下拉列表添加QRadioButton复选框创建ZxListViewEx -class I_PLUGIN_EXPORT ZxListViewEx : public QListWidget -{ - Q_OBJECT - -public: - ZxListViewEx(QWidget* parent, const QString& sCurSel, QStringList *listItemAlls, QComboBox* pComboBox); - - //返回用户选择项的用户自定义数据 - QString getSelectItems(); - -private slots: - - // Radio状态改变 - void slotRadioChanged(bool); - -private: - - // 相关的变量,主要为控制 - QComboBox* m_pComboBox; - QList m_listRadioButtons; -}; diff --git a/Include/iBase/iPlugin/ZxMainWindow.h.autosave b/Include/iBase/iPlugin/ZxMainWindow.h.autosave deleted file mode 100644 index 946f42d..0000000 --- a/Include/iBase/iPlugin/ZxMainWindow.h.autosave +++ /dev/null @@ -1,176 +0,0 @@ -#pragma once - -#include - -#include "iPlugin_global.h" - -class iJobRun; -class iAnalRun; -class iSubWnd; -class iSubWndBaseAF; -class ZxObjWmPoint; -class ZxTabWidget; -class ZxMdiSubWindow; -class iWxRunOptionIPR; -class iRibbonXmlCmd; -class iDockBaseWx; -class TreeWxMain; -class iWxDesign; -class ZxDataWell; - -// 为外部引用xMainWindow主窗体部分接口而单独封装 -// 原本想通过虚接口类实现,但由于QObject缘故,虚接口类 -// 不便实现信号槽机制,故只能封装该类进行实现 -class I_PLUGIN_EXPORT ZxMainWindow : public QMainWindow -{ -public: - - ZxMainWindow(QWidget* parent = 0); - ~ZxMainWindow(); - -public: - - /// @brief 检验是否具有正式授权 - /// @param bPromptLicenseDlg 在不具备授权的时候,是否弹出授权对话框 - virtual bool checkLicensed(bool bPromptLicenseDlg = false) = 0; - - /// @brief 返回当前所有JobRun的数组指针 - virtual QVector* getVecJobRunPtrs() = 0; - - /// @brief 返回当前所有AnalRun的数组指针 - virtual QVector* getVecAnalRunPtrs() = 0; - - /// @brief 返回iWxRunOptionIPR窗体指针,该函数接口为权宜之计,慎用,后续可能需要删除 - virtual iWxRunOptionIPR* getWxIprOptionPtr() = 0; - - // 左侧工区树 -// enum DockTreeMode -// { -// DTM_Da = 0, //数据 -// DTM_Jb = 1, //Jobs -// DTM_Rs = 2 //成果 -// }; - /// @brief 获取左侧DockWx指针 - /// @param n (in) 0:数据树 1:Jobs树 2:成果树 - /// @note 注1:由于宏定义及依赖关系问题,暂时用int而非enum枚举作为参数类型 - /// 注2:对于WTAI来讲,目前Dock其实均为子类型iDockWellExplorer - virtual iDockBaseWx* getLeftDockWx(int n) = 0; - - /// @brief 获取左侧树型控件指针 - /// @param n (in) 0:数据树 1:Jobs树 2:成果树 - /// @note 注1:由于宏定义及依赖关系问题,暂时用int而非enum枚举作为参数类型 - /// 注2:获取指针之后,可以根据需要各自转换为如下三种子类类型 - /// TreeWxMainDa* / TreeWxMainJb* / TreeWxMainRs* - virtual TreeWxMain* getLeftTreeWx(int n) = 0; - - - /// @brief 获取指定窗体Wnd对应的TabWx - /// @param p:某窗体 - virtual ZxTabWidget* getTabWxOfSubWnd(iSubWnd* p) = 0; - - /// @brief 获取当前Mdi对应的TabWx - /// @param p:某MdiSubWindow,如果p为空,则是当前激活的 - virtual ZxTabWidget* getTabWxOf(ZxMdiSubWindow* p = NULL) = 0; - - /// @brief 获取当前MdiChild - virtual ZxMdiSubWindow* getCurMdiChild() = 0; - - /// @brief 获取当前TabWidget - virtual ZxTabWidget* getCurTabWx() = 0; - - /// @brief 获取当前SubWnd - virtual iSubWnd* getCurSubWnd() = 0; - - /// @brief 遍历查找 满足 某种ID属性的 所有窗体 - /// @param pTabWx, 遍历范围:如果为空,则全局遍历,否则 遍历 pTabWx 下 - /// @param sID, 指定的窗体 ID,在xml中配置的,如果为空,则返回 遍历范围内的所有 - /// @param bOnlyOne 是否只获取一个,比如井位图,其实就是获取一个 - virtual QVector getAllSubWndsOf(ZxTabWidget* pTabWx = NULL, \ - QString sID = "", \ - bool bOnlyOne = true) = 0; - - /// @brief 其它方创建的DockWx,与主窗口显示Detach,通常在析构时 - virtual bool detachOuterDockWx(iDockBaseWx* pDockWx) = 0; - - /// @brief 对应Ribbon主菜单的按钮处理 - virtual void runCmd(iRibbonXmlCmd* pInfo) = 0; - virtual void runCmd(QString sID, QString sName, QString sExtInfo = "") = 0; - - /// @brief 在外部强制创建井,该方式慎用,具体咨询wzg - /// @param vecWmPts,井点,如果是水平井,则对应的是两个点 - /// @param nType井类型,直井、水平井之类 - /// @param pDataWell 返回的井对象 - virtual void forceNewWellBy(QVector& vecWmPts, int nType, ZxDataWell*& pDataWell) = 0; - -public slots: - - /// @brief 主窗口创建一个新的窗体,由iWxRunOptionStd/iWxRunOptionIPR之后的窗体触发 - /// @param p (out)待创建的指针 - /// @note 举例:流动段选择确定之后,右键弹出,创建 下一个 流动段分析窗口 - virtual void slotCreateNextSubWnd(iSubWndBaseAF*& p) = 0; - - /// @brief 激活,由iWxRunOptionStd/iWxIprRunOptio之后的窗体触发 - /// @param p (in)待激活窗体 - virtual void slotActivateSubWnd(iSubWnd*& p) = 0; - - /// @brief 当压力流量数据更改时触发,主要是PF一旦保存之后 - /// 提供给其它相关的SubWnd一种刷新机制 - virtual void slotCacheDataCodePF(QString sCode) = 0; - - /// @brief 成果保存时,申请创建RstWnd, - /// @param (out) b:是否已经成功创建 - /// @note:①如果成功创建,则会同步生成RstUtils等成果必须内容 - /// ②如果成功创建,则会把创建结果设置给SubWnd(即信号触发者) - virtual void slotCreateRstWndForSubWnd(bool& b) = 0; - - /// @brief 在外部触发,关闭或者显示左侧工区数据树(全部,所有的Dock) - virtual void slotLeftTreeDocksVisible(bool bVisible) = 0; - - /// @brief 刷新Ribbon按钮状态,这是更新所有按钮 - /// @param list可以为id也可以为name - /// @note 如果list为空则指的是Ribbon全部,否则仅仅刷新指定的Btn - virtual void slotFreshRnStates(QStringList list) = 0; - - /// @brief 获取井位图信息 - virtual void slotGetWmInfos(QVector&) = 0; - - /// @brief Lpr点收集了,右键响应 - virtual void slotLprPointPQ(QVector& vec) = 0; - - /// @brief 获取当前主窗口有多少窗口 - virtual void slotGetAllWnds(QMap& map, ZxTabWidget* pTabWx) = 0; - - /// @brief 刷新井相关 - virtual void slotFreshWellBasics() = 0; - - /// @brief SubWndData表格右键删除时,触发 - virtual void slotSwdDataDelObjs(QStringList& listKeys, QString& sTable, QString& sError) = 0; - - /// @brief 控制所在的MDI视图 - virtual void slotMdiChildShow(int) = 0; - - /// @brief 获取所有MDI - virtual void slotGetAllMdis(QVector&) = 0; - - /// @brief 在SubWnd中创建Dock并且显示至主窗体之中,该Dock由SubWnd进行管理 - /// @param pDockWx (in) Dock指针 - /// @param areaDefault(in) 默认布局区域 - virtual void slotAppendDock2Main(iDockBaseWx* pDockWx, \ - Qt::DockWidgetArea areaDefault = Qt::LeftDockWidgetArea) = 0; - -public slots: - - // 线程控制 - - /// @brief 在算法执行时显示隐藏进度条相关 - virtual void slotShowProgressAbout(bool bVisible) = 0; - - /// @brief 线程暂停 - virtual void slotThreadPause() = 0; - - /// @brief 线程结束 - virtual void slotThreadQuit() = 0; - -signals: - -}; diff --git a/Include/iBase/iPlugin/ZxSplitButton.h b/Include/iBase/iPlugin/ZxSplitButton.h new file mode 100644 index 0000000..329a955 --- /dev/null +++ b/Include/iBase/iPlugin/ZxSplitButton.h @@ -0,0 +1,129 @@ +#pragma once + +//#include +//#include +//#include +//#include +//#include + +#include "Defines.h" +#include "iPlugin_global.h" + +class QAction; + +// 实现拆分按钮,该类借鉴AI +class I_PLUGIN_EXPORT ZxSplitButton : public QToolButton +{ + Q_OBJECT + +public: + + // bUpDown 是上下还是左右布局 + explicit ZxSplitButton(QWidget *parent = 0, \ + bool bUpDown = true); + ~ZxSplitButton(); + + /// @brief 创建拆分窗体 + /// @param sz 默认大小 + /// @param listNames 英文Name + /// @param listTexts 中文 + /// @param listIcons 图标 + /// @param nDefault 默认点中 + void initUI(QSize sz, \ + QStringList& listNames, \ + QStringList& listTexts, \ + QStringList& listIcons, \ + int nDefault = 0); + +signals: + + // 点击主或次菜单项,均触发 + void sbActionClicked(QString sName); + +protected: + + void mouseMoveEvent(QMouseEvent *); + void mousePressEvent(QMouseEvent *); + void leaveEvent(QEvent *); + void mouseReleaseEvent(QMouseEvent *); + + void paintEvent(QPaintEvent *); + + void _drawBackground(QPainter* pPainter); + void _drawSeparator(QPainter* pPainter); + void _drawBorders(QPainter* pPainter); + void _drawTextAndIcons(QPainter* pPainter); + void _drawArrow(QPainter* pPainter); + + QRect getBoundsOf(bool bMain); + +private slots: + + // 菜单项 + void onMenuTriggered(QAction *action); + + // 菜单内部,popup相关 + void onMenuAboutToShow(); + void onMenuAboutToHide(); + +private: + + /// @brief 添加菜单项 + /// @param sName 英文Name + /// @param sText 中文 + /// @param sIcon 图标 + /// @param bChecked 是否Checked + void addAction(QString sName, \ + QString sText, \ + QString sIcon, \ + bool bChecked); + + //int currentActionId() const; + //void setCurrentActionId(int actionId); + //void clearActions(); + //int actionCount() const; + + QIcon getCurrentIcon() const; + QString getCurrentText() const; + + // 判断点所在区域 + bool isPointInMainArea(const QPoint& pos) const; + bool isPointInSubArea(const QPoint& pos) const; + +private: + + // 是上下还是左右布局 + // 上下布局时,上为Main,下为Sub + // 左右布局时,左为Main,右为Sub + bool m_bUpDown; + + // 菜单项 + QMenu* m_pMenu; + QList m_listActions; + + struct ActionInfo { + QString name; + QString text; + QIcon icon; + }; + QList m_listActionInfos; + + // 当前对应 + QString m_sCurCheckedName; + + // 内部变量控制 + bool m_bHoveringMain; //鼠标Hover主Main还是次Sub + bool m_bHoveringSub; + bool m_bArrowUp; //对于箭头,总是上下显示 + bool m_bMenuIsPopup; //当前菜单是否Popup + bool m_bPressed; //是否摁下 + + + // 次Sub部分的Span + // 对于上下布局,是下侧部分的高 + // 对于左右布局,是右侧部分的宽 + int m_nSubPartSpan; + + // 箭头部分的大小,按正方形考虑 + int m_nArrowWH; +}; diff --git a/Include/iBase/iPlugin/ZxTableHeaderView.h.bak b/Include/iBase/iPlugin/ZxTableHeaderView.h.bak deleted file mode 100644 index 29ecf62..0000000 --- a/Include/iBase/iPlugin/ZxTableHeaderView.h.bak +++ /dev/null @@ -1,77 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -// 此处是为了响应在QTableWidget中的表头进行下拉选择(支持多选)而做的三个类。 -// 其中QHeaderViewEx是表头,点中其某一列时,创建QHeaderComboBoxEx,而QHeaderComboBoxEx -// 内部又设置了view为QListViewEx - -// 此处是为了响应在QTableWidget中的表头进行下拉选择(支持多选)而做的三个类。 -// 其中ZxHeaderViewEx是表头,点中其某一列时, -// 创建ZxHeaderComboBoxEx,而ZxHeaderComboBoxEx -// 内部又设置了view为ZxListViewEx -// 所以ZxHeaderViewEx、ZxHeaderComboBoxEx、ZxListViewEx为一组 -// 该组实现了表头的Radio选择(单选) -// 而原来的QHeaderViewEx、ZxTableHeaderViewCbx、QListViewEx为一组 -// 这一组实现了表头的Check选择(多选) - -// 表头HeaderView -class I_PLUGIN_EXPORT ZxTableHeaderView : public QHeaderView -{ - Q_OBJECT -public: - ZxTableHeaderView(const QStringList& lstStrText, QWidget *parent = 0); - ~ZxTableHeaderView(); - - // 设置表头下拉列表取值 - void setColumnItems(const QStringList& lstFields, const QStringList& lstAlls); - - // 设置Titles - void changeTitles(QStringList listTitles); - -public Q_SLOTS: - - // 选择改变时响应 - void slotSelChanged(const int, const QStringList); - - // 处理表头单元缩放事件 - void handleSectionResized(int index); - -signals: - void sigGetColumnItems(int index); - void sigSelChanged(const int, const QStringList); - -protected: - - // 重置表头combo控件大小 - void resizeItem(int index); - - // 删除comboBox控件 - void removeCombo(); - - // 处理鼠标单击消息 - void mouseReleaseEvent(QMouseEvent *e); - void mousePressEvent(QMouseEvent *e); - - // 重绘,此处有待完善,目前是没有版本,直接把父类搬过来了。 - void paintSection(QPainter* painter, const QRect &rect, int logicalIndex) const; - -private: - QStringList m_lstHeaderTexts; //标题 - QStringList m_lstComboxText; ///< 下拉列表中显示表头列表,当前选中的 - QStringList m_lstComboxTextAll;///< 下拉列表中显示表头列表,所有的 - QComboBox* m_pCbxSel; ///< 表头下拉列表控件 - int m_nCurIndex; ///< 被选中的表头单元ID -}; - - - diff --git a/Include/iBase/iPlugin/ZxTableHeaderViewCbx.h.bak b/Include/iBase/iPlugin/ZxTableHeaderViewCbx.h.bak deleted file mode 100644 index d049e67..0000000 --- a/Include/iBase/iPlugin/ZxTableHeaderViewCbx.h.bak +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "ZxTableHeaderViewCbxView.h" - -// 自定义Combobox 失去焦点是能够自动隐藏 -class I_PLUGIN_EXPORT ZxTableHeaderViewCbx :public QComboBox -{ - Q_OBJECT -public: - explicit ZxTableHeaderViewCbx(QWidget *parent = 0); - ~ZxTableHeaderViewCbx(); -public: - - // hidePopup 重写隐藏下拉列表 - void hidePopup(); - - // 所在列索引 - void setColumnIndex(int nIndex); - -protected: - - //重写失去焦点事件 - void focusOutEvent(QFocusEvent *e); - -signals: - // 选择改变 - void sigSelChanged(const int, const QStringList); - -private: - // 列索引 - int m_nCurIndex; -}; diff --git a/Include/iBase/iPlugin/ZxTableView.h b/Include/iBase/iPlugin/ZxTableView.h index e618318..6e44541 100644 --- a/Include/iBase/iPlugin/ZxTableView.h +++ b/Include/iBase/iPlugin/ZxTableView.h @@ -95,7 +95,7 @@ protected: public slots: // 右键 - virtual void slotCustomContextMenu(const QPoint &pos); + virtual void slotCustomContextMenu(const QPoint& pos); // 插入行列、删除行列 virtual void slotInsertRowsAbove(); //批量插入行 diff --git a/Include/iBase/iPlugin/ZxUiBase.h b/Include/iBase/iPlugin/ZxUiBase.h index ba02d21..220ae8c 100644 --- a/Include/iBase/iPlugin/ZxUiBase.h +++ b/Include/iBase/iPlugin/ZxUiBase.h @@ -135,4 +135,10 @@ protected: // 是否启用新的样式表,ZXF202407 bool m_bNovelQss; + + // 新增,是否自动绘制背景图 20260605 + // 默认设为true,外部可改 + // 当为true且m_bNovelQss为false且背景图片存在时, + // 则自动填充背景图 + bool m_bAutoFillBackImg; }; diff --git a/Include/iBase/iProperty/ZxPtyDock.h.bak b/Include/iBase/iProperty/ZxPtyDock.h.bak deleted file mode 100644 index ca19109..0000000 --- a/Include/iBase/iProperty/ZxPtyDock.h.bak +++ /dev/null @@ -1,115 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include "ZxPtyItem.h" -#include "iProperty_global.h" -#include "ZxBaseUtil.h" -#include "zxLogInstance.h" - -class QTextEdit; - -class I_PROPERTY_EXPORT ZxPtyDock : public QDockWidget - , virtual public IxPtyPano - , virtual public IxDynObj -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - - explicit ZxPtyDock(bool bShowBtns = false); - -public: - - virtual IxPtyItem* addGroup(const QString& key, - bool expand = true, - bool visible = true); - virtual IxPtyItem* add(ZX_PROPERTY_CHANGED_CALLBACK callback, - const QString& key, - const QVariant& var, - IxPtyItem::ItemType type = IxPtyItem::typeDefault); - - virtual void beginSession(const QString& configName, - IxInterface* pSessionOwner); - virtual void endSession(); - - virtual void beginObject(IxPtySource* p); - virtual void endObject(); - - virtual IxPtyItem* findPropertyItem(const QString& sKey); - - virtual void clear(IxInterface* pSessionOwner = 0); - - // 封装,仅仅为外界调用方便 - void loadTemplOfCurItem(); - void saveTemplOfCurItem(); - -signals: - void sigItemPropertyTempl(IxPtySource*, bool b, bool bSelf); - -protected slots: - - void onHelpMessage(const QString& help); - void changeEvent(QEvent* e); - - //void slotLoadTempl(); - void slotSaveTempl_Self(); - void slotSaveTempl_All(); - -private: - - void initUI(); - -protected: - - IxPtyPano* m_pSheet; - QTextEdit* m_pHelpBox; - - bool m_bShowBtns; //是否显示Btns - - // 是否启用新的样式表,ZXF202407 - bool m_bNovelQss; -}; - -/// @brief 该类主要目的就是为了属性页的透明显示 -class I_PROPERTY_EXPORT QWidgetTemp : public QDialog -{ - Q_OBJECT - -public: - explicit QWidgetTemp(bool bNovelQss, QWidget *parent = 0) - : QDialog(parent) - { - // - if (bNovelQss) - { - return; - } - setAutoFillBackground(true); - - QString sName = QString("Image/%1_Pty.png").arg(zxAppID); - QString sImg = ZxBaseUtil::getDirOf(s_Dir_Res) + sName; - QString s = QString("QWidgetTemp {border-image: url(%1);}").arg(sImg); - setStyleSheet(s); - } - -protected: - - // paint - virtual void paintEvent(QPaintEvent *) - { - QStyleOption opt; - opt.init(this); - QPainter p(this); - style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); - } -}; - - - - - diff --git a/Include/iBase/iProperty/ZxXpfHelper.h b/Include/iBase/iProperty/ZxXpfHelper.h deleted file mode 100644 index f176d7a..0000000 --- a/Include/iBase/iProperty/ZxXpfHelper.h +++ /dev/null @@ -1,18 +0,0 @@ -#pragma once - -#include "iProperty_global.h" -#include "ZxXpf.h" - -// Xpf文件格式Helper -class I_PROPERTY_EXPORT ZxXpfHelper -{ -public: - static bool getMinMax(ZxXpfNode* node, int& nMin, int& nMax, \ - int nDefaultMin = 0xFFFFFFFF, int nDefaultMax = 0x7FFFFFFF); - static bool getMinMax(ZxXpfNode* node, double& fMin, double& fMax, \ - double fDefaultMin = -1e100, double fDefaultMax = 1e100); -}; - - - - diff --git a/Include/iBase/iUtils/ZxScaleHelper.h b/Include/iBase/iUtils/ZxScaleHelper.h index b6eb91b..7d10484 100644 --- a/Include/iBase/iUtils/ZxScaleHelper.h +++ b/Include/iBase/iUtils/ZxScaleHelper.h @@ -30,6 +30,7 @@ private: // 内部接口(目前刻度计算函数,还有待较大完善空间) bool checkReverse(); + void normalizeRange(); bool checkSameValue(); bool checkLogicalZero(); void adjustIncrease(double& d, double& dMin); diff --git a/Include/iData/iSysUtils/iSysParaSpHelper.h b/Include/iData/iSysUtils/iSysParaSpHelper.h index d6f241d..456bba9 100644 --- a/Include/iData/iSysUtils/iSysParaSpHelper.h +++ b/Include/iData/iSysUtils/iSysParaSpHelper.h @@ -26,8 +26,8 @@ public: // 筛选参数 bool filterParasBy(QVector& vec, \ - QString sSerie, QString sWbs, \ - QString sWelTag, QString sResTag); + QString sSerie, QString sWbsCode, \ + QString sWelCode, QString sResCode); private: diff --git a/Include/iData/iSysUtils/zxSysUtils.h.bak b/Include/iData/iSysUtils/zxSysUtils.h.bak deleted file mode 100644 index e6a7db5..0000000 --- a/Include/iData/iSysUtils/zxSysUtils.h.bak +++ /dev/null @@ -1,143 +0,0 @@ -#pragma once - -#include "Defines.h" - -#include "iXmlTable.h" -#include "iXmlAlias.h" -#include "iModelInfoBase.h" -#include "iModelInfo.h" -#include "iModelDescGroup.h" -#include "iParameterGroup.h" -#include "iParameterGroupSp.h" -#include "iPvtParaItemGroup.h" -#include "iIprAlgItemGroup.h" -#include "iUnitGroup.h" - -#include "IxDynObj.h" - -#include "iXmlBtn.h" -#include "iXmlCmds.h" -#include "iSpeciParam.h" - -#include "iSysUtils_global.h" -#include "iXmlCurveDictConfig.h" - -class I_SYSUTILS_EXPORT zxSysUtils -{ -public: - - // 获取对象,单例模式 - static zxSysUtils* getInstance(); - - // 关闭消耗 - static void release(); - - // 状态栏相关 - static void setStatusLabel(QLabel* pStatusLabel); - void setStatusText(QString sText, int nLevel = 0); - - // 当前井、项目、作业 - static void setCurProject(IxDynObj* p); - static IxDynObj* getCurProject(); - static void setCurWell(IxDynObj* p); - static IxDynObj* getCurWell(); - static void setCurJobRun(QObject* p); - static QObject* getCurJobRun(); - - // 对Setting进行统一管理,保存窗口状态用 - QSettings* getWndSettings(QString& sWndKey, bool bResetIfExists = false); - - // 加载TableStruct - bool loadTableStructs(QString sFile); - - // 加载Models - bool loadModelInfos(QString sFile /*= ""*/); - bool loadModelWelInfos(QString sFile); - bool loadModelResInfos(QString sFile); - bool loadModelDescInfos(QString sFile); - // 加载Parameters - bool loadParaDefines(QString sFile /*= ""*/, QString sFileEx = ""); - - // 加载PvtMethod - bool loadPvtParaItems(QString sFile /*= ""*/); - bool loadIprAlgItems(QString sFile /*= ""*/); - - // 特殊参数 - bool loadSpeciParamInfos(QString sFile /*= ""*/); - - // 加载BtnCmds - bool loadBtnCmdInfos(QString sFile /*= ""*/); - bool parseBtnCmd2ToolBar(QToolBar* p, QString sType, int nOption = -1, int wh = -1); - bool parseBtnCmdID2ToolBar(QToolBar* p, QStringList listIDs, int wh); - QString getCmdNameByID(QString sCmdID); - - // 加载Unit - bool loadUnitInfos(QString sFile /*= ""*/); - - // 曲线字典 - bool loadCurveDictionaryInfos(QString sFile /*= ""*/); - - // 字段别名 - bool loadAliasTablesInfos(QString sFile /*= ""*/); - - - /// @brief 对于单位控件的修改 - /// @param sPara可以英文、可以中文,查找英文优先 - /// @param pTbxValue默认值填写上,不能为空 - /// @param pCbxUnit单位下拉,可以为空 - void loadAndFillWithDefault(QString sPara, - QLineEdit* pTbxValue, - QComboBox* pCbxUnit, - double& fDefaultValue, - QString& sCurUnit); - - // 获取参数单位,为了一点点性能,可以英文、可以中文,查找英文优先 - QString getUnitOfPara(QString sPara); - -private: - - zxSysUtils(); - ~zxSysUtils(); - -private: - - static zxSysUtils* m_pSysInstance; - static QLabel* m_pStatusLabel; - static IxDynObj* m_pCurWell; - static IxDynObj* m_pCurProject; - static QObject* m_pCurJobRun; - -public: - - // 各种参数缓存,一旦成功加载,即可作为全局变量进行使用 - - vecXmlTablesPtr m_vecXmlTables; - vecXmlAliasTablesPtr m_vecXmlAliasTables; - vecXmlCurveItemsPtr m_vecCurveDict; - - vecModelInfoBasesPtr m_vecModelWbss; - vecModelInfoBasesPtr m_vecModelWels; - vecModelInfoBasesPtr m_vecModelRess; - vecModelInfoBasesPtr m_vecModelBdys; - vecModelDescGroupsPtr m_vecModelGroups; - - //新的模型模式下加载 - vecModelInfosPtr m_vecWelModels; - vecModelInfosPtr m_vecResModels; - vecModelDescInfosPtr m_vecModelDescs; - - - - vecXmlCmdGroupsPtr m_vecCmdInfos; - vecXmlBtnsPtr m_vecBtnInfos; - - vecParameterGroupsPtr m_vecParaGroups; - vecParameterGroupSpsPtr m_vecParaGroupSps; - vecPvtParaItemGroupsPtr m_vecPvtParaItemGroups; - - vecIprAlgItemGroupsPtr m_vecIprAlgItemGroups; - vecUnitGroupPtr m_vecUnitGroups; - vecParamPtr m_vecSpeciParam; - - QMap m_mapParaUnits; -}; diff --git a/Include/iData/iXmlManager/Models/iModelDesc.h.bak b/Include/iData/iXmlManager/Models/iModelDesc.h.bak deleted file mode 100644 index 6d51846..0000000 --- a/Include/iData/iXmlManager/Models/iModelDesc.h.bak +++ /dev/null @@ -1,52 +0,0 @@ -#pragma once - -#include "iModelInfoBase.h" - -class iModelInfoWbs; -class iModelInfoWel; -class iModelInfoRes; -class iModelInfoBdy; - -/// @brief 模型描述,每一行的内容 -class I_XMLMANAGER_EXPORT iModelDesc : public iModelInfoBase -{ - Q_OBJECT - -public: - - iModelDesc(QObject* parent = 0); - ~iModelDesc(); - - // 把List分配到成员变量 - // 输入开始的m_listValues中index,并且返回下一个index - virtual int allocateInfo(int nIndex); - - // 追加公共 - void appendCommons(QString sInputs, QString sOutputs); - QStringList changeStrList(QStringList listOld, QString sNew); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - -protected: - - virtual void initXmlTags(); - -public: - - QStringList m_listInputs; //输入 - QStringList m_listOutputs; //输出 - - QString m_sSerie; - QString m_sWel; //井型 - QString m_sRes; //油藏模型 - - // 对应指针 -// iModelInfoWbs* m_pWbs; //暂时不用 - iModelInfoWel* m_pWel; - iModelInfoRes* m_pRes; -// iModelInfoBdy* m_pBdy; //暂时不用 -}; - -typedef QVector vecModelDescsPtr; diff --git a/Include/iData/iXmlManager/Models/iModelInfo.h.bak b/Include/iData/iXmlManager/Models/iModelInfo.h.bak deleted file mode 100644 index 7fa6cb8..0000000 --- a/Include/iData/iXmlManager/Models/iModelInfo.h.bak +++ /dev/null @@ -1,90 +0,0 @@ -#pragma once - -#include "Defines.h" -#include "iXmlBaseItem.h" - -/// @brief 模型信息基础20241105 -class I_XMLMANAGER_EXPORT iModelInfo : public iXmlBaseItem -{ - Q_OBJECT - -public: - - iModelInfo(QObject* parent = 0); - ~iModelInfo(); - - // 解析xml节点到List - virtual void parseInfo(const QDomElement& e); - // 把List分配到成员变量 - // 输入开始的m_listValues中index,并且返回下一个index - virtual int allocateInfo(int nIndex); - - // 备份恢复 - virtual bool saveBk(); - virtual bool restoreBk(); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - //得到所有的子项 - QStringList getSubItems(); - //得到子项ID - QString getSubItemID(QStringList list); - //得到DefaultID根据一层一层获取ID - QString getSelModelID(); -protected: - - virtual void initXmlTags(); - -public: - QString m_sEnName; - //子项的Tag - QString m_sSubLabel; - //子项类型<< "" << "ComboBox" << "CheckBox" << "RadioBt" ; - //为空时候就是没有子项 - QString m_sSubType; - // - QString m_sDefaultTag; - //子项 - QVector m_vecModelInfosPtr; -}; - -typedef QVector vecModelInfosPtr; - -//组合文件 -class I_XMLMANAGER_EXPORT iModelDescInfo : public iXmlBaseItem -{ - Q_OBJECT - -public: - - iModelDescInfo(QObject* parent = 0); - ~iModelDescInfo(); - - // 把List分配到成员变量 - // 输入开始的m_listValues中index,并且返回下一个index - virtual int allocateInfo(int nIndex); - - // 备份恢复 - virtual bool saveBk(); - virtual bool restoreBk(); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - //得到所有参数 - QStringList getParams(); -protected: - - virtual void initXmlTags(); - -public: - QString m_sWelModelID; - QString m_sResModelID; - QString m_sSeries; - QString m_sParams; - QString m_sEixtWel; - QString m_sEixtRes; -}; - -typedef QVector vecModelDescInfosPtr; diff --git a/Include/iData/iXmlManager/Models/iModelInfoBase.h.bak b/Include/iData/iXmlManager/Models/iModelInfoBase.h.bak deleted file mode 100644 index c4333c9..0000000 --- a/Include/iData/iXmlManager/Models/iModelInfoBase.h.bak +++ /dev/null @@ -1,73 +0,0 @@ -#pragma once - -#include "Defines.h" -#include "iXmlBaseItem.h" - -/// @brief 模型信息基础 -class I_XMLMANAGER_EXPORT iModelInfoBase : public iXmlBaseItem -{ - Q_OBJECT - -public: - - iModelInfoBase(QObject* parent = 0); - ~iModelInfoBase(); - - // 把List分配到成员变量 - // 输入开始的m_listValues中index,并且返回下一个index - virtual int allocateInfo(int nIndex); - - // 备份恢复 - virtual bool saveBk(); - virtual bool restoreBk(); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // Super其实就是Parent,只是QObject本身有了Parent接口 - // 没有直接用QObject的parent接口原因是,其child接口不太友好,不方便应用 - //virtual iModelInfoBase* getSuper(); - //virtual void setSuper(iModelInfoBase* p); - -protected: - - virtual void initXmlTags(); - -public: - - QString m_sAlias; //中文名称 - QString m_sSimpleAlias;//由于可能分组,显示是简写,所以增加名称简称 - QString m_sIcon; //图标 - QString m_sFig; //图片 - QString m_sTips; //备注 - - // 20171120添加 - // m_listTags << "NotFitted" << "UseMode" << "ExtInfos"; - bool m_bNotFitted; //不参与拟合,界面上灰色显示 - ParaUseMode m_oUseMode;// 应用场合:ParaUseMode - QStringList m_listExtInfos;//下拉内容 - // 如: "封闭;气顶" "封闭;底水" - // 请注意 半角;分割 - - // 目前仅仅针对聚合物有效, - // 即聚合物中增加了 常规模型 的油藏类型 - // 即 常规模型 对于 聚合物来讲,属于Brother - bool m_bBrother; - - // 与其它参数的关系验证,如 Alias="二区半径" ValidateStr="GT:R1" - QString m_sValidateStr; - - // 20240814增加层级支持,临时,不涉及序列化 - //QVector m_vecChildren; - //iModelInfoBase* m_pParent; - - // 20240930新增,暂时不涉及xml文件节点的解析 - QVariant m_oValue; //数值(支持类型不限,后续需要完善) - bool m_bValid; //是否有效 - bool m_bVisible; //是否可见 - //新增码对外接口例如Wel010001西安 - QString m_sExiID; -}; - -typedef QVector vecModelInfoBasesPtr; diff --git a/Include/iData/iXmlManager/Models/iModelInfoWbs.h.autosave b/Include/iData/iXmlManager/Models/iModelInfoWbs.h.autosave deleted file mode 100644 index f114f5f..0000000 --- a/Include/iData/iXmlManager/Models/iModelInfoWbs.h.autosave +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "iModelInfoBase.h" - -/// @brief WBS井储 -class I_XMLMANAGER_EXPORT iModelInfoWbs : public iModelInfoBase -{ -public: - - iModelInfoWbs(); - ~iModelInfoWbs(); - - // 把List分配到成员变量 - // 输入开始的m_listValues中index,并且返回下一个index - virtual int allocateInfo(int nIndex); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - -protected: - virtual void initXmlTags(); - -public: - // QString m_sWaste; //测试 - - QStringList m_listParas; //井储参数 -}; diff --git a/Include/iData/iXmlManager/iXmlUtilModels.h.bak b/Include/iData/iXmlManager/iXmlUtilModels.h.bak deleted file mode 100644 index d233d74..0000000 --- a/Include/iData/iXmlManager/iXmlUtilModels.h.bak +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once - -#include "iXmlTable.h" -#include "iModelInfoBase.h" -#include "iModelDescGroup.h" -#include "iParameterGroup.h" -#include "iXmlUtilBase.h" - -// 加载模型结构体 -class I_XMLMANAGER_EXPORT iXmlUtilModels : public iXmlUtilBase -{ -public: - - /// @brief 加载模型结构体 - /// @param pVecWbs...各种不同的模型结构体。 - /// 如果不想解析某一参数,直接传入NULL即可 - /// @param sFile:Xml对应文件 - static bool loadStructs(vecModelInfoBasesPtr* pVecWbs, - vecModelInfoBasesPtr* pVecWel, - vecModelInfoBasesPtr* pVecRes, - vecModelInfoBasesPtr* pVecBdy, - vecModelDescGroupsPtr*& pVecGroups, - QString sFile); - -private: - - // 加载 - static bool parseInfos(QDomElement& root, QString sKey, \ - vecModelInfoBasesPtr* pVec, int nOption); - static bool parseInfoExs(QDomElement& root, QString sKey, \ - vecModelDescGroupsPtr* pVec); - static bool parseInfoParas(QDomElement& root, QString sKey, \ - QMap& mapParas); - - // 关联Group中Desc的信息 - static bool bindModelInfos(vecModelDescGroupsPtr* pVecGroups, - vecModelInfoBasesPtr* pVecWbs, - vecModelInfoBasesPtr* pVecWel, - vecModelInfoBasesPtr* pVecRes, - vecModelInfoBasesPtr* pVecBdy); - -}; diff --git a/Include/iGui/iGuiGridPty/iBdyInfo.h.bak b/Include/iGui/iGuiGridPty/iBdyInfo.h.bak deleted file mode 100644 index 2397c95..0000000 --- a/Include/iGui/iGuiGridPty/iBdyInfo.h.bak +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "iGuiGridPty_global.h" - -// 该类只是为了方便进行边界相关信息的处理 -// 进行边界类型信息的扩展而新增 -//边界位置(是在井位上的位置) -enum eBdyPosType -{ - BYP_Left = 0, - BYP_Right, - BYP_Top, - BYP_Bottom, - BYP_Cricle, - BYP_None -}; - -class X_GUI_GRIDPTY_EXPORT iBdyInfo -{ -public: - - iBdyInfo(); - -public: - - QString m_sName; //对应的英文标识,如:x1,ne,se等 - QString m_sAlias; //对应的中文标识,如:边界距离1,上边界等 - - double m_dValue; //距离 - QString m_sType; //类型,封闭 tr("CloseB")、定压 tr("FixP"),后续可以扩充为其他 - - bool m_bValid; //是否有效 - - eBdyPosType m_ePosType; -}; -typedef QVector VecBdyInfos; diff --git a/Include/iGui/iGuiGridPty/iGridResultUtils.h b/Include/iGui/iGuiGridPty/iGridResultUtils.h index 240e947..ecda15f 100644 --- a/Include/iGui/iGuiGridPty/iGridResultUtils.h +++ b/Include/iGui/iGuiGridPty/iGridResultUtils.h @@ -114,6 +114,10 @@ protected: virtual void resizeEvent(QResizeEvent *); +public: + + void onSizeChanged(); + protected: virtual void paintEvent(QPaintEvent*); diff --git a/Include/iGui/iGuiGridPty/iGridRowGroupBdy.h.bak b/Include/iGui/iGuiGridPty/iGridRowGroupBdy.h.bak deleted file mode 100644 index 1cc9821..0000000 --- a/Include/iGui/iGuiGridPty/iGridRowGroupBdy.h.bak +++ /dev/null @@ -1,65 +0,0 @@ -#pragma once - -#include "iGridRowGroup.h" - -class iBdyInfo; - -// 边界分组的特殊处理 -class X_GUI_GRIDPTY_EXPORT iGridRowGroupBdy : public iGridRowGroup -{ - Q_OBJECT - -public: - - explicit iGridRowGroupBdy(iGridRowItem* pParent = NULL); - ~iGridRowGroupBdy(); - -public: - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // 控件 - virtual void initEditor(); - virtual void setDlgBase(QWidget* p); - virtual void configEditor(); - virtual void initOtherEditors(); - - // 范围 - virtual void setBounds(QRectF& rt);//全局 - virtual QRectF getRightBounds_Main();//右 - -signals: - - /// @brief 触发边界信息改变,比如修改平行边界,由上下改为左右 - /// @param pItem: (in) 当前的GroupItem,其实即是本类iGridRowGroupBdy - /// @param vvec: (in & out) 边界信息数据 - /// @param bModified: (out) 是否正确触发且vvec发生改变 - void sigBdyDetails(iGridRowItem* pItem, \ - QVector< iBdyInfo* >& vvec, \ - bool& bModified); - -public slots: - - virtual void slotBdyDetails(); - -public: - - // 绘图 - virtual void paint(QPainter* pPainter); - -protected: -// virtual void paintGroup(QPainter* pPainter, int nCountVisible); -// virtual void paintItem(QPainter* pPainter); -// virtual void _paintItemTag(QPainter* pPainter, QString s); - virtual void _paintItemValue(QPainter* pPainter); -// virtual void _paintItemIcon(QPainter* pPainter); -// virtual void _paintItemGrid(QPainter* pPainter); - -private: - -protected: - - QPushButton* m_pBtn; -}; diff --git a/Include/iGui/iGuiGridPty/iGridRowItem.h.bak b/Include/iGui/iGuiGridPty/iGridRowItem.h.bak deleted file mode 100644 index a353782..0000000 --- a/Include/iGui/iGuiGridPty/iGridRowItem.h.bak +++ /dev/null @@ -1,235 +0,0 @@ -#pragma once - -#include "iDlgBase.h" -#include "iResultInfo.h" -#include "iGuiGridPty_global.h" - -class iUnitGroup; - -// 参数区每一项Item的基类 -class X_GUI_GRIDPTY_EXPORT iGridRowItem : public QObject -{ - Q_OBJECT - -public: - - explicit iGridRowItem(iGridRowItem* pParent = NULL); - ~iGridRowItem(); - -public: - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // 父子关系处理 - virtual void setDlgBase(QWidget* p);//父窗体、位置控制 - iGridRowItem* getParent(); //父 - bool isParentCollapsed(); //父级节点是否折叠 - int appendChild(iGridRowItem* p); //添加孩子 - int getChildCount(); //孩子数目 - int getChildVisibleCount(); //可见的孩子数目 - iGridRowItem* getChildAt(int n); //获取 - void removeAllChilds(); //Clear - bool getAllItems(QVector& vec);//不考虑层级 - int getItemLevel(); //获取层次级别 - iGridRowItem* getActiveItem(); //当前节点及孩子中的Active节点 - -public: - - // 管理子控件 - virtual void initEditor(); - virtual void initOtherEditors(); - virtual void hideEditors(); - virtual void configEditor(); - virtual QString getEditorCss(bool bValid); - virtual QWidget* getMainEditor(); - - // 位置相关Bounds - virtual void setBounds(QRectF& rt); //全局 - virtual QRectF getBounds(); // - virtual QRectF getLeftBounds(); //左 - virtual QRectF getRightBounds_Main();//右 - virtual QRectF getIconBound(); //Icon的Bound - virtual void setSplitPos(double f); //中间分隔 - virtual double getItemHeight(); //当前节点高度,包括孩子 - -public: - - // 绘图 - virtual void paint(QPainter* pPainter); - -protected: - virtual void paintGroup(QPainter* pPainter, int nCountVisible); - virtual void paintItem(QPainter* pPainter); - virtual void _paintItemTag(QPainter* pPainter, QString s); - virtual void _paintItemValue(QPainter* pPainter); - virtual void _paintItemIcon(QPainter* pPainter); - virtual void _paintItemGrid(QPainter* pPainter); - -public: - - // 属性set/get - bool isShowAsResult(); - virtual void setShowAsResult(bool b); - bool isExpanded(); - virtual void setExpanded(bool b); - bool isVisible(); - virtual void setVisible(bool b); - bool isActive(); - virtual void setActive(bool b); - bool isReadonly(); - virtual void setReadonly(bool b); - virtual void onItemDoubleCliked(GridTickPos o); - -public: - - // HitTest - virtual bool hitTest(QPoint pt, GridTickPos& ht, \ - iGridRowItem*& pItem); - virtual bool hitTest_SelfOnly(QPoint pt, GridTickPos& ht, \ - iGridRowItem*& pItem); - -signals: - - void sigUnableSP(bool&); - void sigValueChanged(QString sPara, QVariant o); - /// @brief 触发参数改变,允许外界进行更改 - /// @param o1: 主要数据,m_oRawValue - /// @param o2: 辅助数据,如Cbx的下拉填充内容QStringList - void sigValuePrevChanged(QVariant& o1, QVariant& o2); - void sigActiveItem(iGridRowItem*); - // 获取其它参数当前的数值 - void sigGetValueOf(QString sPara, QVariant& o, bool& bOk); - - // 是否启用正则验证,比如,直角边界,第一个边界要大于井长/2,只有点源才支持 - void sigOuterValidate(QString sPara, QVariant o, bool& bValid, bool& bSet); - -protected slots: - - // QLineEdit 类型的数据change响应 - virtual void slotItemValueChanged(QString s); - virtual void slotItemNeedActivate(bool); - -public: - - // 设置各个参数 - - iParameter* getParameter(); //参数体 - virtual void setParameter(iParameter* p); - - QString getTag(); //左侧标识 - virtual void setTagInner(QString sTag); - QString getTagInner(); - virtual void setTagOuter(QString sTag); //允许外界直接传递,进行更改 - QString getTagOuter(); - QString getTagEx(); //左侧标识,增加一级处理 - QString getTips(); - - QString getName(); //Name - QString getNameInner(); - virtual void setNameInner(QString s); - - // 该基类默认按double进行实现 - virtual bool setCurValue(QVariant o);//现值 - virtual QVariant getCurValue(); - virtual QString getShowValue(); //非激活时显示在右侧的文本 - - // 原值,请在setParameter之前调用 - virtual void setRawValue(QVariant o); - QVariant getRawValue(); - - // 数据范围 - virtual QString getParaScales(); - - // 对于Editor的范围及颜色管理 - virtual void checkAndClr(); - // 获取范围 - virtual bool getMaxMin(double& fMax, double& fMin); - - // 最后的结果输出 - virtual QString getInfoLeft(); - virtual QVariant getInfoRight(); - virtual QString getInfoUnit(); - virtual bool isInputOk(); - virtual bool isValidateOk(double f);//正则验证是否正确 - - // 20240704 新增接口 - // 主要是设计类似流动段这类复合Item的序列化相关 - virtual bool checkAndSetParaValue(QString sPara, QVariant o); - virtual bool checkAndGetParaValue(QString sPara, QVariant& o); - // 返回所有参数,Key为英文ID - virtual bool checkAndGetSubParaValues(QMap& map, - bool bOnlyFitted = false, - bool bClearMap = true); - virtual bool checkAndGetSubParaUnits(QMap& map, - bool bOnlyFitted = false, - bool bClearMap = true); - virtual bool checkAndOrgaSubResults(QVector& vec, QString sType); - - virtual void organizeResult(iResultInfo& o, QString sType); - -protected: - - // 对于只读等属性的管理 - virtual void openItemPty(); //赋值前打开 - virtual void restoreItemPty();//赋值后恢复 - - virtual bool isUnableSP(); - virtual void activateItemChanged(QVariant o); - -protected: - - // 对应的参数 - iParameter* m_pParameter; - QString m_sNameInner; //这是内部的Name,包括流动段相关的1,2,3 - QString m_sTagInner; - QString m_sTagOuter; - - QVariant m_oRawValue; //原始值 - QString m_sRawUnit; //原始单位 - int m_nDigit; //小数位数 - - iUnitGroup* m_pUnitGroup;//载体 - - // 父子关系 - QWidget* m_pDlgBase; //承载的Wx - iGridRowItem* m_pParent; //父级节点 - QVector m_vecChildren; //孩子节点 - - // 内嵌组件 - QWidget* m_pEditor; - QVector m_vecEditors; - - // 状态 - bool m_bVisible; - bool m_bActive; - bool m_bExpanded; - - // 20181228与参数载体的readonly不是一回事 - // 允许外界动态修改 - bool m_bReadonly; - - // 位置信息 - QRectF m_rtBounds; - double m_fSplitPos; - - // Group模式的背景色 - QColor m_vecBackColors[3]; - - // 图标 - QPixmap m_oPixCollapse; - QPixmap m_oPixExpand; - - // 导出时是否显示,对于组默认不显示,但流动段特殊 - bool m_bShowAsResult; - -public: - - // 其它常量 - double m_fIconWidth; - double m_fIconMarginH; - double m_fIconMarginV; - double m_fRowHeight; - double m_fSplitPading; -}; diff --git a/Include/iGui/iGuiGridPty/iGridRowItemSeg.h b/Include/iGui/iGuiGridPty/iGridRowItemSeg.h deleted file mode 100644 index b004053..0000000 --- a/Include/iGui/iGuiGridPty/iGridRowItemSeg.h +++ /dev/null @@ -1,69 +0,0 @@ -#pragma once - -#include "iGridRowItemUnt.h" - -// 流动段数、产液段数 -class iParameterSeg; -class X_GUI_GRIDPTY_EXPORT iGridRowItemSeg : - public iGridRowItemUnt -{ - Q_OBJECT - -public: - - explicit iGridRowItemSeg(iGridRowItem* pParent = nullptr); - ~iGridRowItemSeg(); - -public: - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // 控件 - virtual void initEditor(); - virtual void configEditor(); - virtual void initOtherEditors(); - - // 范围 - virtual void setBounds(QRectF& rt);//全局 - virtual QRectF getRightBounds_Main();//右 - - // 关联绑定的Item,长度 - virtual void setLenAll(double d); - virtual void setBrotherItem(iGridRowItem* p); - // 关联绑定的产量 - virtual void setNqQAll(double d); - // 刷新 - // n:段数 - virtual void freshSubChild(int n, bool bBySegCount); - - // 对于Editor的范围及颜色管理 - virtual void checkAndClr(); - virtual QString getEditorCss(bool bValid); - virtual bool isInputOk(); - - // 外界传递 - virtual bool setCurValue(QVariant o); - virtual QVariant getCurValue(); - -public slots: - - virtual void slotSegCountChanged(int n); - virtual void slotItemLenthChanged(QString, QVariant); - -protected: - - // 对于需要调整的,计算其默认的位置 - virtual VecDouble calDefaultPoss(int n, double dLenAll); - - // 结果 - virtual QVariant getInfoRight(); - virtual QString getInfoUnit(); - -protected: - - iGridRowItem* m_pBrotherItem; //关联的长度Item - double m_dLenAll; - double m_dNqAll; -}; diff --git a/Include/iGui/iGuiGridPty/iGridRowItemSegEx.h b/Include/iGui/iGuiGridPty/iGridRowItemSegEx.h deleted file mode 100644 index 2735709..0000000 --- a/Include/iGui/iGuiGridPty/iGridRowItemSegEx.h +++ /dev/null @@ -1,105 +0,0 @@ -#pragma once - -#include "iGridRowItemSeg.h" - -// 流动段数、产液段数 -// 注:界面上显示所有子项,为各自的合计,比如裂缝总长度 -class iParameterSegEx; -class X_GUI_GRIDPTY_EXPORT iGridRowItemSegEx : - public iGridRowItemSeg -{ - Q_OBJECT - -public: - - explicit iGridRowItemSegEx(iGridRowItem* pParent = nullptr); - ~iGridRowItemSegEx(); - -public: - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // 控件 - virtual void initEditor(); - virtual void setDlgBase(QWidget* p); - virtual void configEditor(); - virtual void initOtherEditors(); - - // 范围 - virtual void setBounds(QRectF& rt);//全局 - virtual QRectF getRightBounds_Main();//右 - - // 关联绑定的Item,长度 - virtual void setLenAll(double d); - virtual void setBrotherItem(iGridRowItem* p); - - // 刷新 - // n:段数 - virtual void freshSubChild(int n, bool bBySegCount); - void recacheParas(int n, iParameterSegEx* p, bool bBySegCount); - void resetSubItems(int n, iParameterSegEx* p); - void freshChildrenWithSums(bool bByLen); //当前参数 - QMap sumCurParas(); - - // 对于Editor的范围及颜色管理 - virtual void checkAndClr(); - virtual QString getEditorCss(bool bValid); - virtual bool isInputOk(); - - // 外界传递 - virtual bool setCurValue(QVariant o); - virtual QVariant getCurValue(); - - // 数据范围,可以在扩展tips信息 - virtual QString getParaScales(); - - // 20240704 新增接口 - // 主要是设计类似流动段这类复合Item的序列化相关 - virtual bool checkAndSetParaValue(QString sPara, QVariant o); - virtual bool checkAndGetParaValue(QString sPara, QVariant& o); - // 返回所有参数,Key为英文ID - virtual bool checkAndGetSubParaValues(QMap& map, - bool bOnlyFitted = false, - bool bClearMap = true); - virtual bool checkAndGetSubParaUnits(QMap& map, - bool bOnlyFitted = false, - bool bClearMap = true); - virtual bool checkAndOrgaSubResults(QVector& vec, QString sType); - -signals: - - /// @brief 触发子参数列表改变,比如调用水平井段数编辑功能,目前只限于 iGridRowItemSegEx 类型的信号传递 - /// @param sSegName: (in) 基准参数,为英文标识,如流动段数:"Nq" - /// @param vvec: (in & out) 子参数数据,注意:key为英文,如"NqX","NqL","NqQ"之类,与xml配置文件严格对应 - /// @param dWellLen: (in) 水平井长度 - /// @param bModified: (out) 是否正确触发且vvec发生改变 - void sigSegMore(const QString sSegName, \ - QVector< QMap >& vvec, \ - const double dWellLen, \ - bool& bModified); - -public slots: - - virtual void slotSegCountChanged(int n); - virtual void slotItemLenthChanged(QString, QVariant); - - virtual void slotSegMore(); - -private: - - // 对于需要调整的,计算其默认的位置 - virtual VecDouble calDefaultPoss(int n, double dLenAll); - - // 结果 - virtual QVariant getInfoRight(); - virtual QString getInfoUnit(); - -protected: - - QPushButton* m_pBtn; - - QVector< QMap > m_vvecSubParas; - -}; diff --git a/Include/iGui/iGuiGridPty/iGridRowUtils.h.bak b/Include/iGui/iGuiGridPty/iGridRowUtils.h.bak deleted file mode 100644 index 850a654..0000000 --- a/Include/iGui/iGuiGridPty/iGridRowUtils.h.bak +++ /dev/null @@ -1,236 +0,0 @@ -#pragma once - -#include "iDlgBase.h" -#include "iResultInfo.h" -#include "iGridRowItemUnt.h" - -class iBdyInfo; - -// 参数区统一处理的Utils -class X_GUI_GRIDPTY_EXPORT iGridRowUtils : public iDlgBase//QAbstractScrollArea -{ - Q_OBJECT - -public: - - explicit iGridRowUtils(QWidget *parent = 0); - ~iGridRowUtils(); - -public: - - // 初始化 - virtual void initUI(); - - // 对外暴露接口 - bool buildRowUtils(QStringList listParas, \ - QStringList& listParaTags, \ - bool bDnMode, \ - QWidget* pWxDlg); - void setParaItems(QVector& vec, \ - bool bDnMode, \ - QWidget* pWxDlg); - void setBounds(QRectF& rt); - double getUtilHeight(); - void connectSignalsOf(iGridRowItem* p); - void bkAllItems(); - QStringList getAllTags(); //不考虑层级 - void resetLayout(); //流动段增减后重置 - // 根据名字获取 - iGridRowItem* getItemByPara(QString sPara); - // 根据名字取数据 - QVariant getItemValueByPara(QString sPara); - - // 查询并处理 UseMdoe == 3 的参数,初始不显示 - void dealwithHide(bool bHideMode, bool& bItemChanged); - - // 查询并处理 多相/单相切换 的参数,初始不显示 - void deawithMpMode(bool bMultiPhase, bool& bItemChanged); - - void dealwithItemOfs(ParaUseMode o, bool bHideMode, bool& bItemChanged); - - // 清空 - void clearAllItems(); - - // Header - void setHeaderVisible(bool b); - bool isHeaderVisible(); - - // 对Items进行检测,正确输入 - bool checkItems(); - - // 刷新 - void updateItem(iGridRowItem* p); - -protected: - - // 按键 - virtual void keyPressEvent(QKeyEvent* e); - - /// @brief 获取当前激活的Item的索引,在全局m_vecAllItems中 - /// @param bStrict 为true:取的item 处于激活同时hasFocus - /// 为false 取的item 处于激活同时 本类[iGridRowUtils] hasFocus - virtual int getFocusedItemIndex(bool bStrict = true); - - /// @brief 获取下一个可以激活[获取索引]的Item的索引,在全局m_vecAllItems中 - /// @param nFrom 为当前:要从nFrom+1开始算起,若干到头,则从0开始继续 - /// @param bStrict 为true:不考虑隐藏、只读等 - /// 为false 所有item都考虑 - virtual int getNextItemIndexToFocus(int nFrom, bool bStrict = true); - -private: - - // 搭建过程 - QStringList getParaTypes(QStringList listParas); - bool createAndAddItem(iGridRowItem* pParent, \ - iParameter* p, QString sPara); - iGridRowItem* createWithSegOlds(iGridRowItem* pParent, \ - iParameter* p, QString sPara);//兼容原先,没有配置ParaType - void insertItem(int nIndex, iGridRowItem* pItem); - - - // 这是一些特殊处理,就是创建完成所有Item后,相关的关联 - // 如 产液段与有效长度 - void bindItems(); - - // 把所有Item从上到下(不考虑层级记录下来) - bool getAllItems(QVector& vec); //不考虑层级 - - - // 范围及布局 - void setSplitPos(double f); - void updateLayout(); - void doLayout(); - - -protected: - - virtual void mousePressEvent(QMouseEvent *); - virtual void mouseDoubleClickEvent(QMouseEvent* e); - virtual void mouseReleaseEvent(QMouseEvent *); - virtual void mouseMoveEvent(QMouseEvent *); - - virtual void resizeEvent(QResizeEvent *); - -protected: - - virtual void paintEvent(QPaintEvent *); - - void paintGrid(QPainter* pPainter); - void paintHeader(QPainter* pPainter); - -public slots: - - void slotActivateItem(iGridRowItem* p); - void onActiveItemChanged(iGridRowItem* p); - void slotValuePrevChanged(QVariant& o1, QVariant& o2); - - void slotGetValueOf(QString sPara, QVariant& o, bool& bOk); - -signals: - - void sigHelpMsg(QString& s); - // TODO not use - // void sigAppendOtherItems(QVector& vec); - /// @brief 触发参数改变,允许外界进行更改 - /// @param sName: 参数名称 - /// @param o1: 主要数据,m_oRawValue - /// @param o2: 辅助数据,如Cbx的下拉填充内容QStringList - /// @param bSet:是否已经正确设置 - void sigItemPrevChanged(QString sName, \ - QVariant& o1, QVariant& o2, \ - bool& bSet); - -// /// @brief 触发参数改变 -// /// @param sPara: 参数名称 -// /// @param o 更改后的数据 -// void sigItemValueChanged(QString sPara, QVariant o); - - // 是否启用正则验证,比如,直角边界,第一个边界要大于井长/2,只有点源才支持 - void sigOuterValidate(QString sPara, QVariant o, bool& bValid, bool& bSet); - - - /// @brief 触发子参数列表改变,比如调用水平井段数编辑功能,目前只限于 iGridRowItemSegEx 类型的信号传递 - /// @param sSegName: (in) 基准参数,为英文标识,如流动段数:"Nq" - /// @param vvec: (in & out) 子参数数据,注意:key为英文,如"NqX","NqL","NqQ"之类,与xml配置文件严格对应 - /// @param dWellLen: (in) 水平井长度 - /// @param bModified: (out) 是否正确触发且vvec发生改变 - void sigSegMore(const QString sSegName, \ - QVector< QMap >& vvec, \ - const double dWellLen, \ - bool& bModified); - - /// @brief 触发边界信息改变,比如修改平行边界,由上下改为左右 - /// @param pItem: (in) 当前的GroupItem,其实即是本类iGridRowGroupBdy - /// @param vvec: (in & out) 边界信息数据 - /// @param bModified: (out) 是否正确触发且vvec发生改变 - void sigBdyDetails(iGridRowItem* pItem, \ - QVector< iBdyInfo* >& vvec, \ - bool& bModified); - -protected: - - // 节点操作及属性更改 - GridTickPos hitTest(QPoint pt); - - void expand(iGridRowItem* p); - void collapse(iGridRowItem* p); - - iGridRowItem* getLastActive(); - - // 位置记录 - int getPreferedSplitX(); - void saveSplitX(); - void loadSplitX(); - -public: - - // 组织数据 - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // 组织结果数据,注:vec不进行clear,由调用方自行clear - virtual bool organizeResults(QVector& vec, QString sType); - - // 从各个Wx(m_vecWxDatas)中遍历查找 - virtual bool setParaValue(QString sPara, QVariant o); - virtual bool getParaValue(QString sPara, QVariant& o); - // 返回所有参数,Key为英文ID - virtual bool getAllParaValues(QMap& map, - bool bOnlyFitted = false, - bool bClearMap = true); - - virtual bool getAllParaUnits(QMap& map, - bool bOnlyFitted = false, - bool bClearMap = true); - - // 返回所有的跟模型相关的边界参数的类型,封闭或定压 - // 封闭:0 - // 定压:1 - bool getBdyInfos(QMap& map); - -private: - - // 窗体载体 - QWidget* m_pWxDlg; - - // 子项 - QVector m_vecGridItems; - QVector m_vecAllItems;// 从上到下不考虑层级,所有 - iGridRowItem* m_pItemSel; - - // 位置及布局 - QRectF m_rtBounds; - bool m_bNeedLayout; - - // 分割线 - bool m_bHitSplit; - double m_fSplitPos; - - // Header - bool m_bHeaderVisible; - - double m_fRowHeight; - - bool m_bUnableSP; -}; diff --git a/Include/iGui/iGuiRibbon/iRibbonXml/iRibbonXmlCmd.h b/Include/iGui/iGuiRibbon/iRibbonXml/iRibbonXmlCmd.h index 7a6e8a8..5b2bec0 100644 --- a/Include/iGui/iGuiRibbon/iRibbonXml/iRibbonXmlCmd.h +++ b/Include/iGui/iGuiRibbon/iRibbonXml/iRibbonXmlCmd.h @@ -18,6 +18,7 @@ enum RibbonCtrlType RCT_Label, //6——Label RCT_ListWx, //7——ListWidget RCT_LineEdit, //8——LineEdit + RCT_ButtonOfSplit, //9——劈分按钮 RCT_Unknown }; @@ -51,6 +52,7 @@ public: QRect m_rtBound; //Bounds QString m_sExtInfo;//扩展信息,如操作对象的表名,下拉选项等 QString m_sExtNames;//扩展信息对应的Name,如下拉button对应的Name + QString m_sExtIcons;//扩展信息对应的Icon,如下拉button对应的Icon QString m_sTips; //Tips QString m_sMdiType; diff --git a/Include/iGui/iGuiRibbon/iWxGroupBar.h b/Include/iGui/iGuiRibbon/iWxGroupBar.h new file mode 100644 index 0000000..c5df10c --- /dev/null +++ b/Include/iGui/iGuiRibbon/iWxGroupBar.h @@ -0,0 +1,182 @@ +#pragma once + +#include "iDlgBaseEx.h" +#include "iRibbonXmlTab.h" + +#include "iGuiRibbon_global.h" + +///ZXF202605 +/// @brief Ribbon简化,仅仅GroupBar模式(这个就相当于ToolBar 里面的 有多个GroupBar,就相当于一个Group一个面板,用于控制折叠这个面板的上按钮) +class I_GUI_RIBBON_EXPORT iWxGroupBar : public QWidget +{ + Q_OBJECT + +public: + + explicit iWxGroupBar(iRibbonXmlGroup* pGroupXml = NULL, \ + QWidget *parent = 0); + ~iWxGroupBar(); + + //设置关联的配置信息 + void setGroupInfo(); + + // 折叠控制(供 iWxToolBar 自动布局调用) + void setCollapsed(bool b); + bool getCollapsed() const ; + int expandedWidth(); + int collapsedWidth(); + + // 返回 ButtonWithMenu 类型 cmd 创建的子菜单 action + QVector& getMenuActions() ; + + // 返回该 Group 内创建的所有子控件 + QVector& getSubCtrls() ; + + //得到里面控件个数是否需要折叠按钮 + bool bCollapse(); + +public: + //初始化 + virtual void initUI(); + virtual void initSheets(); + +protected: + //初始化控件 + void initCtrlUI(); + + //初始化面板按钮 + void initGroupBt(); + //初始化控件上部分(主要功能区) + void initCtrlTopUI(); + //两种布局 + void initCtrlTopGridUI();//网格 + void initCtrlTopHorUI(); //水平 + + //初始化控件下部分(标签区+折叠按钮) + void initCtrlBotUI(); + + // 各种类型 + QWidget* createTabBy(iRibbonXmlTab* pTab); + QWidget* createGroupBy(iRibbonXmlGroup* pGroup); + QWidget* createCmdBy(iRibbonXmlCmd* pCmd, bool bAdd = true); + QWidget* createCmdBy_Btn(iRibbonXmlCmd* pCmd); + QWidget* createCmdBy_Combo(iRibbonXmlCmd* pCmd); + QWidget* createCmdBy_Check(iRibbonXmlCmd* pCmd); + QWidget* createCmdBy_Radio(iRibbonXmlCmd* pCmd); + QWidget* createCmdBy_Text(iRibbonXmlCmd* pCmd); + QWidget* createCmdBy_Label(iRibbonXmlCmd* pCmd); + QWidget* createCmdBy_ListWx(iRibbonXmlCmd* pCmd); + + //新增加边界框 + QWidget* createCmdBy_LineEdit(iRibbonXmlCmd* pCmd); + + // 对于按钮,比较特殊,分别进行实现 + QWidget* _createCmdBy_Btn_Normal(iRibbonXmlCmd* pCmd); //常规按钮 + QWidget* _createCmdBy_Btn_Menu(iRibbonXmlCmd* pCmd); //下拉菜单式按钮 + QWidget* _createCmdBy_Btn_Split(iRibbonXmlCmd* pCmd); //劈分式按钮 + + virtual bool dealwithCmdSubBy(iRibbonXmlCmd* pCmd, QToolButton*& pBtn); + +protected: + virtual void paintEvent(QPaintEvent* event) ; + virtual void mousePressEvent(QMouseEvent* event) ; + virtual void mouseMoveEvent(QMouseEvent* event) ; + virtual void leaveEvent(QEvent* event) ; + //焦点判断 + bool eventFilter(QObject *, QEvent *); + // 让 Qt 认为 group 可以一直缩到折叠态宽度, + // 否则按钮们的 minimumSizeHint 会经 layout 累加上传, + // 把主窗口的最小宽度顶死,导致拖动边框拉不动。 + virtual QSize minimumSizeHint() const; + +private slots: + + //面板折叠 + void slotGroupCollapse(); + void slotBtnClicked(); //Btn + void slotListCtrlIndexChanged(int); //Combox ListWx + void slotCheckCtrlClicked(bool); //CheckBox, RadioBox + + + void slotSplitBtnClicked(QString sName); //Split Btn + + //面板按钮响应(弹出当前Group的Ctrl,重组一个对话框,无边框只有ctrl) + void slotGroupBtnClicked(); + +signals: + + /// @title Ribbon信号触发 + /// @param pCtrl触发的子控件 + /// @param pInfo关联的Ribbon配置信息(来自xml) + void sigRibbonActioned(QWidget* pCtrl, + iRibbonXmlCmd* pInfo, + QVariant o); + + /// @title Ribbon文件菜单信号触发 + /// @param sID菜单ID + /// @param sName菜单名称 + void sigRibbonFileMenuClicked(QString sID, QString sName); + + /// @title Ribbon信号触发 + /// @param pCtrl触发的子控件 + /// @param pInfo关联的Ribbon配置信息(来自xml) + /// @param listValues显示部分 + /// @param listIDs + void sigRibbonGetListValues(QWidget* pCtrl, + iRibbonXmlCmd* pInfo, + QStringList& listValues, + QStringList& listIDs, + int& nCurSel); + + /// @title Ribbon信号触发(允许外界对SplitBtton进行调整) + /// @param pCtrl触发的子控件 + /// @param pInfo关联的Ribbon配置信息(来自xml) + /// @param listNames 英文Name + /// @param listTexts 中文 + /// @param listIcons 图标 + /// @param bChanged 是否改变 + void sigRibbonAdjustSplitBtns(QWidget* pCtrl, + iRibbonXmlCmd* pInfo, + QStringList& listNames, + QStringList& listTexts, + QStringList& listIcons, + bool& bChanged); + + void sigRibbonListWxCurChanged(QWidget* pCtrl, + iRibbonXmlCmd* pInfo, + int nCurSel); + + void sigRibbonCheckWxClicked(QWidget* pCtrl, + iRibbonXmlCmd* pInfo, + bool bSelect); + + +protected: + //组控件 + iRibbonXmlGroup* m_pGroupXml; + // 所有的控件 + QVector m_vecSubCtrls; + + // 所有的控件QACtion + QVector m_vecMenuActions; + //面板按钮(这个主要用于显示于) + QToolButton* m_pGroupBt; + //内容区容器(折叠时隐藏,展开时显示) + QWidget* m_pContentWx; + //主布局 + QVBoxLayout* m_pLayoutMain; + + //折叠状态及命中区域 + bool m_bCollapsed; + bool m_bHover; + QRect m_rcCollapseBtn; + + //展开宽度缓存(用于自动折叠/展开) + int m_nCachedExpandedW; + + // 折叠前记录本来就隐藏的控件ID + QStringList m_listHiddenIDs; + + // 弹出过程中标志,防止 setParent 引起的 hide 触发恢复逻辑 + bool m_bPopupShowing; +}; diff --git a/Include/iGui/iGuiRibbon/iWxGroupBar.h.bak b/Include/iGui/iGuiRibbon/iWxGroupBar.h.bak new file mode 100644 index 0000000..ca48fff --- /dev/null +++ b/Include/iGui/iGuiRibbon/iWxGroupBar.h.bak @@ -0,0 +1,176 @@ +#pragma once + +#include "iDlgBaseEx.h" +#include "iRibbonXmlTab.h" + +#include "iGuiRibbon_global.h" + +///ZXF202605 +/// @brief Ribbon简化,仅仅GroupBar模式(这个就相当于ToolBar 里面的 有多个GroupBar,就相当于一个Group一个面板,用于控制折叠这个面板的上按钮) +class I_GUI_RIBBON_EXPORT iWxGroupBar : public QWidget +{ + Q_OBJECT + +public: + + explicit iWxGroupBar(iRibbonXmlGroup* pGroupXml = NULL, \ + QWidget *parent = 0); + ~iWxGroupBar(); + + //设置关联的配置信息 + void setGroupInfo(); + + // 折叠控制(供 iWxToolBar 自动布局调用) + void setCollapsed(bool b); + bool getCollapsed() const ; + int expandedWidth(); + int collapsedWidth(); + + // 返回 ButtonWithMenu 类型 cmd 创建的子菜单 action + QVector& getMenuActions() ; + + // 返回该 Group 内创建的所有子控件 + QVector& getSubCtrls() ; + +public: + //初始化 + virtual void initUI(); + virtual void initSheets(); + +protected: + //初始化控件 + void initCtrlUI(); + + //初始化面板按钮 + void initGroupBt(); + //初始化控件上部分(主要功能区) + void initCtrlTopUI(); + //初始化控件下部分(标签区+折叠按钮) + void initCtrlBotUI(); + + // 各种类型 + QWidget* createTabBy(iRibbonXmlTab* pTab); + QWidget* createGroupBy(iRibbonXmlGroup* pGroup); + QWidget* createCmdBy(iRibbonXmlCmd* pCmd, bool bAdd = true); + + QWidget* createCmdBy_Btn(iRibbonXmlCmd* pCmd); + QWidget* createCmdBy_Combo(iRibbonXmlCmd* pCmd); + QWidget* createCmdBy_Check(iRibbonXmlCmd* pCmd); + QWidget* createCmdBy_Radio(iRibbonXmlCmd* pCmd); + QWidget* createCmdBy_Text(iRibbonXmlCmd* pCmd); + QWidget* createCmdBy_Label(iRibbonXmlCmd* pCmd); + QWidget* createCmdBy_ListWx(iRibbonXmlCmd* pCmd); + + //新增加边界框 + QWidget* createCmdBy_LineEdit(iRibbonXmlCmd* pCmd); + + // 对于按钮,比较特殊,分别进行实现 + QWidget* _createCmdBy_Btn_Normal(iRibbonXmlCmd* pCmd); //常规按钮 + QWidget* _createCmdBy_Btn_Menu(iRibbonXmlCmd* pCmd); //下拉菜单式按钮 + QWidget* _createCmdBy_Btn_Split(iRibbonXmlCmd* pCmd); //劈分式按钮 + + virtual bool dealwithCmdSubBy(iRibbonXmlCmd* pCmd, QToolButton*& pBtn); + +protected: + virtual void paintEvent(QPaintEvent* event) ; + virtual void mousePressEvent(QMouseEvent* event) ; + virtual void mouseMoveEvent(QMouseEvent* event) ; + virtual void leaveEvent(QEvent* event) ; + //焦点判断 + bool eventFilter(QObject *, QEvent *); + // 让 Qt 认为 group 可以一直缩到折叠态宽度, + // 否则按钮们的 minimumSizeHint 会经 layout 累加上传, + // 把主窗口的最小宽度顶死,导致拖动边框拉不动。 + virtual QSize minimumSizeHint() const; + +private slots: + + //面板折叠 + void slotGroupCollapse(); + void slotBtnClicked(); //Btn + void slotListCtrlIndexChanged(int); //Combox ListWx + void slotCheckCtrlClicked(bool); //CheckBox, RadioBox + + + void slotSplitBtnClicked(QString sName); //Split Btn + + //面板按钮响应(弹出当前Group的Ctrl,重组一个对话框,无边框只有ctrl) + void slotGroupBtnClicked(); + +signals: + + /// @title Ribbon信号触发 + /// @param pCtrl触发的子控件 + /// @param pInfo关联的Ribbon配置信息(来自xml) + void sigRibbonActioned(QWidget* pCtrl, + iRibbonXmlCmd* pInfo, + QVariant o); + + /// @title Ribbon文件菜单信号触发 + /// @param sID菜单ID + /// @param sName菜单名称 + void sigRibbonFileMenuClicked(QString sID, QString sName); + + /// @title Ribbon信号触发 + /// @param pCtrl触发的子控件 + /// @param pInfo关联的Ribbon配置信息(来自xml) + /// @param listValues显示部分 + /// @param listIDs + void sigRibbonGetListValues(QWidget* pCtrl, + iRibbonXmlCmd* pInfo, + QStringList& listValues, + QStringList& listIDs, + int& nCurSel); + + /// @title Ribbon信号触发(允许外界对SplitBtton进行调整) + /// @param pCtrl触发的子控件 + /// @param pInfo关联的Ribbon配置信息(来自xml) + /// @param listNames 英文Name + /// @param listTexts 中文 + /// @param listIcons 图标 + /// @param bChanged 是否改变 + void sigRibbonAdjustSplitBtns(QWidget* pCtrl, + iRibbonXmlCmd* pInfo, + QStringList& listNames, + QStringList& listTexts, + QStringList& listIcons, + bool& bChanged); + + void sigRibbonListWxCurChanged(QWidget* pCtrl, + iRibbonXmlCmd* pInfo, + int nCurSel); + + void sigRibbonCheckWxClicked(QWidget* pCtrl, + iRibbonXmlCmd* pInfo, + bool bSelect); + + +protected: + //组控件 + iRibbonXmlGroup* m_pGroupXml; + // 所有的控件 + QVector m_vecSubCtrls; + + // 所有的控件QACtion + QVector m_vecMenuActions; + //面板按钮(这个主要用于显示于) + QToolButton* m_pGroupBt; + //内容区容器(折叠时隐藏,展开时显示) + QWidget* m_pContentWx; + //主布局 + QVBoxLayout* m_pLayoutMain; + + //折叠状态及命中区域 + bool m_bCollapsed; + bool m_bHover; + QRect m_rcCollapseBtn; + + //展开宽度缓存(用于自动折叠/展开) + int m_nCachedExpandedW; + + // 折叠前记录本来就隐藏的控件ID + QStringList m_listHiddenIDs; + + // 弹出过程中标志,防止 setParent 引起的 hide 触发恢复逻辑 + bool m_bPopupShowing; +}; diff --git a/Include/iGui/iGuiRibbon/iWxRibbon.h b/Include/iGui/iGuiRibbon/iWxRibbon.h index 11c6396..4a6b786 100644 --- a/Include/iGui/iGuiRibbon/iWxRibbon.h +++ b/Include/iGui/iGuiRibbon/iWxRibbon.h @@ -2,6 +2,8 @@ #include "iWxToolBar.h" +#include + namespace Ui { class iWxRibbon; } @@ -43,6 +45,16 @@ protected: // paint virtual void paintEvent(QPaintEvent *); + ///ZXF202605 + // resize: 触发各 tab 内 group 的折叠重排 + virtual void resizeEvent(QResizeEvent* event) ; + +protected slots: + + ///ZXF202605 + // 遍历每个 tab,对其中的 group 单独按 ribbon 当前宽度折叠 + void relayoutAllTabs(); + private slots: void on_tabWxMain_tabCloseRequested(int index); @@ -122,12 +134,15 @@ protected: QString m_sAppDescCN; QString m_sAppDescEN; - // 所有的控件 - QVector m_vecMenuActions; // 最近打开项目 enum { MaxRecentProjects = 5 }; QAction* m_oRecentProjectActs[MaxRecentProjects]; QStringList m_listRencentProjects; QMenu* m_pMenuRecent; + + ///ZXF202605 + // tab page → 该 page 下按视觉顺序排列的 GroupBar + // 每个 tab 创建完成后存档,relayout 时按页查表使用 + QHash > m_mapPageToBars; }; diff --git a/Include/iGui/iGuiRibbon/iWxToolBar.h b/Include/iGui/iGuiRibbon/iWxToolBar.h index 3d26ecf..9e32ca8 100644 --- a/Include/iGui/iGuiRibbon/iWxToolBar.h +++ b/Include/iGui/iGuiRibbon/iWxToolBar.h @@ -5,6 +5,9 @@ #include "iGuiRibbon_global.h" +///ZXF202605 按钮面板Group管理类 +class iWxGroupBar; + /// @brief Ribbon简化,仅仅ToolBar模式 class I_GUI_RIBBON_EXPORT iWxToolBar : public iDlgBaseEx { @@ -41,26 +44,31 @@ protected: // 各种类型 QWidget* createTabBy(iRibbonXmlTab* pTab); QWidget* createGroupBy(iRibbonXmlGroup* pGroup); - QWidget* createCmdBy(iRibbonXmlCmd* pCmd); - QWidget* createCmdBy_Btn(iRibbonXmlCmd* pCmd); - QWidget* createCmdBy_Combo(iRibbonXmlCmd* pCmd); - QWidget* createCmdBy_Check(iRibbonXmlCmd* pCmd); - QWidget* createCmdBy_Radio(iRibbonXmlCmd* pCmd); - QWidget* createCmdBy_Text(iRibbonXmlCmd* pCmd); - QWidget* createCmdBy_Label(iRibbonXmlCmd* pCmd); - QWidget* createCmdBy_ListWx(iRibbonXmlCmd* pCmd); - - //新增加边界框 - QWidget* createCmdBy_LineEdit(iRibbonXmlCmd* pCmd); - - virtual bool dealwithCmdSubBy(iRibbonXmlCmd* pCmd, QToolButton*& pBtn); - - -private slots: - - void slotBtnClicked(); //Btn - void slotListCtrlIndexChanged(int); //Combox ListWx - void slotCheckCtrlClicked(bool); //CheckBox, RadioBox +// QWidget* createCmdBy(iRibbonXmlCmd* pCmd); +// QWidget* createCmdBy_Btn(iRibbonXmlCmd* pCmd); +// QWidget* createCmdBy_Combo(iRibbonXmlCmd* pCmd); +// QWidget* createCmdBy_Check(iRibbonXmlCmd* pCmd); +// QWidget* createCmdBy_Radio(iRibbonXmlCmd* pCmd); +// QWidget* createCmdBy_Text(iRibbonXmlCmd* pCmd); +// QWidget* createCmdBy_Label(iRibbonXmlCmd* pCmd); +// QWidget* createCmdBy_ListWx(iRibbonXmlCmd* pCmd); + +// //新增加边界框 +// QWidget* createCmdBy_LineEdit(iRibbonXmlCmd* pCmd); + +// virtual bool dealwithCmdSubBy(iRibbonXmlCmd* pCmd, QToolButton*& pBtn); + + ///ZXF202605 + virtual void resizeEvent(QResizeEvent* event); + ///ZXF202605 + // 自动折叠:把指定的 group 列表按可用宽度从右往左折叠 + // 由子类(iWxRibbon)按 tab 调用,每个 tab 一组 + void layoutGroupsIn(const QList& vecBars, int avail); +//private slots: + +// void slotBtnClicked(); //Btn +// void slotListCtrlIndexChanged(int); //Combox ListWx +// void slotCheckCtrlClicked(bool); //CheckBox, RadioBox signals: @@ -81,6 +89,23 @@ signals: QStringList& listValues, QStringList& listIDs, int& nCurSel); + + + /// @title Ribbon信号触发(允许外界对SplitBtton进行调整) + /// @param pCtrl触发的子控件 + /// @param pInfo关联的Ribbon配置信息(来自xml) + /// @param listNames 英文Name + /// @param listTexts 中文 + /// @param listIcons 图标 + /// @param bChanged 是否改变 + void sigRibbonAdjustSplitBtns(QWidget* pCtrl, + iRibbonXmlCmd* pInfo, + QStringList& listNames, + QStringList& listTexts, + QStringList& listIcons, + bool& bChanged); + + void sigRibbonListWxCurChanged(QWidget* pCtrl, iRibbonXmlCmd* pInfo, int nCurSel); @@ -95,6 +120,16 @@ protected: // 配置化结构体 vecRibbonTabPtr m_vecTabXmls; + // 所有的控件 + QVector m_vecMenuActions; // 所有的控件 QVector m_vecSubCtrls; + + ///ZXF202605 + bool m_bRelayouting; + ///ZXF202605 + // 当前正在构建的 tab 的 GroupBar 顺序收集器; + // createTabBy() 开头清空,每 createGroupBy() 成功一次追加一项; + // createTabBy() 结束后由调用方(iWxRibbon)按 tab page 取走存档 + QList m_vecGroupBars; }; diff --git a/Include/iPlot/iPlotBase/Commands/ZxGraphCommand.h b/Include/iPlot/iPlotBase/Commands/ZxGraphCommand.h deleted file mode 100644 index fc8e653..0000000 --- a/Include/iPlot/iPlotBase/Commands/ZxGraphCommand.h +++ /dev/null @@ -1,5 +0,0 @@ -#error ZxRenderCommand is obsoleted, use QUndoCommand instead. - - - - diff --git a/Include/iPlot/iPlotBase/Helper/ZxAxisHelperDoubleLinear.h b/Include/iPlot/iPlotBase/Helper/ZxAxisHelperDoubleLinear.h index 651bedd..c406956 100644 --- a/Include/iPlot/iPlotBase/Helper/ZxAxisHelperDoubleLinear.h +++ b/Include/iPlot/iPlotBase/Helper/ZxAxisHelperDoubleLinear.h @@ -13,6 +13,9 @@ public: protected: + // 获取绘制的位置信息 + virtual void locateOneTickTag(QPainter* painter, double dPos, QString s, \ + QRectF& rt, int& flag); // 绘制函数 virtual void drawTickAndTags(QPainter* painter, QRectF& rt); diff --git a/Include/iPlot/iPlotBase/ZxRenderSelection.h b/Include/iPlot/iPlotBase/ZxRenderSelection.h deleted file mode 100644 index 024c6f3..0000000 --- a/Include/iPlot/iPlotBase/ZxRenderSelection.h +++ /dev/null @@ -1,115 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include - -class ZxRenderItem; -class ZxSceneItem; -class QTimer; -class QTime; - -/// 当前选择的图件列表. -/// 已经为大数据量及频繁选择做了优化. -class I_PLOTBASE_EXPORT ZxRenderSelection : public QObject -{ - Q_OBJECT - struct Node - { - ZxRenderItem * item; - Node * prev; - Node * next; - }; - - static Node * alloc(); - - bool m_bChanged; - Node * head; - Node * tail; - QHash dict; - - void listAdd(Node * n); - void listRemove(Node * n); - - void doAdd(ZxRenderItem * w, bool force); - void doRemove(Node * n); - - void setChanged(); - - QTime * m_pLazyChangedTime; - QTimer * m_pTimer; -public: - ZxRenderSelection(ZxSceneItem * pScene); - ZxSceneItem * getScene(); - - /// 选择 - void add(ZxRenderItem * p, bool force = false); - /// 取消选择 - void remove(ZxRenderItem * p); - /// 反选 - void invert(ZxRenderItem * p, bool force = false); - - void clear(); - - ZxRenderItem * first() const; - ZxRenderItem * last() const; - - QList toList(); - - class I_PLOTBASE_EXPORT const_iterator - { - Node * p; - const_iterator(Node * p); - public: - ZxRenderItem * operator*(); - bool operator!=( const const_iterator& ) const; - bool operator==( const const_iterator& ) const; - const_iterator& operator++(); - friend class ZxRenderSelection; - }; - - const_iterator begin() const; - const_iterator end() const; - - bool empty() const; - bool isEmpty() const; - bool isSingle() const; - int count() const; - - QRectF getBounds(); - - bool hasSameParent() const; - - void move(float dx, float dy); - -signals: - - /// 个别图件被加进列表 - void sigItemAdded(ZxRenderItem * p); - - /// 个别图件被从列表移除 - void sigItemRemoved(ZxRenderItem * p); - - /// 选中列表被改变(即时) - void sigSelectionChanged(); - - /// 选中列表被改变(非即时) - void sigSelectionChangedLazy(); - - -protected: - friend class ZxRenderView; - // ZxRenderSelection(); - // ~ZxRenderSelection(); -protected slots: - virtual void onTimer(); -private: - ZxSceneItem * m_pScene; - ZxRenderSelection(const ZxRenderSelection & c); -}; - - - - diff --git a/Include/iPlot/iPlotBase/ZxSnapGrid.h b/Include/iPlot/iPlotBase/ZxSnapGrid.h deleted file mode 100644 index 6cba59e..0000000 --- a/Include/iPlot/iPlotBase/ZxSnapGrid.h +++ /dev/null @@ -1,65 +0,0 @@ -#pragma once -#include -#include -#include -#include "IxSerDes.h" -#include "iPlotBase_global.h" - -class ZxRenderItem; -class QPainter; -class ZxPaintParam; - -/// 对齐网格 -/// @note 对齐网格不能做成Layout, 因为只对当前鼠标移动的对象起作用 -class I_PLOTBASE_EXPORT ZxSnapGrid - : virtual public IxDynObj - , virtual public IxSerDes - , virtual public IxGridAlign -{ - ZX_DECLARE_DYNAMIC -public: - enum Style - { - dotStyle, - lineStyle - }; - explicit ZxSnapGrid(ZxRenderItem * pOwner = 0); - virtual ~ZxSnapGrid(); - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - virtual QPointF calcSnapPos(const QPointF & pos) const; - virtual void paint(QPainter * painter, const ZxPaintParam & param); - - int getVCount() const; - void setVCount(int n); - - int getHCount() const; - void setHCount(int n); - - void setGridWidth(float fGridWidth); - - QColor getColor() const; - void setColor(const QColor & color); - - bool isSnapEnabled() const; - void setSnapEnabled(bool bEnabled); - bool isGridVisible() const; - void setGridVisible(bool bVisible); - Style getStyle() const; - void setStyle(Style style); -private: - float getGridWidth() const; - float getGridHeight() const; - - ZxRenderItem * m_pOwner; - float m_nVCount; - float m_nHCount; - QColor m_color; - bool m_bEnabled; - bool m_bVisible; - Style m_style; -}; - - - - diff --git a/Include/iPlot/iPlotCurveT/Objects/ZxObjBase.h.bak b/Include/iPlot/iPlotCurveT/Objects/ZxObjBase.h.bak deleted file mode 100644 index 553cf67..0000000 --- a/Include/iPlot/iPlotCurveT/Objects/ZxObjBase.h.bak +++ /dev/null @@ -1,335 +0,0 @@ -#pragma once - -#include -#include -#include -#include - -#include "ZxDot.h" -#include "Defines.h" -#include "ZxRenderItem.h" -#include "ZxDrawHelper.h" - -#include "iPlotCurveT_global.h" - -#define _isNearLine ZxDrawHelper::isPointNearLine - -class ZxPlot; -class ZxSubAxisX; -class ZxSubAxisY; -class IxPtyItem; -class ZxObjToolBase; - -// 绘图对象基类 -class I_PLOTCURVE_T_EXPORT ZxObjBase : public ZxRenderItem -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - - ZxObjBase(); - ZxObjBase(const QString& sName, ZxSubAxisX* pAxisX, ZxSubAxisY* pAxisY); - ~ZxObjBase(void); - virtual void init(const QString& sName, ZxSubAxisX* pAxisX, ZxSubAxisY* pAxisY); - -public: - /////////////////////////////////// - ///SubObjs - - // 自己创建、此处管理 - virtual void initSubObjs(); - - // 外界传入,此处管理 - virtual void appendSubObjs(ZxObjBase* p); - - // 是否显示,统一控制 - virtual bool isShowSubObjs(); - virtual void showSubObjs(bool b); - - // 删除或添加时的消息处理 - void setAddOrDel(bool bAdd); - bool getAddOrDel(); - - // 取得鼠标移动时的tip信息 - virtual QString getTipOf(const QPointF& point); - -public: - - virtual void initTools(); - virtual void removeTools(); - virtual void resetTools(ZxRenderView* pView); - -protected: - - // 这是根据当前点再次计算出来Bound - virtual QRectF getBoundsEx(); - - // 设置图元对象的属性标志 - virtual void initFlags(); - - // 删除所有子节点 - virtual void clear(); - -public: - - /////////////////////////////////// - ///Brother - // 仅仅是关联一下,比如在移动至,二者同步移动 - virtual void bindBrother(ZxObjBase* p); - virtual void detachBrother(ZxObjBase* p); - void resetBrotherOffset(); - int getBrotherCount(); - ZxObjBase* getBrotherOfIndex(int n); - -public: - - // 移动模式判断 - virtual bool canMovePoint(); - virtual bool canMoveBound(); - virtual bool canMoveWhole(); - -public: - - // 击中 - virtual bool hitTest(const QPointF& pt); - - // 具体击中实现的函数,单纯击中,不做选项的改变 - // nOption用int是因为Rect类的击中选项不一致 - // nOption为负值,表示未击中,此时返回false - virtual bool _runHitTest(const QPointF& pt, int& nOption, int& nSubIndex); - - // 击中后,ButtonUp后的处理 - // pt1:鼠标Down点,pt2:鼠标Up点 - virtual bool runMove(const QPointF& pt1, - const QPointF& pt2); - - // 新增接口,20210918 为了流量和压力对齐,只支持右移动 - // dOffsetX > 0,且是Value而不是Pos - // 20210919 更改支持:左右移动,压力 - virtual bool runMoveByV(const double dOffsetX); - - // 整体移动时,对Brother的同步处理 - virtual bool runMoveBrother(const double &fOffsetX, - const double &fOffsetY); - virtual bool moveToPos(const double& l, const double& r, - const double& t, const double& b); - virtual bool moveToPos(const QVector& vecPoss); - - // 根据pt1--->pt2的偏移,获取pt的偏移后的点 - // pt1:鼠标Down点,pt2:鼠标Up点 - QPointF offsetPoint(QPointF& pt, - const QPointF& pt1, const QPointF& pt2); - - // 当该对象未选中,反选其它,如文本框 - virtual void deselectOthers(); - -public: - - // paint - virtual void paintBack(QPainter* painter, - const ZxPaintParam& param); - virtual void paintSubObjs(QPainter* painter, - const ZxPaintParam& param); - virtual void paintDotPt(QPainter* painter, - QPointF pt, - ZxDot& dot, - bool bSelChanged = true); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - virtual void onLoadTempl(ZxSerializer* ser); - virtual void onSaveTempl(ZxSerializer* ser); - - virtual void onDeserialized(); - virtual void fillPtyPano(IxPtyPano* sheet); - - // - virtual bool isItemBody(double x, double y); - virtual void onLeftDoubleClick(const QPointF& pt); - - // 这是在整体移动Obj时,同步绘制其绑定的Obj - virtual void drawBrotherWhenMoving(QPainter* painter, - QPointF ptOld, - QPointF ptNew); - virtual void paintWithBrotherMode(QPainter* painter, - QPointF ptOld, - QPointF ptNew); - - virtual void update(); - - virtual QRectF getBounds4Update(); - virtual void updateRect(QRectF); - -public: - - // 得到/设置名称 - QString getName(void) const; - void setName(QString sName); - - // 点 - QPointF getPtValueOf(int nIndex) const; //Value值 - void setPtValueOf(int nIndex, QPointF ptValue); - - QPointF getPtPosOf(int nIndex) const; //Pos值 - void setPtPosOf(int nIndex, QPointF ptPos); - - QPointF getPosOf(QPointF ptValue) const; //根据Value求Pos - QPointF getValueOf(QPointF ptPos) const; //根据Pos求Value - - QVector getPosOf(QVector vecValues) const; //根据Value求Pos - QVector getValueOf(QVector vecPoss) const; //根据Pos求Value - - // 设置所有的Value,外界调用 - virtual void setAllValues(QVector vecValues); - virtual QVector getAllValues() const; - - // 设置所有的Pos,外界调用 - virtual void setAllPos(QVector vecPoss, QVector* pVecIndexes = NULL); - virtual QVector getAllPos(bool bFuzzyMode = false, - double fZoom = 1.f, - int nMax = 20000, - QVector* pVecSelecteds = NULL, - QVector* pVecIndexes = NULL) const; - virtual QVector fuzzyAllPos(QVector vec, - double fZoom = 1.f, - int nMax = 20000, - QVector* pVecSelecteds = NULL, - QVector* pVecIndexes = NULL) const; - virtual int fuzzyPosTimes(double fZoom, int nPtCount) const; - virtual void resetBounds(); - virtual QRectF calValueBounds(); //计算数值的Bound,对于对数坐标,去除小于0 - virtual void resetOthers(); //resetBounds内部调用 - - // 坐标轴 - ZxSubAxisX* getAxisX(void); - const ZxSubAxisX* getAxisX(void) const; - void setAxisX(ZxSubAxisX* pAxis); - ZxSubAxisY* getAxisY(void); - const ZxSubAxisY* getAxisY(void) const; - void setAxisY(ZxSubAxisY* pAxis); - void setAxisObjectNameX(QString s); - void setAxisObjectNameY(QString s); - QString getAxisObjectNameX(); - QString getAxisObjectNameY(); - - // 类型 - void setObjType(PlotObjectType o); - PlotObjectType getObjType(); - - // 类型 - //void setObjTag(QString s); - QString getObjTag(); - - // 逐级获取Plot - ZxPlot* getPlot(); - - // ZxPlot的InnerRect - QRectF getOuterRect(); - // ClipRect - QRectF getClipRect(QRectF rtViewClip); - - // 设置View - void setView(ZxRenderView* pView); - ZxRenderView* getView(); - - // 该函数主要是触发信号: sigObjSelectionChanged - void dealSelChanged(bool bSelected); - - // 返回数据点在水平和竖直最大最小值,是数值非POS - double getScaleVL(); - double getScaleVR(); - double getScaleVT(); - double getScaleVB(); - - // 绘制的内容Set Get - virtual void setPen(QPen o); - virtual QPen getPen(); - - virtual void setDot(ZxDot o); - virtual ZxDot getDot(); - - virtual double getDotRadius(void) const; - virtual void setDotRadius(double fRadius); - virtual void setDotStyle(int oStyle); - virtual int getDotStyle(); - virtual QColor getDotColor(void) const; - virtual void setDotColor(QColor color); - virtual void setDotFilling(bool b); - virtual bool getDotFilling(); - - virtual void setDotSel(ZxDot o); //选中状态下的点 - virtual ZxDot getDotSel(); - -signals: - - // 部分关联信号 - void sigNameChanged(QString sName); - void sigColorChanged(QColor clr); - void sigObjSelectionChanged(bool bSelected); - - // 通知数据点改变 - void sigPtsChanged(); - // 通知数据点改变,并告知改变前后的数据点 - void sigPtValuesChanged(QVector& vecOlds, - QVector& vecNews); - - // 当Obj被双击选中时触发 - void sigObjDblCliked(const QPointF& pt); - - // 在外界修改tip - void sigGetObjTip(QString& s); - -public: - - // 击中 - ObjHitOption m_oHitOption; - int m_nHitIndex; //对于点和边界有效 - -protected: - - // 从外界传入,本身不负责创建及释放 - ZxSubAxisX* m_pAxisX; - ZxSubAxisY* m_pAxisY; - - // Tool - ZxObjToolBase* m_pTool; - // View - ZxRenderView* m_pView; - -protected: - - // 名称 - QString m_sName; - - PlotObjectType m_oObjType; - QString m_sObjTag; - - // 组成的点,实际的数值 - QVector m_vecPoints; - - // 内部创建(或外部传入)、本对象进行管理的子对象,如文本显示 - bool m_bShowSubObjs; - - QRectF m_rtBoundVs;//所有点的数值的范围 - - // brother - QVector m_vecBrothers; - double m_fOffsetX; //整体移动时,Brother的偏移量,为了redo/undo - double m_fOffsetY; - - // 为了方便放在父类 - ZxDot m_oDot; - ZxDot m_oDotSel; //选中点的样式 - QPen m_oPen; - - QString m_sAxisObjectNameX; //为了序列化 - QString m_sAxisObjectNameY; - - bool m_bAddMode; //Add Or Del模式,临时变量 - - // 在MoveToPos函数中涉及到哪些点进行了修改,不涉及序列化 - VecInt m_vecIndexesModified; -}; diff --git a/Include/iPlot/iPlotCurveT/Objects/ZxObjLineSpecial.h.bak b/Include/iPlot/iPlotCurveT/Objects/ZxObjLineSpecial.h.bak deleted file mode 100644 index c06d3bc..0000000 --- a/Include/iPlot/iPlotCurveT/Objects/ZxObjLineSpecial.h.bak +++ /dev/null @@ -1,80 +0,0 @@ -#pragma once - -#include "ZxObjLine.h" - -//ZXF2024特征线优化 -class I_PLOTCURVE_T_EXPORT ZxObjLineSpecial : public ZxObjLine -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - - ZxObjLineSpecial(); - ZxObjLineSpecial(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjLineSpecial(); - - virtual void init(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - - // 击中 - virtual bool hitTest(const QPointF& pt); - - // 具体击中实现的函数,单纯击中,不做选项的改变 - // nOption用int是因为Rect类的击中选项不一致 - // nOption为负值,表示未击中,此时返回false - virtual bool _runHitTest(const QPointF& pt, int& nOption, int& nSubIndex); - - // 击中后,ButtonUp后的处理 - // pt1:鼠标Down点,pt2:鼠标Up点 - virtual bool runMove(const QPointF& pt1, const QPointF& pt2); - - // 鼠标移动时,限制斜率得到的新点 - QPointF calFitPoint(const QPointF& ptNew); - - // 封装 - virtual void initTools(); - // 辅助信息 - virtual void initSubObjs(); - - virtual void resetOthers(); - -protected: - - // 设置图元对象的属性标志 - virtual void initFlags(); - -public: - - virtual void paintBack(QPainter* painter, - const ZxPaintParam& param); - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - virtual void onLoadTempl(ZxSerializer* ser); - virtual void onSaveTempl(ZxSerializer* ser); - - virtual void fillPtyPano(IxPtyPano* sheet); - -public: - - //根据两点计算出多个点(斜率为1的最大最小点,与斜率为0的焦点及斜率为0的最大点) - virtual QVector calLinePoints(const QPointF& pt1, - const QPointF& pt0); - - //计算交点(P1和P2是线,P4是水平最后点, p3是交点) - void getInCrossPt(const QPointF& p1, const QPointF& p2, const QPointF& p4, QPointF& pt3); - - - // 特征线斜率 Special line ratio(组合斜率)() - // 斜率 - QPointF getSlopeOnePt() const; //斜率为1 - QPointF getSlopeZeroPt() const; //斜率为0 -}; - - - - diff --git a/Include/iPlot/iPlotCurveT/Objects/ZxObjLineSpecialTool.h.bak b/Include/iPlot/iPlotCurveT/Objects/ZxObjLineSpecialTool.h.bak deleted file mode 100644 index 801fbf5..0000000 --- a/Include/iPlot/iPlotCurveT/Objects/ZxObjLineSpecialTool.h.bak +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "Defines.h" -#include "ZxObjLineTool.h" - -//ZXF2024组合(斜率1和0)特征线工具 -class I_PLOTCURVE_T_EXPORT ZxObjLineSpecialTool : public ZxObjLineTool -{ - Q_OBJECT - -public: - - ZxObjLineSpecialTool(); - //ZxObjLineSlrTool(const ZxObjLineSlrTool& c); - -public: - - virtual void onPaint(QPainter* painter, const ZxPaintParam& param); - -//protected: -// virtual Qt::CursorShape getCursorBy(const int& nOption, -// const int& nSubIndex); - - -}; - - - - diff --git a/Include/iPlot/iPlotCurveT/ZxPlotBase.h b/Include/iPlot/iPlotCurveT/ZxPlotBase.h index f201d92..6cf7154 100644 --- a/Include/iPlot/iPlotCurveT/ZxPlotBase.h +++ b/Include/iPlot/iPlotCurveT/ZxPlotBase.h @@ -57,8 +57,8 @@ protected: public: - static const int AXISHEIGHT = 12; - static const int AXISWIDTH = 12; + //static const int AXISHEIGHT = 12; + //static const int AXISWIDTH = 12; static const int TITLEHEIGHT = 13; static const int NAVIBARHEIGHT = 5; diff --git a/Include/iPlot/iPlotCurveT/ZxSubColorTable.h b/Include/iPlot/iPlotCurveT/ZxSubColorTable.h deleted file mode 100644 index 54db781..0000000 --- a/Include/iPlot/iPlotCurveT/ZxSubColorTable.h +++ /dev/null @@ -1,139 +0,0 @@ -#pragma once -#include -#include -#include -#include -#include -#include -#include "Defines.h" -#include - -#include "ZxDrawHelper.h" - -#include "iPlotCurveT_global.h" - -class ColorNode -{ -public: - ColorNode(float fPos,QColor clrColor) - { - m_fPos = fPos; - m_clrColor = clrColor; - } - - float m_fPos; - QColor m_clrColor; -}; - -class ColorScheme -{ -public: - ColorScheme() - { - m_strName = ""; - m_fValMin = 0.0f; - m_fValMax = 0.0f; - m_vecColors.clear(); - m_vecIntervals.clear(); - } - - QString m_strName; - float m_fValMin; - float m_fValMax; - QVector m_vecColors; - QVector m_vecIntervals; -}; - - -class I_PLOTCURVE_T_EXPORT ZxSubColorTable : public ZxRenderItem -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - enum COLOR_TYPE - { - STEP,GRADIENT,GRAY,ST_PROJECTION - }; - - - static const float COLOR_WIDTH; - -public: - - ZxSubColorTable(); - ZxSubColorTable(const QString& name); - ZxSubColorTable(const ZxSubColorTable & _r); - ~ZxSubColorTable(); - - void init(); - void initGradient(); - - virtual void paintBack(QPainter* painter, const ZxPaintParam& param); - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - virtual void fillPtyPano(IxPtyPano* sheet); - - void drawColorRect(QPainter* painter,QRectF rc); - - void initSystemPalette(); - void getAllPalette(QString strPath, QVector &vecPlates); - QStringList splitString(QString s); - -public: - // 名称 - QString getName() const; - void setName(const QString& sName); - - // 别名 - QString getAlias() const; - void setAlias(QString name); - - // 颜色表的单位 - void setUnit(const QString &strUnit); - QString getUnit() const; - - // 数据最值 - float getMinValue() const; - void setMinValue(float fMin); - float getMaxValue() const; - void setMaxValue(float fMax); - - // 颜色表的类型,梯度,渐变,灰度 - int getColorType() const; - void setColorType(int nType); - - QString getColorTypeSTR() const; - void setColorTypeSTR(QString strTypeName); - - // 根据值得到对应的颜色 - bool getColorForValue(float fValue,QColor &clr); - bool getValueForColor(QColor clr,float &fValue); - - // 根据值得到对应的颜色 - bool getColor(float pos,QColor &clr); - - void setColorGrade(int nColorGrade); - int getColorGrade() const ; - - QVector getColorTable(); - -protected: - - QString m_strName; - QString m_strAlias; - QString m_sUnit; - float m_fMin; - float m_fMax; - - int m_nColorType; - QString m_strColorType; - int m_nColorGrade; //颜色表大小,最大到65536个(真彩) - - QVector m_vecColorNodes; - QVector m_vecColorSchemes; -}; - - - - diff --git a/Include/mAlg/mAlgDefines/iErfcUtils.h b/Include/mAlg/mAlgDefines/iErfcUtils.h index 93f36f2..a285ea3 100644 --- a/Include/mAlg/mAlgDefines/iErfcUtils.h +++ b/Include/mAlg/mAlgDefines/iErfcUtils.h @@ -20,6 +20,7 @@ public: // 方式1:内部编写,试井处理过程中用的基本都是本函数 static double errorf(double x); +#ifdef _SCAN_OLD_CODES_ // 方式2:源自The Art of Scientific Computing第二版、第三版pdf无水印高清版及相应源代码 // 参考:https://blog.csdn.net/xingdu_/article/details/106869318 // 致谢原作者 @@ -29,21 +30,29 @@ public: // 注:由于H变井储一直有问题,所以2025-11-18再次进行更改,代码提供者 Xiehang // 此处,仅仅是测试新的误差函数,在H变井储中是否起作用,为了不影响其它,并未全局替换该误差函数 + // 该函数未启用 static double erfc_b(double x); static double _erfc_b(double z); -#ifdef _SCAN_OLD_CODES_ // 方式3,暂未启用(新,bwp提供) static double erf_new(double x); #endif + // 方式4:20260610 针对H变井储再次进行研究攻关 + // 解决Matlab的erfcx函数进行实现 + // 只有H变井储使用 + static double erfc_x(double x); + public: // 方式1:涉及参数 - static const int len_cof_1 = 28; - static const double cof_arr_1[28]; + static const int len_cof_1 = 6; + static const double cof_arr_1[6]; +#ifdef _SCAN_OLD_CODES_ // 方式2:涉及参数 - static const int len_cof_2 = 6; - static const double cof_arr_2[6]; + static const int len_cof_2 = 28; + static const double cof_arr_2[28]; +#endif + }; diff --git a/Include/mAlg/mAlgDefines/iModelOption.h.bak b/Include/mAlg/mAlgDefines/iModelOption.h.bak deleted file mode 100644 index ff8063c..0000000 --- a/Include/mAlg/mAlgDefines/iModelOption.h.bak +++ /dev/null @@ -1,162 +0,0 @@ -#pragma once - -#include "mAlgDefines.h" -#include "ZxBaseUtil.h" -#include "mAlgDefines_global.h" - -class iModelDesc; -class iModelInfoBase; - -// 模型选项内容 -class M_ALG_DEFINES_EXPORT iModelOption -{ -public: - - iModelOption(); - - void clone(iModelOption* p); //克隆 - - - // 这是对应ListWx各项项 - enum mpDescs - { - // 无标志 - descNone = 0, - - // 井储 - descWbs = 0x00000001, - // 井型 - descWel = 0x00000002, - // 油藏类型 - descRes = 0x00000004, - // 边界 - descBdy = 0x00000008, - - // 其它1 - descOther1 =0x00000010, - // 其它2 - descOther2 =0x00000020, - - // 扩展1 - descExt1 = 0x00000040, - // 扩展2 - descExt2 = 0x00000080, - // 扩展3 - descExt3 = 0x00000100, - // 扩展4 - descExt4 = 0x00000200, - // 扩展5 - descExt5 = 0x00000400, - // 扩展6 - descExt6 = 0x00000800, - - // 待定 - descUnknown = 0x00001000 - }; - - - // 这是对应Checkbox勾选项 - enum mpFlags - { - // 无标志 - flagNone = 0, - - // 启用压力梯度 - flagPressGrad = 0x00000001, - // 动态渗透率 - flagDynamicK = 0x00000002, - // 小信号 - flagSmallSignal = 0x00000004, - // 应力敏感 - flagStressSensitive = 0x00000008, - // 井间干扰 - flagInterference = 0x00000010, - // 压裂井 - flagFractuWell = 0x00000020, - - // 吸附系数 - flagAdsorption = 0x00000040, - // 扩展2 - flagExt2 = 0x00000080, - // 扩展3 - flagExt3 = 0x00000100, - // 扩展4 - flagExt4 = 0x00000200, - // 扩展5 - flagExt5 = 0x00000400, - // 扩展6 - flagExt6 = 0x00000800, - - // 待定 - flagUnknown = 0x00001000 - }; - -public: - - // 标识开启(对应界面上√) - bool isFlagOpen(mpFlags flags) const; - void setFlagOpen(mpFlags flags, bool bOpen); - void setFlagOpen(QString key, bool bOpen); - - // 设置模型选项,如井储、井型等 - void setMpDesc(QString key, QString sCode, QString sTag = ""); - void setMpDesc(mpDescs descs, QString sCode, QString sTag = ""); - - // 为了方便调用增加 - m_Assist_Type getAssistType(); - QString getTagWbs(); - QString getTagWel(); - QString getTagRes(); - QString getTagBdy(); - QString getTagOfTypeId(int id, const QVector* pVec); - - //扩展ID对XA的接口 - QString getIDWbs(); - QString getIDWel(); - QString getIDRes(); - QString getIDBdy(); - QString getIDOfTypeId(int id, const QVector* pVec); - - // 是否外部模型 - AlgModelSrc getAMS(); -// bool isCustomModel(); -// bool isWxdModel(); - - QString sumModelInfos(); - void parseModelInfos(QString s); - - // 每次从界面重新处理前重置一下 - void reset(); - -public: - - // 根据文字获取 - iModelDesc* matchModelDesc(); - bool checkModelDesc(bool loggedIfError = false); - iModelDesc* getModelDesc(); - QString getOptionStr(); //当前选项描述,为啥弹出日志 - - static WellFluidType convertFluidType(QString sTag); - static ModelSeriesType convertModelSeries(QString sTag); - -protected: - - mpFlags m_oFlags; - - // 不涉及序列化,该Option对应的ModelDesc - // 如果为空,则表示该Option为不支持的算法模型 - iModelDesc* m_pModelDesc; - -public: - - // 对应四个选项,井储、井模型、油藏模型、边界类型 - m_Wbs_Type m_oWbsType; - m_Wel_Type m_oWelType; - m_Res_Type m_oResType; - m_Bdy_Type m_oBdyType; - - ModelSeriesType m_oMst; //大的分类信息,这是软件启动时导航的选项 - WellFluidType m_oWft; //井类别,指:油气水井 - - QString m_sModelCode; //这是模型统一编码 -}; diff --git a/Include/mAlg/mAlgDefines/iParaManager.h.bak b/Include/mAlg/mAlgDefines/iParaManager.h.bak deleted file mode 100644 index 98f9218..0000000 --- a/Include/mAlg/mAlgDefines/iParaManager.h.bak +++ /dev/null @@ -1,161 +0,0 @@ -#pragma once - -#include "Defines.h" -#include "mAlgDefines.h" -#include "mAlgDefines_global.h" -#include "mAlgMatrix.h" - -class iModelOption; -class iDynSkinInfo; - -// 参数管理类 -class M_ALG_DEFINES_EXPORT iParaManager -{ -public: - - iParaManager(); - ~iParaManager(); - -public: - - // 井型/油藏类型/边界类型/Assist - void setModelOption(iModelOption* pModelOption); - iModelOption* getModelOption(); - - // 参数传递 - void setParaMap(QMap& map); - - void setParamUnitMap(QMap& map); - bool getParamValueUnit(QString sPara, QString& sUnit); - - void setParaValue(QString sPara, double d); - bool getParaValue(QString sPara , double& d); - bool getParaValues(QStringList listParas, QVector& vecValue); - - // 是否包括某个参数的数值 - bool isParaContained(QString sPara); - - // 参数特殊处理 - virtual void adjustParaName(QString& sPara); - virtual void adjustParaName_K(QString& sPara); - virtual void adjustParaValue(QString sPara, double& d); //取完参数之后,允许再次调整 - - // 一维数组 - bool getParaArrValue(QString sPara, VecDouble& vec); - void setParaArrValue(QString sPara, VecDouble vec); - - // 二维数组 - bool getParaArrArrValue(QString sPara, VVecDouble& vvec); - void setParaArrArrValue(QString sPara, VVecDouble vvec); - - // 矩阵 - bool getParaMatrixValue(QString sPara, WtaiMatrix& mat); - void setParaMatrixValue(QString sPara, WtaiMatrix mat); - bool getParaVecMatrixValue(QString sPara, QVector& vecMat); - void setParaVecMatrixValue(QString sPara, QVector vecMat); - - // EndQ - void setEndQ(double dQ); - double getEndQ(); - - // 所有流量数值 - void setAllQs(VecDouble& vec); - - //清空数据(每运行一次都清空数据)主要是清空数组数据 - void clearArrMap(); - -public: - - // 计算CD入口函数 - virtual bool calCD(); - virtual bool calCDCommon(double& A); - bool calCDDualPro(double& A); - bool calCDDualPer(double& A); - bool calCDMedComp(double& A); - bool calCDTLayCrosComp(double& A); - bool calCDTHmgenWt(double& A); - - // 参数计算入口函数 - virtual bool calParam(); - - virtual bool calTDIM(); - virtual bool calTDIM_Wxd(); - virtual bool calPDIM(); - virtual bool calPDIM_Wxd(); - virtual bool calRcIM(); - virtual bool calRc(); - - // 普通井的量纲转换需要变化 - virtual bool calTDIMCommon(double& A); - bool calTDIMDualPro(double& A); - bool calTDIMDualPer(double& A); - bool calTDIMMedComp(double& A); - bool calTDIMTLayCrosComp(double& A); - bool calTDIMTHmgenWt(double& A); - - virtual bool calPDIMCommon(double& A); - bool calPDIMDualPer(double& A); - bool calPDIMMedComp(double& A); - bool calPDIMTLayCrosComp(double& A); - bool calPHYDIM(double& A); - - // 数值解 - bool calyD(); - - bool findParam(QString sPara, double &d); - -public: - - // 是否启用混合黏度 - void setEnableMux(bool b); - bool getEnableMux(); - - // 允许在计算之后,对结果进行个别计算或调整 - virtual void adjustParaResults(); - - // 增加对于变表皮的处理 - void setDynSkinInfo(iDynSkinInfo* p); - - // 当前是否正在获取动态的表皮模式(开关) - // 只有在计算历史压力曲线时,才设置为true - void setHistRunning(bool b); - // 当前操作的流动段索引,为了获取前一流量 - void setHistSegIndex(int n); - -#ifdef QT_DEBUG - void assertPara(QString sPara, bool bSetValue); -#endif - - QString getLastError(); - void resetError(); - -public: - - // 单个参数map - QMap m_mapParas; - QMap m_mapParasUnit; - - // 参数对应数组 - QMap m_mapArrParas; - - // 二维数组 - QMap m_mapArrArrParas; - - QMapm_mapMatrixParas; - QMap >m_mapVecMatrixParas; - - //黏度是否启用混合黏度 - bool m_bEnableMux; - - double m_dEndQ; - -protected: - - iModelOption* m_pModelOption; - - // 变表皮 - iDynSkinInfo* m_pDynSkinInfo; - - // 错误信息 - QString m_sError; -}; diff --git a/Include/mAlg/mAlgDefines/mAlgDefines.h.bak b/Include/mAlg/mAlgDefines/mAlgDefines.h.bak deleted file mode 100644 index f2f0853..0000000 --- a/Include/mAlg/mAlgDefines/mAlgDefines.h.bak +++ /dev/null @@ -1,436 +0,0 @@ -#pragma once - -#include - -// 对于一些原先代码,尽管不再启用,但有时候需要看一下,即可放开该定义方便查看 -//#define _SCAN_OLD_CODE_ 1 - -#define _isLimitedDouble zxMathBase::isLimitedValue - -// 对应四个选项,井储、井模型、油藏模型、边界类型 -#define _oWbsType m_pModelOption->m_oWbsType -#define _oWelType m_pModelOption->m_oWelType -#define _oResType m_pModelOption->m_oResType -#define _oBdyType m_pModelOption->m_oBdyType -#define _oWft m_pModelOption->m_oWft -#define _oMst m_pModelOption->m_oMst -#define _oAssistType m_pModelOption->getAssistType() - -// 大的模型分类,导航中选定 -enum ModelSeriesType -{ - MST_LP = 0, //低渗透 - MST_HW, //水平井 - MST_SR, //特殊油藏 - MST_PF, //聚合物 -// MST_XD, //wxd -// MST_XA, //XA - MST_UNKNOWN -}; - -// 特征点/线 -enum eCharactType -{ - CT_POINT = 0, //特征线类型 - CT_LINE, //特征点类型 - CT_UNKNOW -}; - -// 井流体性质,油气水井 -enum WellFluidType -{ - WFT_NULL = 0, //什么都没有选,这个时候不能下一步 - WFT_Oil = 1, //油井 或油相 - WFT_Gas = 2, //气井 或气相 - WFT_Water = 4, //水井 或水相 - WFT_Condense = 8, //凝析油气 - WFT_PF = 16, //聚合物 - WFT_CO2 = 32, //CO2 - WFT_Oil_Gas = 3, //1+2 - WFT_Oil_Water = 5, //1+4 - WFT_Gas_Water = 6, //2+4 - WFT_Condense_Water =12, //8+4 - WTF_Oil_Gas_Water = 7, //1+2+4 - WTF_PF_Water = 20, //16+4 - WTF_Co2_Water = 36, //32+4 - WFT_UNKNOWN -}; -#define PvtFluidType WellFluidType - -// Pvt流体大的分类 -enum PvtFluidClass -{ - PFC_Common = 0, //常规 - PFC_Special, //特殊 - PFC_StateEquation, //状态方程 - PFC_UNKNOWN -}; - -// 井型,直井水平井等 -enum WellOrientType -{ - WOT_Vert = 0, //直井 - WOT_Hori, //水平井 - WOT_UNKNOWN -}; - -enum m_Wbs_Type -{ - WBST_Fixed = 0, //定井储 - WBST_None = 1, //无井储 - WBST_Fair = 2, //变井储(Fair) - WBST_Hegeman = 3, //变井储(Hegeman) - WBST_SpiveyPacker = 4, //变井储(Spivey Packer) - WBST_SpiveyFissures = 5 //变井储(Spivey Fissures) -}; - -enum m_Wel_Type -{ - WT_V = 100, //直井 - WT_PCL = 101, //直井(部分射开) - WT_PUF = 102, //压裂直井(均匀流量) - WT_PCI = 103, //压裂直井(无限导流) - WT_PCFL = 104, //压裂直井(有限导流)(三线性流) - WT_PCFR = 105, //压裂直井(有限导流)(拟径向流) - WT_PCFF = 106, //压裂直井(有限导流)(快) - WT_PC2 = 107, //压裂井——两段产液 - WT_PC3 = 108, //压裂井——三段产液 - WT_PCF2 = 109, //压裂直井(有限导流)-两段 - - WT_H = 200, //水平井 - WT_HPOSSRC = 201, //水平井点源模型 - WT_HSL2 = 202, //水平井两段产液 - WT_HSL2BotWater = 203, //水平井两段产液(底水) - WT_HSL3 = 204, //水平井三段产液 - WT_HSL3BotWater = 205, //水平井三段产液(底水) - WT_PFCM = 206, //水平井多级压裂 - WT_PICM = 207, //水平井多级裂分段产液 - - WT_DEV = 300, //斜井 - - //王晓东教授 - WT_WXD_PCL = 600, //直接有限导流4 - WT_WXD_V = 601, //普通直井 - - //西安林加恩教授 - WT_LJE_HMGEN = 700, //西安测试 - - WT_OTHER_GRID = 998, //网格划分,权宜之计 - WT_NONE = 999 -}; - -enum m_Res_Type -{ - // 常规 - - RT_HMGE = 100, //均质油藏 - RT_HMGE_EX = 101, //均质油藏(扩展),baiwp算法 - RT_DUALPRO_PS = 102, //双重孔隙——拟稳态 - RT_DUALPRO_PLA = 103, //双重孔隙——不稳态板状介质 - RT_DUALPRO_BAL = 104, //双重孔隙——不稳态球形介质 - RT_DUALPRO_CYL = 105, //双重孔隙——不稳态圆柱形介质 - RT_DUALPER = 106, //双重渗透 - RT_COMP2 = 107, //双区复合 - RT_COMP3 = 108, //三区复合 - - RT_MedComp12 = 200, //多重介质径向复合(内1外2) - RT_MedComp13 = 201, //多重介质径向复合(内1外3) - RT_MedComp22 = 202, //多重介质径向复合(内2外2) - RT_MedComp23 = 203, //多重介质径向复合(内2外3) - RT_MedComp33 = 204, //多重介质径向复合(内3外3) - RT_TLC_None = 205, //双层无越流 - RT_TLC_NoneEx = 206, //双层无越流(封闭) - RT_TLC_Common = 207, //双层越流 - RT_TLC_Comp = 208, //双层越流径向复合 - RT_MULTILAYER_P = 209, //双层压裂 - RT_HMGENWt = 210, //均质油藏(水井) - - RT_LINEAR_COMP = 211, //线性复合 - - - // 水平井 - -// RT_HMGE = 100, //均质油藏,注释表示前面已经定义,下同 -// RT_DUALPRO_PS = 102, //双重孔隙——拟稳态 - RT_DUALPRO_POSSRC = 300, //双重孔隙(点源) -// RT_DUALPER = 106, //双重渗透 -// RT_COMP2 = 107, //双区复合 -// RT_COMP3 = 108, //三区复合 -// RT_LINEAR_COMP = 211, //线性复合 - - - // 特殊油气藏 - -// RT_HMGE = 100, //均质油藏,注释表示前面已经定义,下同 -// RT_HMGE_EX = 101, //均质油藏(扩展),baiwp算法 -// RT_DUALPRO_PS = 102, //双重孔隙——拟稳态 -// RT_COMP2 = 107, //双区复合 -// RT_COMP3 = 108, //三区复合 - RT_SR_COMP = 350, //径向复合,就是双区 - - // 其他废弃 - -// RT_SR_HMGE, //均质油藏 -// RT_DUALPRO, //双重孔隙 就是拟稳态 - RT_SR_CONDENSE_COMP2 = 398, //凝析气两区复合 - RT_SR_CONDENSE_COMP3 = 399, //凝析气三区复合 - - // 聚合物(后续进行考虑) - - RT_HMGEN = 400, //均质油藏(非牛顿) - RT_COMP2ONN = 401, //双区复合(非牛顿-牛顿) - RT_COMP2NON = 402, //双区复合(牛顿-非牛顿) - RT_FLOW2 = 403, //双层窜流 - RT_FLOW3 = 404, //三层窜流 - RT_FLOW2COM2ONN = 405, //双层窜流复合(非牛顿-牛顿) - RT_FLOW2COM2NON = 406, //双层窜流复合(牛顿-非牛顿) - RT_BIGPORE = 407, //大孔道油藏 - RT_INTERFERENCE = 408, //井间干扰,该项比较特殊,需要根据checkbox进行动态调整 - RT_FRACT = 409, // - - //王晓东教授 - RT_WXD_LINEPS = 600, //垂直裂缝线源解 - RT_WXD_HMGE = 601, //普通直井 - - //西安林加恩教授 - RT_LJE_HMGEN = 700, //西安测试 - - RT_NONE = 999 -}; - -enum m_Bdy_Type -{ - BT_NONE = 0, //无限大 - BT_ONE = 1, //一条边界 - BT_PARALL = 2, //平行边界 - BT_TCROSS = 3, //三条垂直边界 - BT_CROSS = 4, //交叉边界 - BT_Circle = 5, //圆形边界 - BT_RECT = 6 //矩形边界 - // BT_BotWater //底水边界 -}; - -enum m_Assist_Type -{ - ASST_PG = 0, //启动压力梯度 - ASST_DK, //动态渗透率 - ASST_SS, //小信号 - ASST_AP, //吸附系数 - //临时 - ASST_INTER, //考虑井间干扰 - ASST_FRACT, //考虑压裂井 - // SR - ASST_SSST, //StressSensitive应力敏感 - ASST_NONE -}; - -//模型源码来源 -enum AlgModelSrc -{ - AMS_Inner = 0, //内部,石大北京程时清教授团队 - AMS_Wxd = 600, //王晓东教授团队:(井型 600 开始 或者 储层类型 600开始) - AMS_Lje = 700, //西安林教授团队:(井型 700 开始 或者 储层类型 700开始) - AMS_Ludt = 800, //科大卢老师团队:(井型 800 开始 或者 储层类型 800开始) - AMS_Lidl = 900, //合肥工大李老师团队:(井型 900 开始 或者 储层类型 900开始) - - AMS_UNKNOWN -}; - - -//是否第一次运行(这个参数的主要意义是一些基础参数 -//再运行的过程中提取出来,下次比如拟合的过程中不需要重复的去计算) -enum AlgCalMode -{ - ACM_FitModel = 0, //模型生成 - ACM_FitAuto, //自动拟合 - ACM_FitPlate, //图版拟合 - ACM_FitModelAfterAuto, //自动拟合之后再次模型生成 - - ACM_UNKNOWN -}; - - -enum Fit_Type -{ - FT_Model = 0, //常规生成模型,其实不属于拟合 - FT_Auto, //自动拟合 - FT_Plate, //图版拟合 - FT_Anal, //试井设计 - FT_Unknown -}; - -enum Fit_Method -{ - FM_GaussNewton = 0, //高斯牛顿 - FM_GaussNewtonEx, //归一化高斯牛顿 - FM_Genetic, //遗传算法 - FM_ParticleSwarm, //粒子群算法(Particle Swarm Optimization) - FM_Unknown -}; - -// 结构体,对应拟合参数的设置 -struct zxFitParaInfo -{ - QString fpiName; //拟合参数名称,英文标识,如"S" - double fpiValue;//参数值 - double fpiMax; //参数最大值 - double fpiMin; //参数最小值 - QString fpiUnit; //参数单位 - bool fpiChecked;//参数是否启用拟合(即前面是否打上√) -}; - -// 井型,直井水平井等 -#define s_Wot_Vert QStringCH("直井") -#define s_Wot_Hori QStringCH("水平井") - -//压力导数曲线(实际) -#define s_Souce_Curve "Souce" -#define s_Deriv_Curve "Deriv" -#define s_SmallSig_Curve "SmallSig" -#define s_Ppd_Curve "Ppd" -#define s_Deriv_NoOverlay_Curve "NoOverlay_Deriv" - -//压力导数曲线(理论) -#define s_TheorySouce_Curve "TheorySouce" -#define s_TheoryDeriv_Curve "TheoryDeriv" //带叠加原理 -#define s_TheorySmallSig_Curve "TheorySmallSig" -#define s_TheoryPpd_Curve "TheoryPpd" -#define s_TheoryDeriv_NoOverlay_Curve "NoOverlay_TheoryDeriv" //无叠加原理 - -//历史曲线 -#define s_HistorySouce_CurveP "HistorySouce" -#define s_HistoryFit_CurveP "HistoryFit" -//历史曲线增加流量显示 -#define s_HistorySouce_CurveF "HistorySouceF" - -// -#define s_SemiSouce_Curve "SemiSouce" -#define s_SemiTheorySouce_Curve "SemiTheorySouce" - -#define s_Ipr_Source "IprSource" -#define s_Ipr_Fit "IprFit" -#define s_Ipr_FitEx "IprFitEx" -#define s_Ipr_Result "IprResult" -#define s_Ipr_ResultEx "IprResultEx" - -#define s_Tag_HomoModel QStringCH("均质油藏") -#define s_Tag_HomoModelEx QStringCH("均质油藏(扩展)") -#define s_Tag_DualPorModel QStringCH("双重孔隙") -#define s_Tag_DualPercModel QStringCH("双重渗透") -#define s_Tag_TwoCompoModel QStringCH("双区复合") -#define s_Tag_ThreeCompoModel QStringCH("三区复合") -//*********************************7.12改动LDY********************************** -#define s_Tag_UniFracModel QStringCH("压裂直井(均匀流量)") -#define s_Tag_IniFracModel QStringCH("压裂直井(无限导流)") -//#define s_Tag_HorizonModel QStringCH("水平井") -#define s_Tag_FinFracModel QStringCH("压裂直井(有限导流)") -//*********************************7.12改动完毕********************************** - -#define s_Tag_NoBoundary QStringCH("无限大") -#define s_Tag_OneBoundary QStringCH("单一边界") -#define s_Tag_ParallBoundary QStringCH("平行边界") -#define s_Tag_TCrossBoundary QStringCH("U型边界") -#define s_Tag_CrossBoundary QStringCH("交叉边界") -#define s_Tag_CircularCompoModel QStringCH("圆形边界") -#define s_Tag_RectCompoModel QStringCH("矩形边界") - -//*********************************7.12改动LDY********************************** -#define s_Tag_NoCharatPoint QStringCH("-------") -//公共部分 -#define s_Tag_WellStoragePoint QStringCH("井储点") -#define s_Tag_SpikesPoint QStringCH("峰值点") -#define s_Tag_RadialFlowPoint QStringCH("径向流点") -//复合油藏 -#define s_Tag_CompoPoint QStringCH("复合油藏点") -//压裂井 -#define s_Tag_LinearFlow1hPoint QStringCH("线性流1h点") -#define s_Tag_LinearRadialPoint QStringCH("线性流与径向流交点") -#define s_Tag_LinearBiRadialPoint QStringCH("线性流与双径向流交点") -#define s_Tag_RadialBiRadialPoint QStringCH("径向流与双径向流交点") - -#define s_Tag_BiLinearFlow1hPoint QStringCH("双线性流1h点") -#define s_Tag_LinearBiLinearPoint QStringCH("线性流与双线性流交点") -#define s_Tag_RadialBiLinearPoint QStringCH("径向流与双线性流交点") - -//双重介质 -#define s_Tag_FirRadialEndPoint QStringCH("第一径向流结束点") -#define s_Tag_SecRadialStarPoint QStringCH("第二径向流开始点") -#define s_Tag_DualMinPoint QStringCH("双重介质最低点") -//边界 -#define s_Tag_BoundClosePoint QStringCH("封闭边界流点") -#define s_Tag_BoundSupplyPoint QStringCH("定压边界流点") -//水平井 -#define s_Tag_VerRadialPoint QStringCH("垂向径向流点") -#define s_Tag_HoriLinearPoint QStringCH("水平线性流点") -#define s_Tag_HoriRadialPoint QStringCH("水平径向流点") - -//*********************************7.12改动完毕********************************** - -#define s_Tag_OneTypical QStringCH("第一特征线") -#define s_Tag_TwoTypical QStringCH("第二特征线") - - -//特征值方法 - -//井筒储集系数 -#define s_Tag_WellStorage_C QStringCH("井储阶段法") - -//地层渗透率 -//直井 -#define s_Tag_HorRadial_K QStringCH("径向流法") -#define s_Tag_PeakPoint_K QStringCH("峰值法") -#define s_Tag_PeakAndHR_K QStringCH("峰值-径向流法") -#define s_Tag_UniFracLR_K QStringCH("线性流-径向流法") -#define s_Tag_InfFracLBR_K QStringCH("线性流-双径向流法") -#define s_Tag_InfFracRBR_K QStringCH("径向流-双径向流法") -#define s_Tag_FinFracLBL_K QStringCH("线性流-双线性流法") -//水平井 -#define s_Tag_HoriWell_Kv QStringCH("线-垂径法") -#define s_Tag_HoriWell_Ky QStringCH("水平线性流法") -#define s_Tag_HoriWell_Kx QStringCH("线-水径法") -#define s_Tag_HoriWell_Kh QStringCH("水平径向流法") - -//表皮系数 -#define s_Tag_WellBorePeakx_S QStringCH("横坐标法") -#define s_Tag_WellBorePeaky_S QStringCH("纵坐标法") - -//边界尺寸 -#define s_Tag_OneBoundClose_L1 QStringCH("封闭边界流法") -#define s_Tag_OneBoundSupply_L1 QStringCH("定压边界流法") - -//流度比 -#define s_Tag_MobilityRatio_M QStringCH("第二径向流法") - -//复合半径 -#define s_Tag_InnerRaDius_Rc QStringCH("第二径向流法") - -//裂缝半长 -#define s_Tag_UniFracR_Xf QStringCH("径向流法") -#define s_Tag_UniFracLR_Xf QStringCH("线性流-径向流法") -#define s_Tag_InfFracLBR_Xf QStringCH("线性流-双径向流法") -#define s_Tag_InfFracRBR_Xf QStringCH("径向流-双径向流法") -#define s_Tag_FinFracLBL_Xf QStringCH("线性流-双线性流法") - -//裂缝导流能力 -#define s_Tag_FinFracBL_Fc QStringCH("双线性流法") -#define s_Tag_FinFracLBL_Fc QStringCH("线性流-双线性流法") -#define s_Tag_FinFracRBL_Fc QStringCH("径向流-双线性流法") - -//储容比 -#define s_Tag_DualPorMinR_Om QStringCH("径向流-最低法") -#define s_Tag_DualPorMinR1_Om QStringCH("第一最低法") -#define s_Tag_DualPorMinR2_Om QStringCH("第二最低法") - -//窜流系数 -#define s_Tag_DualPorMin_Lar QStringCH("最低法") -#define s_Tag_DualPorR1_Lar QStringCH("第一最低法") -#define s_Tag_DualPorR2_Lar QStringCH("第二最低法") -#define s_Tag_DualPorOmMin_Lar QStringCH("最低-储容比法") - - -#define s_IprPlot_Source "IprSourcePlot" -#define s_IprPlot_Result "IprResultPlot" - -//边界类型 -#define s_Tag_BdyType_CloseB QStringCH("封闭") -#define s_Tag_BdyType_FixP QStringCH("定压") diff --git a/Include/mAlg/mAlgPseudo/iAlgPseuBase.h b/Include/mAlg/mAlgPseudo/iAlgPseuBase.h deleted file mode 100644 index 6d84aa3..0000000 --- a/Include/mAlg/mAlgPseudo/iAlgPseuBase.h +++ /dev/null @@ -1,46 +0,0 @@ -#pragma once - -#include "Defines.h" -#include "mAlgPseudo_global.h" -#include "mAlgDefines.h" -#include "mAlgMatrix.h" - -// 拟压力相关的通用函数类 -class M_ALGPSEUDO_EXPORT iAlgPseuBase -{ -public: - iAlgPseuBase(); - - // 当前是否采用三区模式计算拟压力 - static void setPseuMode(int n); - static int getPseuMode(); - - // 主调用函数,内部自动区分压力还是拟压力 - static bool calP(double ps, double &p, int which = -1); - static bool calPS(double p, double &ps, int which = -1); - - // 计算“x--->y”的回归曲线方程系数 - static bool _fitXtoY(VecDouble vecXs, VecDouble vecYs, VecDouble &vecCoefs, bool isZero = true); - // 计算“y--->x”的回归曲线方程系数(反推) - static bool _fitYtoX(VecDouble vecXs, VecDouble vecYs, VecDouble &vecCoefs, bool isZero = false); - // 计算相关性系数 - // vecXs是横坐标,vecYs为纵坐标,vecCoefs为系数 - static bool _calR2(VecDouble vecXs, VecDouble vecYs, VecDouble vecCoefs, double &R2); - - // 多项式转换 - static bool _calMultiPolyX(double x, double &y, VecDouble vecCoefs); - -private: - - // 当前是否采用三区模式计算拟压力 - // 0:常规、1:三区拟压力(白)、2:组分三区拟压力(徐) - static int m_nPseuMode; -}; - - - - - - - - diff --git a/Include/mAlg/mAlgPseudo/iAlgPseuCal.h b/Include/mAlg/mAlgPseudo/iAlgPseuCal.h deleted file mode 100644 index 0c0a718..0000000 --- a/Include/mAlg/mAlgPseudo/iAlgPseuCal.h +++ /dev/null @@ -1,71 +0,0 @@ -#pragma once - -#include "Defines.h" -#include "mAlgPseudo_global.h" - -// 拟压力计算载体,单例模式,在模型处理解释过程调用 -class M_ALGPSEUDO_EXPORT iAlgPseuCal -{ -public: - iAlgPseuCal(); - - /// @brief 计算拟压力相关 - /// @param vvec长度为4,对应四列数据 - /// @note VecDouble vecP = vvec[0] - /// VecDouble vecPs = vvec[1] - /// VecDouble vecZg = vvec[2] - /// VecDouble vecMug = vvec[3] - static bool initPs(VVecDouble vvec); - - // 系统内部自动选用不同的方法 - static bool calP(double ps, double &p, int which = -1); - static bool calPS(double p, double &ps, int which = -1); - -private: - - /////////////////////////////////////////////////////////////////////////////////////////// - // 拟合公式 - // 计算“压力->拟压力”的回归曲线方程系数 - static bool fitPtoPS(bool isZero = true); - // 计算“拟压力->压力”的回归曲线方程系数 - static bool fitPStoP(bool isZero = false); - /////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - // 回归曲线法 - // 压力->拟压力,精度比湛江方法高 - static bool pToPs_Cv(double p, double &ps); - // 拟压力->压力,精度比湛江方法低,暂未调用 - static bool psToP_Cv(double ps, double &p); - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - // 湛江方法 - // 压力->拟压力,精度不如回归曲线法,暂未调用 - //static bool pToPs_Zj(double p, double &ps); - // 拟压力->压力,精度好于回归曲线法 - static bool psToP_Zj(double ps, double &p); - //////////////////////////////////////////////////////////////////////////////// - -private: - - // 用压力算拟压力的系数 - static VecDouble m_vecCoefsPtoPS; - - // 用拟压力算压力的系数 - static VecDouble m_vecCoefsPStoP; - - // job里的三组数据 - static VecDouble m_vecP; - static VecDouble m_vecPs; - static VecDouble m_vecZg; - static VecDouble m_vecMug; -}; - - - - - - - - diff --git a/Include/mAlg/mAlgPseudo/iAlgPseuCal3.h b/Include/mAlg/mAlgPseudo/iAlgPseuCal3.h deleted file mode 100644 index dfa7c7a..0000000 --- a/Include/mAlg/mAlgPseudo/iAlgPseuCal3.h +++ /dev/null @@ -1,83 +0,0 @@ -#pragma once - -#include "Defines.h" -#include "mAlgPseudo_global.h" - -class iPseudo3Info; -class zxAlgRegress; - -// 三区拟压力计算载体,单例模式,在模型处理解释过程调用 -class M_ALGPSEUDO_EXPORT iAlgPseuCal3 -{ -public: - - iAlgPseuCal3(); - - static bool initPs(const VVecDouble& vvec, \ - const QMap* pMap1, \ - const QMap* pMap2); - - // 系统内部自动选用不同的方法 - static bool calP(double ps, double &p, int which = -1); - static bool calPS(double p, double &ps, int which = -1); - -private: - - /////////////////////////////////////////////////////////////////////////////////////////// - // 拟合公式 - // 计算“压力->拟压力”的回归曲线方程系数 -// static bool fitPtoPS(bool isZero = true); -// // 计算“拟压力->压力”的回归曲线方程系数 - static bool fitPStoP(bool isZero = false); - /////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - - // 压力->拟压力,三段各自的拟合函数 - static bool pToPs_Ps3Fitting(double p, double &ps); - // 拟压力->压力,三段各自的反推函数 - static bool psToP_Ps3Fitting(double ps, double &p); - - // 压力->拟压力,借助三区计算方法来计算(载体),但是这个速度太慢,而且异常太多,主要是积分/0,暂不启用 -// static bool pToPs_Ps3Integral(double p, double &ps); -// // 压力->拟压力,精度比湛江方法高,临时采用 -// static bool pToPs_Cv(double p, double &ps); -// // 拟压力->压力,精度比湛江方法低,但对于三区来讲,没法反推,只能将就使用 - //static bool psToP_Cv(double ps, double &p); - - - // 20220317 增加新的方式,直接根据数据进行判断,看谁离得最近,则选取谁 - static bool pToPs_Simple(double p, double &ps); - static bool psToP_Simple(double ps, double &p); - static bool _simple_find_xy(VecDouble* pVecX, VecDouble* pVecY, double x, double &y); - static double _linear_value_at(double x, double x1, double x2, double y1, double y2); - - //////////////////////////////////////////////////////////////////////////////// - -private: - static QMap m_mapPsInfos; - static QMap m_mapOthers; - - // 用压力算拟压力的系数 - static VecDouble m_vecCoefsPtoPS; - - // 用拟压力算压力的系数 - static VecDouble m_vecCoefsPStoP; - - // job里的三组数据 - static VecDouble m_vecP; - static VecDouble m_vecPs; - - // 这是为了方便调用,加快速度 - static QMap m_mapAlgs; - static double m_dPP; - static double m_dPD; -}; - - - - - - - - diff --git a/Include/mAlg/mAlgPseudo/iAlgPseuCalC.h b/Include/mAlg/mAlgPseudo/iAlgPseuCalC.h deleted file mode 100644 index ac56664..0000000 --- a/Include/mAlg/mAlgPseudo/iAlgPseuCalC.h +++ /dev/null @@ -1,75 +0,0 @@ -#pragma once - -#include "Defines.h" -#include "mAlgPseudo_global.h" - -class iPseudoCInfo; -class zxAlgRegress; - -// 三区拟压力计算载体,单例模式,在模型处理解释过程调用 -class M_ALGPSEUDO_EXPORT iAlgPseuCalC -{ -public: - - iAlgPseuCalC(); - - static bool initPs(const VVecDouble& vvec, \ - const QMap* pMap1, \ - const QMap* pMap2); - - // 系统内部自动选用不同的方法 - static bool calP(double ps, double &p, int which = -1); - static bool calPS(double p, double &ps, int which = -1); - -private: - - /////////////////////////////////////////////////////////////////////////////////////////// - // 拟合公式 - // 计算“压力->拟压力”的回归曲线方程系数 -// static bool fitPtoPS(bool isZero = true); -// // 计算“拟压力->压力”的回归曲线方程系数 - static bool fitPStoP(bool isZero = false); - /////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - - // 压力->拟压力 - static bool pToPs_PsCFitting(double p, double &ps); - // 拟压力->压力 - static bool psToP_PsCFitting(double ps, double &p); - - // 20220317 增加新的方式,直接根据数据进行判断,看谁离得最近,则选取谁 - static bool pToPs_Simple(double p, double &ps); - static bool psToP_Simple(double ps, double &p); - static bool _simple_find_xy(VecDouble* pVecX, VecDouble* pVecY, double x, double &y); - static double _linear_value_at(double x, double x1, double x2, double y1, double y2); - - //////////////////////////////////////////////////////////////////////////////// - -private: - static QMap m_mapPsInfos; - static QMap m_mapOthers; - - // 用压力算拟压力的系数 - static VecDouble m_vecCoefsPtoPS; - - // 用拟压力算压力的系数 - static VecDouble m_vecCoefsPStoP; - - // job里的三组数据 - static VecDouble m_vecP; - static VecDouble m_vecPs; - - // 这是为了方便调用,加快速度 - static QMap m_mapAlgs; - static double m_dPP; - static double m_dPD; -}; - - - - - - - - diff --git a/Include/mAlg/mAlgPseudo/iPseudo3Cal.h b/Include/mAlg/mAlgPseudo/iPseudo3Cal.h deleted file mode 100644 index 17e40d3..0000000 --- a/Include/mAlg/mAlgPseudo/iPseudo3Cal.h +++ /dev/null @@ -1,72 +0,0 @@ -#pragma once - -#include "Defines.h" -#include "mAlgPseudo_global.h" - -class iPseudo3Info; - -// 三区拟压力计算过程实现 -class M_ALGPSEUDO_EXPORT iPseudo3Cal : public QObject -{ - Q_OBJECT - -public: - - /// @param mapPsInfos,拟合公式信息体(输入) - /// @param mapOthers,其它参数,如GOR等(输入) - explicit iPseudo3Cal(QMap& mapPsInfos, \ - QMap& mapOthers/*, \ - bool bModelMode = false*/); - ~iPseudo3Cal(); - - /// @brief 最终的计算函数 - /// @param vecP,压力(输入) - /// @param vecPs,三区拟压力(输出) - bool calPseudo3(VecDouble& vecP, VecDouble& vecPs); - - /// @brief 最终的计算函数 - /// @param fP,压力(输入) - /// @param fPs,三区拟压力(输出) - bool calPseudo3(double fP, double& fPs); - -// /// @brief 计算函数,这是在处理解释过程中的调用 -// /// @param p,压力(输入) -// /// @param ps,三区拟压力(输出) -// bool pToPs_Ps3Fitting(double p, double &ps); - -private: - - // 基本拟合公式 - void parseParas(QMap& mapOthers); - - // 先根据p计算各个拟合数据 - bool calBaseFitRs(double fP, QMap& map); - - // 积分 - double integral(double min, double max, int which, QMap& map, int nLoop = 1000); - - // 1-2-3区拟压力计算 - double calPsByOne(QMap& map); - double calPsByTwo(QMap& map); - double calPsByThree(QMap& map); - - // 最后的处理解释过程中应用,是分段还是整体 -// void parseParas(QMap& mapOthers); - -signals: - -private: - - QMap m_mapPsInfos; - - double m_dGOR;//用户输入的GOR数值 - double m_dPP;//临界流动压力pp(目前为用户输入,后续改进算法可自动计算) - double m_dPD;// 露点压力pd(用户输入) - double m_dPi;//原始地层压力pi(用户输入) - - double m_dA; - double m_dKrgMax; - -// bool m_bModelMode; //是否最后的处理解释过程中应用 -// bool m_bWholeFitting; //是否分段进行拟合处理 -}; diff --git a/Include/mAlg/mAlgPseudo/iPseudo3Info.h b/Include/mAlg/mAlgPseudo/iPseudo3Info.h deleted file mode 100644 index dea05a3..0000000 --- a/Include/mAlg/mAlgPseudo/iPseudo3Info.h +++ /dev/null @@ -1,87 +0,0 @@ -#pragma once - -#include "Defines.h" -#include "IxSerDes.h" -#include "mAlgPseudo_global.h" - -class zxAlgRegress; - -// 在三区拟压力计算过程中涉及的拟合相关的数据载体 -class M_ALGPSEUDO_EXPORT iPseudo3Info : public QObject, - virtual public IxSerDes -{ - Q_OBJECT - -public: - - explicit iPseudo3Info(); - iPseudo3Info(const iPseudo3Info &other); - ~iPseudo3Info(); - - bool runFit(); - bool isFitted(); - void clearAlg(); - - zxAlgRegress* getAlg() { return m_pAlg; } - void makesureAlg(bool bForceReset = true); - - double getFitRsBy(double x); //根据x返回y - VecDouble getFitRsBy(VecDouble& x); //根据x返回y - VecPointF getFitRsDefault(bool bScaled = true); //这是返回数据基础之上的拟合结果 - - iPseudo3Info* clone(); - -public: - - // KrgKro数据拟合前的数据准备(调整、归一化等等) - static bool prepareKrgKro1(VVecVariant& vvec); - static bool prepareKrgKro2(VVecVariant& vvec); - - // Other - static QString getExpr(DataFittingType oType, int nOrder); - -protected: - - // TODO 由于序列化机制问题,暂未启用 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - -private: - - // 原始数据转换为拟合需要的数据格式 - VVecDouble orgFitSrcData(); - -public slots: - -signals: - -public: - - // TODO 由于序列化机制问题,如果增减变量,请注意 - // bool iPseu3Wrapper::thisToBa(QByteArray& ba)中的变化 - - QString m_sPara; - VVecVariant m_vvecSrcData; - DataFittingType m_oFitType; - int m_nFitOrder; - QString m_sExpr; -// QMap m_mapOthers; - -protected: - - zxAlgRegress* m_pAlg; -}; - - -// 辅助类,比如清空 -class M_ALGPSEUDO_EXPORT iPseudo3InfoHelper : public QObject -{ - Q_OBJECT - -public: - - iPseudo3InfoHelper(){} - // 清理map - static void clearMapInfos(QMap& map); - -}; diff --git a/Include/mAlg/mAlgPseudo/iPseudoCCal.h b/Include/mAlg/mAlgPseudo/iPseudoCCal.h deleted file mode 100644 index 1f5a3d2..0000000 --- a/Include/mAlg/mAlgPseudo/iPseudoCCal.h +++ /dev/null @@ -1,75 +0,0 @@ -#pragma once - -#include "Defines.h" -#include "mAlgPseudo_global.h" - -class iPseudoCInfo; - -// 根据组分计算(源自徐泽轩) -// 三区拟压力计算过程实现 -class M_ALGPSEUDO_EXPORT iPseudoCCal : public QObject -{ - Q_OBJECT - -public: - - /// @param mapPsInfos,拟合公式信息体(输入) - /// @param mapOthers,其它参数(输入) - explicit iPseudoCCal(QMap& mapPsInfos, \ - QMap& mapOthers); - ~iPseudoCCal(); - - /// @brief 最终的计算函数 - /// @param vecP,压力(输入) - /// @param vecPs,三区拟压力(输出) - bool calPseudoC(VecDouble& vecP, VecDouble& vecPs); - - /// @brief 最终的计算函数 - /// @param dP,压力(输入) - /// @param dPs,三区拟压力(输出) - bool calPseudoC(double dP, double& dPs);//徐泽轩 - bool calPseudoC_m2(double dP, double& dPs);//baiwp - - -private: - - // 基本拟合公式 - void parseParas(QMap& mapOthers); - - // 先根据p计算各个拟合数据 - bool calBaseFitRs(double dP, QMap& map); - - // 积分,徐泽轩 - double simpsonComplex(double a, double b, int which, \ - double epsilon = 0.01); - - - // 积分,baiwp - double integral(double min, double max, int which, \ - QMap& map, int nLoop = 1000); - - // 1-2-3区拟压力计算 - double calPsBy(int which, double fP); - double calPsByOne(QMap& map); - double calPsByTwo(QMap& map); - double calPsByThree(QMap& map); - -signals: - -private: - - QMap m_mapPsInfos; - - double m_dPP;//临界流动压力pp(目前为用户输入,后续改进算法可自动计算) - double m_dPD;// 露点压力pd(用户输入) - - double m_dKrgSwi; - double m_dPwf; - double m_dSplitP; - - // 临时变量 - VecDouble m_vecTempPs; - VecDouble m_vecTempPs1; - VecDouble m_vecTempPs2; - VecDouble m_vecTempPs3; -}; diff --git a/Include/mAlg/mAlgPseudo/iPseudoCInfo.h b/Include/mAlg/mAlgPseudo/iPseudoCInfo.h deleted file mode 100644 index fd82a49..0000000 --- a/Include/mAlg/mAlgPseudo/iPseudoCInfo.h +++ /dev/null @@ -1,88 +0,0 @@ -#pragma once - -#include "IxSerDes.h" -#include "Defines.h" -#include "mAlgPseudo_global.h" - -class zxAlgRegress; - -// 根据组分计算(源自徐泽轩) -// 在三区拟压力计算过程中涉及的拟合相关的数据载体 -class M_ALGPSEUDO_EXPORT iPseudoCInfo : public QObject, - virtual public IxSerDes -{ - Q_OBJECT - -public: - - explicit iPseudoCInfo(); - iPseudoCInfo(const iPseudoCInfo &other); - ~iPseudoCInfo(); - - bool runFit(); - bool isFitted(); - void clearAlg(); - - zxAlgRegress* getAlg() { return m_pAlg; } - void makesureAlg(bool bForceReset = true); - - double getFitRsBy(double x); //根据x返回y - VecDouble getFitRsBy(VecDouble& x); //根据x返回y - VecPointF getFitRsDefault(bool bScaled = true); //这是返回数据基础之上的拟合结果 - - iPseudoCInfo* clone(); - -public: - - // KrgKro数据拟合前的数据准备(调整、归一化等等) - static bool prepareKrgKro1(VVecVariant& vvec); - static bool prepareKrgKro2(VVecVariant& vvec); - - // Other - static QString getExpr(DataFittingType oType, int nOrder); - -protected: - - // TODO 由于序列化机制问题,暂未启用 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - -private: - - // 原始数据转换为拟合需要的数据格式 - VVecDouble orgFitSrcData(); - -public slots: - -signals: - -public: - - // TODO 由于序列化机制问题,如果增减变量,请注意 - // bool iPseu3Wrapper::thisToBa(QByteArray& ba)中的变化 - - QString m_sPara; - VVecVariant m_vvecSrcData; - DataFittingType m_oFitType; - int m_nFitOrder; - QString m_sExpr; -// QMap m_mapOthers; - -protected: - - zxAlgRegress* m_pAlg; -}; - - -// 辅助类,比如清空 -class M_ALGPSEUDO_EXPORT iPseudoCInfoHelper : public QObject -{ - Q_OBJECT - -public: - - iPseudoCInfoHelper(){} - // 清理map - static void clearMapInfos(QMap& map); - -}; diff --git a/Include/mAlg/mAlgPseudo/iPseudoPressure.h b/Include/mAlg/mAlgPseudo/iPseudoPressure.h deleted file mode 100644 index 27a45e6..0000000 --- a/Include/mAlg/mAlgPseudo/iPseudoPressure.h +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once - -#include "iAlgPvtBase.h" -#include "mAlgPseudo_global.h" - -// 拟压力计算调用入口 -class M_ALGPSEUDO_EXPORT iPseudoPressure : public iAlgPvtBase -{ -public: - iPseudoPressure(); - - // 绑定成员变量,这个类里没用 - virtual void bindMembers(); - - // 虚函数,计算函数,这个类里没用 - virtual bool cal(VecDouble vecIns, VecDouble& vecOuts); - - //关键计算函数,前3个是读出来的,最后那个是算的 - // 分成三段分别计算:0~dSplit1, dSplit1~dSplit2, dSplit1~最大 - bool calPs(VecDouble vecP, VecDouble vecZg, VecDouble vecMug, \ - double dSplit1, double dSplit2, \ - VecDouble& vecPs); -}; diff --git a/Include/mAlg/mAlgPseudo/iPseudoPressure3.h b/Include/mAlg/mAlgPseudo/iPseudoPressure3.h deleted file mode 100644 index 97b95fa..0000000 --- a/Include/mAlg/mAlgPseudo/iPseudoPressure3.h +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once - -#include "iAlgPvtBase.h" -#include "mAlgPseudo_global.h" - -class iPseudo3Info; -// 三区拟压力计算调用入口 -class M_ALGPSEUDO_EXPORT iPseudoPressure3 : public iAlgPvtBase -{ -public: - iPseudoPressure3(); - - // 绑定成员变量,这个类里没用 - virtual void bindMembers(); - - // 虚函数,计算函数,这个类里没用 - virtual bool cal(VecDouble vecIns, VecDouble& vecOuts); - - //关键计算函数,其实只是调用入口 - bool calPs(QMap &mapPsInfos, \ - QMap &mapOthers, \ - VecDouble &vecP, VecDouble &vecPs); - -}; diff --git a/Include/mAlg/mAlgPseudo/iPseudoPressureC.h b/Include/mAlg/mAlgPseudo/iPseudoPressureC.h deleted file mode 100644 index c27d787..0000000 --- a/Include/mAlg/mAlgPseudo/iPseudoPressureC.h +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - -#include "iAlgPvtBase.h" -#include "mAlgPseudo_global.h" - -class iPseudoCInfo; - -// 根据组分计算(源自徐泽轩) -// 三区拟压力计算调用入口 -class M_ALGPSEUDO_EXPORT iPseudoPressureC : public iAlgPvtBase -{ -public: - iPseudoPressureC(); - - // 绑定成员变量,这个类里没用 - virtual void bindMembers(); - - // 虚函数,计算函数,这个类里没用 - virtual bool cal(VecDouble vecIns, VecDouble& vecOuts); - - //关键计算函数,其实只是调用入口 - bool calPs(QMap &mapPsInfos, \ - QMap &mapOthers, \ - VecDouble &vecP, VecDouble &vecPs); - -}; diff --git a/Include/mAlg/mAlgPvt/bubblePre.h b/Include/mAlg/mAlgPvt/bubblePre.h index e82af66..c35329c 100644 --- a/Include/mAlg/mAlgPvt/bubblePre.h +++ b/Include/mAlg/mAlgPvt/bubblePre.h @@ -41,7 +41,7 @@ private: double m_dRo; //ro,油相比重,该油相的密度与4℃时纯水的密度之比,无量纲,具体情况具体分析,0.8-0.9 double m_dRg; //rg,气体比重,该气体的密度与空气密度之比,无量纲,具体情况具体分析,0.55-0.8 double m_dPsep; //Psep,分离器压力,MPa,0.791MPa - double m_dTsep; //Tsep,分离器温度,F,60F + double m_dTsep; //tsep,分离器温度,20260602 统一调整为,摄氏度℃,15.5556 不再采用 F,60F }; diff --git a/Include/mAlg/mAlgPvt/gasCg.h b/Include/mAlg/mAlgPvt/gasCg.h index d4822a0..2a447da 100644 --- a/Include/mAlg/mAlgPvt/gasCg.h +++ b/Include/mAlg/mAlgPvt/gasCg.h @@ -25,13 +25,29 @@ public: bool dranchuk(VecDouble vecP, VecDouble& vecCg); +private: + + /// @brief 计算干气压缩系数 Cg + /// @param 输入:p - 压力 (MPa) + /// @param T - 温度 (℃) + /// @param SG - 气体比重 (默认 0.7) + /// @out 输出:cg - 压缩系数 (1/MPa) + /// 算法提供者,xieh 20260518 + double _dranchuk_novel_method(double p, double T, double SG = 0.7); + + /// @brief Dranchuk 方法计算天然气压缩因子 Z + /// @param Pr + /// @param Tr + /// 算法提供者,xieh 20260518 + double _cal_zg_by_dranchuk_directly(double Pr, double Tr); + private: double m_dTpr; //tpr,拟对比温度,Tpr=T/Tc,温度与临界温度的比值,无量纲 double m_dT; // rt,油藏温度,°C double m_dTc; //tc,临界温度,不同的组分有不同的临界温度值,°C - double m_dRg; //rg,气体比重,该气体的密度与空气密度之比,无量纲,具体情况具体分析,0.55-0.8 + double m_dRg; //rg,气体比重,该气体的密度与空气密度之比,无量纲,具体情况具体分析,0.55-0.8 }; diff --git a/Include/mAlg/mAlgPvt/gasCritical.h b/Include/mAlg/mAlgPvt/gasCritical.h index c5dea1e..78d1398 100644 --- a/Include/mAlg/mAlgPvt/gasCritical.h +++ b/Include/mAlg/mAlgPvt/gasCritical.h @@ -28,17 +28,21 @@ public: public: - bool carr(double& dTc, double& dPc); + // 各自的实现方法 bool standing(double& dTc, double& dPc); + bool carr(double& dTc, double& dPc); bool sutton(double& dTc, double& dPc, bool bAdjust = true); - - // 20210914 bool wichertAziz(double& dTc, double& dPc); bool HTHP(double& dTc, double& dPc); - bool carKobayshiBurrows(double& dTc, double& dPc); - bool adjustByA(double A, double& dTc, double& dPc); + bool carKobayshiBurrows(double& dTc, double& dPc); +protected: + + // 内部转换调整的函数 + bool adjustByA(double A, double& dTc, double& dPc); bool convertByWA(double& dTc, double& dPc); + +public: bool adjustPc(double& dPc); private: diff --git a/Include/mAlg/mAlgPvt/iAlgPvtBase.h b/Include/mAlg/mAlgPvt/iAlgPvtBase.h index 3655f1d..fcbf6b6 100644 --- a/Include/mAlg/mAlgPvt/iAlgPvtBase.h +++ b/Include/mAlg/mAlgPvt/iAlgPvtBase.h @@ -12,7 +12,7 @@ class zxAlgRegressLinear; -// PVT相关小算法的基类 +// PVT相关算法的基类 class M_PVT_EXPORT iAlgPvtBase { public: @@ -46,10 +46,7 @@ public: // 虚函数,计算函数 virtual bool cal(VecDouble vecIns, VecDouble& vecOuts); // 虚函数,计算函数 - virtual bool cal(double dIn, double& dOut); - - // 虚函数,计算函数 - virtual bool cal(double& dIn, double& dOut); + //virtual bool cal(double dIn, double& dOut); // 获取错误信息 QString getLastError(); @@ -65,7 +62,8 @@ public: // vecIns:P(in) // vecOuts:Z(out) // vecExps:实验数据 (in) - virtual bool match(VecDouble vecIns, VecDouble& vecOuts, VecPointF& vecExps, double* pExtParas = nullptr); + virtual bool match(VecDouble vecIns, VecDouble& vecOuts, \ + VecPointF& vecExps, double* pExtParas = nullptr); /////////////////////////////////////////////////////////////////////////////// @@ -94,9 +92,7 @@ protected: protected: - QString m_sAlgo; //算法本身名称 - - //Pseudo + // PVT名称 QString m_sPvtName; // 内部的算法类型,为了统一,此处用了整形,各子类内部转换为enum diff --git a/Include/mAlg/mAlgPvt/oilLiveBo.h b/Include/mAlg/mAlgPvt/oilLiveBo.h index cc7cc01..94cee5e 100644 --- a/Include/mAlg/mAlgPvt/oilLiveBo.h +++ b/Include/mAlg/mAlgPvt/oilLiveBo.h @@ -37,7 +37,7 @@ private: double m_dRo; //ro,油相比重,该油相的密度与4℃时纯水的密度之比,无量纲,具体情况具体分析,0.8-0.9 double m_dRg; //rg, 气体比重,该气体的密度与空气密度之比,无量纲,具体情况具体分析,0.55-0.8 double m_dPsep; //Psep,分离器压力,MPa,0.791MPa - double m_dTsep; //tsep,分离器温度,F,60F + double m_dTsep; //tsep,分离器温度,20260602 统一调整为,摄氏度℃,15.5556 不再采用 F,60F double m_dT; //rt,油藏温度,°C }; diff --git a/Include/mAlg/mAlgPvt/oilLiveCo.h b/Include/mAlg/mAlgPvt/oilLiveCo.h index 64df5a0..a2b0b68 100644 --- a/Include/mAlg/mAlgPvt/oilLiveCo.h +++ b/Include/mAlg/mAlgPvt/oilLiveCo.h @@ -33,6 +33,6 @@ private: double m_dRo; //ro,油相比重,该油相的密度与4℃时纯水的密度之比,无量纲,具体情况具体分析,0.8-0.9 double m_dRg; //rg, 气体比重,该气体的密度与空气密度之比,无量纲,具体情况具体分析,0.55-0.8 double m_dPsep; //Psep,分离器压力,MPa,0.791MPa - double m_dTsep; //tsep,分离器温度,F,60F + double m_dTsep; //tsep,分离器温度,20260602 统一调整为,摄氏度℃,15.5556 不再采用 F,60F double m_dT; //rt,温度,°C }; diff --git a/Include/mAlg/mAlgPvt/triRs.h b/Include/mAlg/mAlgPvt/triRs.h index 8c14a08..1183033 100644 --- a/Include/mAlg/mAlgPvt/triRs.h +++ b/Include/mAlg/mAlgPvt/triRs.h @@ -43,7 +43,7 @@ private: double m_dT; //rt,油藏温度,°C double m_dPsep; //Psep,分离器压力,MPa,0.79111 - double m_dTsep; //tsep,分离器温度,F,60F + double m_dTsep; //tsep,分离器温度,20260602 统一调整为,摄氏度℃,15.5556 不再采用 F,60F }; diff --git a/Include/mAlg/mAlgPvt/triRsw.h b/Include/mAlg/mAlgPvt/triRsw.h index 3e6d806..0ddaa4a 100644 --- a/Include/mAlg/mAlgPvt/triRsw.h +++ b/Include/mAlg/mAlgPvt/triRsw.h @@ -31,6 +31,6 @@ public: private: - double m_dT; //rt, 油藏温度,°C + double m_dT; //rt, 油藏温度,°C double m_dws; //ws,含盐质量分数,无量纲;ws=矿化度(mg/L)/1000000 }; diff --git a/Include/mAlg/mAlgPvt/waterBw.h b/Include/mAlg/mAlgPvt/waterBw.h index e988e46..74ba855 100644 --- a/Include/mAlg/mAlgPvt/waterBw.h +++ b/Include/mAlg/mAlgPvt/waterBw.h @@ -17,12 +17,15 @@ private: public: waterBw(); + // 绑定成员变量 virtual void bindMembers(); // 虚函数,计算函数 virtual bool cal(VecDouble vecIns, VecDouble& vecOuts); +public: + bool Gould(VecDouble vecP, VecDouble& vecBw); bool McCain(VecDouble vecP, VecDouble& vecBw); bool MeehanRamey(VecDouble vecP, VecDouble& vecBw); diff --git a/Include/mAlg/mAlgPvt/waterMiuw.h b/Include/mAlg/mAlgPvt/waterMiuw.h index 20e1d30..2e4a02b 100644 --- a/Include/mAlg/mAlgPvt/waterMiuw.h +++ b/Include/mAlg/mAlgPvt/waterMiuw.h @@ -19,6 +19,7 @@ private: public: waterMiuw(); + // 绑定成员变量 virtual void bindMembers(); diff --git a/Include/mAlg/mAlgPvt/waterRhow.h b/Include/mAlg/mAlgPvt/waterRhow.h index 8a9c49c..e713bb7 100644 --- a/Include/mAlg/mAlgPvt/waterRhow.h +++ b/Include/mAlg/mAlgPvt/waterRhow.h @@ -16,6 +16,7 @@ private: public: waterRhow(); + // 绑定成员变量 virtual void bindMembers(); diff --git a/Include/mData/mModuleDefines/mModuleDefines.h b/Include/mData/mModuleDefines/mModuleDefines.h index 25cf326..d0111af 100644 --- a/Include/mData/mModuleDefines/mModuleDefines.h +++ b/Include/mData/mModuleDefines/mModuleDefines.h @@ -255,6 +255,7 @@ enum DataActionMode DAM_Edit, //编辑 DAM_Scan, //查看 DAM_SaveAs, //另存为 + DAM_CopyAs, //另存为,当前工区未打开 DAM_Clone, //克隆,应用于井克隆,其实与另存为还有些区别 DAM_Unknown }; diff --git a/Include/mData/mModuleDefines/mModuleDefines.h.bak b/Include/mData/mModuleDefines/mModuleDefines.h.bak deleted file mode 100644 index f7d40f8..0000000 --- a/Include/mData/mModuleDefines/mModuleDefines.h.bak +++ /dev/null @@ -1,289 +0,0 @@ - -#pragma once - -#include "Defines.h" - -/// @brief 存放应用模块(比如WTAI)的定义内容 - -///////////////////////////////////////// -// defines -///////////////////////////////////////// - -// 工区所在路径,相对路径 -#define s_Dir_WorkArea "TestOfWTAI" - -#ifdef _SCAN_OLD_CODE_ -// 新建标识(很久之前的处理方式,目前已经屏蔽该功能) -#define s_Tag_NewTab QObject::tr("New") -#endif - -// 新建SubWnd -#define s_Tag_NewWnd QObject::tr("New sub wnd") - -// 最近处理的模型 -#define s_Tag_RecentModels "recentModels" - -// 此处应该与XML配置对应,目前只是临时处理方式 -#define s_Tag_Wnd_Anal QStringCH("流动段选择") -#define s_Tag_Wnd_Fitting QStringCH("流动段分析") - -// 首页面涉及到的一些配置信息 -#define s_Tag_RecentNum "RecentNum" -#define s_Tag_MaxRs "MaxRs" -#define s_Tag_MaxCl "MaxCl" -#define s_Tag_SortBy "SortBy" - -// Diffusion 涉及的参数 -// KroKrg相渗 -#define s_Tag_KK_EN "KK" -// StressSensitive压敏 -#define s_Tag_SS_EN "SS" -// Desorption吸附 -#define s_Tag_DS_EN "DS" - -// 自动拟合界面参数 -#define s_Tag_FA_Method "FaMethod" -#define s_Tag_FA_LoopMax "FaLoopMax" -#define s_Tag_FA_ErrorMax "FaErrorMax" -#define s_Tag_FA_Weight "FaWeight" - -// 单相多相标识 -#define s_Tag_Phase_S QObject::tr("Single phase") -#define s_Tag_Phase_M QObject::tr("Multiphase") -#define s_Tag_Phase_PS3 QObject::tr("Pseu3Contained") - -// 历史曲线 -#define s_Tag_HIST_PF "HistPF" - -// IPR -#define s_Tag_IPR_EN "IPR" -#define s_Tag_IPR_CN QObject::tr("Inflow Performance Relationship") - -// 小型压裂 -#define s_Tag_MiniFr_EN "MiniFr" -#define s_Tag_MiniFr_CN QObject::tr("Mini Frac Model") - -#define s_Key_MiniFrac_In QObject::tr("DataInput") -#define s_Key_MiniFrac_Curve QObject::tr("CurveData") -#define s_Key_MiniFrac_Out QObject::tr("DataRst") - -// 模型Key -#define s_Key_Wbs QObject::tr("Wbs") -#define s_Key_Wel QObject::tr("Wel") -#define s_Key_Res QObject::tr("Res") -#define s_Key_Bdy QObject::tr("Bdy") - -// 模型窗口涉及的部分 -#define s_Key_ModelOption QObject::tr("ModelOption") -#define s_Key_ModelParameter QObject::tr("ModelParameter") -#define s_Key_WellBasic QObject::tr("WellBasic") -#define s_Key_WellRes QObject::tr("WellRes") -#define s_Key_WellFluid QObject::tr("WellFluid") - -// 聚合物相关 -#define s_Key_PF_Normal QObject::tr("Normal") -#define s_Key_PF_Interference QObject::tr("Interference") -#define s_Key_PF_FractuWell QObject::tr("FractuWell") -#define s_Key_PF_NormalEn "Normal" -#define s_Key_PF_InterferenceEn "Interference" -#define s_Key_PF_FractuWellEn "FractuWell" - -// 模型开关(启动压力梯度、动态渗透率、小信号、应力敏感 -#define s_Key_PressGrad QObject::tr("PressGrad") -#define s_Key_DynamicK QObject::tr("DynamicK") -#define s_Key_SmallSignal QObject::tr("SmallSignal") -#define s_Key_StressSensitive QObject::tr("StressSensitive") - -#define s_Key_UseOrNot QObject::tr("UseOrNot options") - -// 时间格式(流量/压力) -#define s_Value_FromStart QObject::tr("Value (FromStart)") -#define s_Value_Duration QObject::tr("Value (Duration)") -#define s_Real_Time QObject::tr("RealTime") -#define s_Real_DateTime QObject::tr("RealDateTime") -#define s_Real_Date QObject::tr("RealDate") - -// 井间距离,干扰时使用 -#define s_Inter_Well_Dis "wellDis" - -// 坐标轴等相关标识 -#define s_Tag_Date_EN "Date" -#define s_Tag_Time_EN "Time" -#define s_Tag_DateTime_EN "DateTime" -#define s_Tag_Date_CN QObject::tr("Date") -#define s_Tag_Time_CN QObject::tr("Time") -#define s_Tag_DateTime_CN QObject::tr("DateTime") - -#define s_Tag_Pressure_EN "Pressure" -#define s_Tag_FlowRate_EN "FlowRate" -#define s_Tag_Pressure_CN QObject::tr("Pressure") -#define s_Tag_Pressure_CN_Avg QObject::tr("AvgP") -#define s_Tag_FlowRate_CN QObject::tr("FlowRate") - -#define s_Tag_ProdOil_EN "ProdOil" -#define s_Tag_ProdOil_CN QObject::tr("ProdOil") -#define s_Tag_ProdGas_EN "ProdGas" -#define s_Tag_ProdGas_CN QObject::tr("ProdGas") -#define s_Tag_ProdWater_EN "ProdWater" -#define s_Tag_ProdWater_CN QObject::tr("ProdWater") - -#define s_Tag_PressurePse_CN QObject::tr("PseudoPressure") //拟压力 - -#define s_Axis_NameX s_Tag_Time_CN -#define s_Axis_NameY_P s_Tag_Pressure_CN -#define s_Axis_NameY_PGas s_Tag_PressurePse_CN -#define s_Axis_NameY_F s_Tag_FlowRate_CN - -#define s_Axis_NameX_R QObject::tr("Radius") -#define s_Axis_NameY_Vis QObject::tr("Vis") -#define s_Axis_NameY_Den QObject::tr("Den") - -#define s_Tag_Other_EN "Other" -#define s_Tag_Other_CN QObject::tr("Other") - -// 数据加载 -#define s_Format_Date "yyyy-MM-dd" -#define s_Format_Time "hh:mm:ss" -#define s_Format_DateTime "yyyy-MM-dd hh:mm:ss" - -// 文件格式 -#define s_Test_Src_File_Exts QObject::tr("All supported files(*.txt *.dat *.rec *.xls *.xlsx *.csv);;Test text file(*.txt);;Test dat file(*.dat);;Test dat file(*.rec);;Excel file(*.xlsx);;Excel 97-2003 file(*.xls);;csv file(*.csv);;All file(*.*)") -#define s_Test_Src_Db_Exts QObject::tr("Sqlite Database File(*.db)") -#define s_Test_Src_mDb_Exts QObject::tr("Sqlite Database File(*.mdb)") - -// IPR相关定义 -#define s_Tag_Eq_Psquare QStringCH("压力平方") -#define s_Tag_Eq_PPse QStringCH("拟压力(含三区拟压力)") - -// 从iToolPreCon移植过来 -#define s_PreInput_Structure QObject::tr("Structure") -#define s_PreInput_Contraction QObject::tr("ContractionStructure") -#define s_PreInput_Expansion QObject::tr("ExpansionStructure") -#define s_PreInput_CloseWellDynSurface QObject::tr("CloseWellDynSurface") - -#define s_Pre_Next QObject::tr("Next") -#define s_Pre_Prev QObject::tr("Prev") -#define s_Pre_Run QObject::tr("Run") -#define s_Pre_SaveFile QObject::tr("SaveFile") -#define s_Pre_LoadFile QObject::tr("LoadFile") - -#define s_Pre_WellHeadPressure QObject::tr("WellHeadPressure") -#define s_Pre_BottomHolePressure QObject::tr("BottomHolePressure") - -// 其他 -#define s_Field_FieldName "FieldName" -#define s_Field_BlockName "BlockName" - -// 拖拽之DOM格式 -#define s_MimeData_Text "text/uri-list" -#define s_MimeData_Abstract "application/x-qabstractitemmodeldatalist" - -// 数据连接标识 -#define s_Conn_DbStrTemp "ConnDbBaseStrTemp" - -///////////////////////////////////////// -// enums -///////////////////////////////////////// - -enum MainWindowOption -{ - MWO_MPA = 0, //MPA - MWO_WTAI, //iWelltestStar - MWO_WellTestStar, //iWelltestStar - MWO_GasCondensate, //iGasCondensateWT - MWO_Unknown -}; - -// 测试类型 -enum PvtTestType -{ - PTT_Standard = 0, //标准类型 - PTT_Interfere, //干扰试井 - PTT_MiniFrac, //小型压裂 - PTT_MultiLayers, //多层 - PTT_Unknown -}; - -// 左侧工区树 -enum DockTreeMode -{ - DTM_Da = 0, //数据 - DTM_Jb, //Jobs - DTM_Rs, //成果 - DTM_Unknown -}; - -// 成果对比中,每一项参与对比的类型对应 -enum ContentCpType -{ - CCT_DbLogRaw = 0, // - CCT_DbLogFit, // - CCT_Model, // - CCT_Parameters, // - - CCT_HalfLog, // - CCT_History, // - - CCT_Pressure, // - CCT_Rate, // - - CCT_WellBasic, // - CCT_Fluid, // - CCT_Res, // - - CCT_Unknown -}; - -// 项目树节点类型 -enum MainTreeNodeType -{ - MNT_Top = 0, //全局 - - MNT_Field, //油田 - MNT_Block, //区块 - MNT_Well, //井 - - MNT_Series, //Series - - MNT_Rs, //Rs - MNT_Rs_Child, //Rs具体成果 - - MNT_Jb, //Job - - MNT_DataWell, //WellData - MNT_DataAll, //AllData - MNT_Data_Child, //WellData或AllData的具体分类 - - MNT_PF, //PF - MNT_PF_Child, //PF具体分类 - - MNT_UNKNOWN -}; - -// 项目树节点操作命令类型 -enum TreeNodeCmd -{ - TNC_Scan = 0, //浏览该节点对应的信息,如数据表、图表,与拖拽类似 - TNC_Edit, //弹出对话框,编辑模式,针对后台数据库操作 - TNC_New, //新建 - TNC_Rename, //重命名 - TNC_Del, //删除 - - TNC_SaveRs, //保存Job - - TNC_ManageJb, //JobManager - TNC_DefaultJb, //设为默认Job - TNC_SaveJb, //保存Job - - TNC_RstFit, //Rst Fit - TNC_RstCp, //Rst Compare - - TNC_UNKNOWN -}; - -///////////////////////////////////////// -// macros -///////////////////////////////////////// - -#define zxFillDefaultOfPara zxSysUtils::getInstance()->loadAndFillWithDefault -#define zxCurJobRun dynamic_cast(zxSysUtils::getCurJobRun()) diff --git a/Include/mData/mModuleDefines/mTagDefines.h b/Include/mData/mModuleDefines/mTagDefines.h index 939e486..6c0928f 100644 --- a/Include/mData/mModuleDefines/mTagDefines.h +++ b/Include/mData/mModuleDefines/mTagDefines.h @@ -36,8 +36,8 @@ #define s_Tag_Oil_EN "Oil" // 20260421 扩展一项,即: -// 针对油单相、油水两相,采用Oil,对应死油 -// 针对油气两相,采用OilExt,对应饱和油 +// 针对油单相、油水两相,采用OilExt,对应死油 +// 针对油气两相,采用Oil,对应饱和油(原先一直用的) #define s_Tag_OilExt_EN "OilExt" #define s_Tag_Gas_EN "Gas" #define s_Tag_Water_EN "Water" diff --git a/Include/mData/mProjectManager/DataModels/ZxDataJobInfo.h b/Include/mData/mProjectManager/DataModels/ZxDataJobInfo.h deleted file mode 100644 index 1612b22..0000000 --- a/Include/mData/mProjectManager/DataModels/ZxDataJobInfo.h +++ /dev/null @@ -1,75 +0,0 @@ -#pragma once - -#include "ZxDataObjectStrUser.h" - -// JobInfo -class M_PROJECTMANAGER_EXPORT ZxDataJobInfo - : public ZxDataObjectStrUser -{ - ZX_DECLARE_DYNAMIC - -public: - - ZxDataJobInfo(); - ZxDataJobInfo(const ZxDataJobInfo &other); - virtual ~ZxDataJobInfo(); - - ZxDataJobInfo &operator = (const ZxDataJobInfo &other); - bool operator == (const ZxDataJobInfo &other) const; - bool operator != (const ZxDataJobInfo &other) const; - -public: - - // 接口 - virtual ZxDataObject* clone(); - virtual QString type() const; - - // 加载保存 - virtual bool _parseData(VecVariant vec, int& n); //解析 - virtual bool _sumUpData(VecVariant& vec); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // Icon - virtual QIcon getIcon(bool expanded) const; - - // 该函数是,在本对象被Append至parent之后,对本对象进行一些调整。 - // 比如,压力数据在被 井 appendChild 之后,把压力数据的 井号 设置一下 - virtual void adjustWithParent(); - -public: - -// // 作业ID -// void setJobID(const QString& sJobID); -// QString getJobID() const; - - // 井号 - void setWellCode(const QString& sWellCode); - QString getWellCode() const; - -// // 作业标题 -// void setJobTitle(const QString& sJobTitle); -// QString getJobTitle() const; - - // 作业类型 - void setJobType(const QString& sJobType); - QString getJobType() const; - - // 作业描述 - void setJobDesc(const QString& sJobDesc); - QString getJobDesc() const; - -protected: - -// QString m_sJobID; //作用编码 - QString m_sWellCode; //井编码 -// QString m_sJobTitle; //作业标题 - QString m_sJobType; //作业版本号 - QString m_sJobDesc; //作业描述 -}; - - - - diff --git a/Include/mData/mProjectManager/DataModels/ZxDataJobRun.h b/Include/mData/mProjectManager/DataModels/ZxDataJobRun.h deleted file mode 100644 index 477c7cc..0000000 --- a/Include/mData/mProjectManager/DataModels/ZxDataJobRun.h +++ /dev/null @@ -1,67 +0,0 @@ -#pragma once - -#include "ZxDataObjectBin.h" - -// JobInfo -class M_PROJECTMANAGER_EXPORT ZxDataJobRun - : public ZxDataObjectBin -{ - ZX_DECLARE_DYNAMIC - -public: - - ZxDataJobRun(); - ZxDataJobRun(const ZxDataJobRun &other); - virtual ~ZxDataJobRun(); - - ZxDataJobRun &operator = (const ZxDataJobRun &other); - bool operator == (const ZxDataJobRun &other) const; - bool operator != (const ZxDataJobRun &other) const; - -public: - - // 接口 - virtual ZxDataObject* clone(); - virtual QString type() const; - - // 加载保存 - virtual bool _parseData(VecVariant vec, int& n); //解析 - virtual bool _sumUpData(VecVariant& vec); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // Icon - virtual QIcon getIcon(bool expanded) const; - -public: - -// // 作业ID -// void setJobID(const QString& sJobID); -// QString getJobID() const; - - void setDataBasic(const QByteArray& v); - QByteArray getDataBasic() const; - - void setDataFluid(const QByteArray& v); - QByteArray getDataFluid() const; - - void setDataGasConst(const QByteArray& v); - QByteArray getDataGasConst() const; - -protected: - -// QString m_sJobID; //作用编码 - - // 分别对应五个对话框中的数据 - QByteArray m_byteDataBasic; - QByteArray m_byteDataFluid; - QByteArray m_byteDataGasConst; - - //m_baExt1 //已经启用 -}; - - - - diff --git a/Include/mData/mProjectManager/DataModels/ZxDataWellSub.h b/Include/mData/mProjectManager/DataModels/ZxDataWellSub.h deleted file mode 100644 index ff63ae2..0000000 --- a/Include/mData/mProjectManager/DataModels/ZxDataWellSub.h +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include "ZxDataObjectStr.h" - -// 该类暂未启用,原本是Well各个子数据的父类,但由于各子数据的父类难以统一,故暂时舍弃 -class M_PROJECTMANAGER_EXPORT ZxDataWellSub - : public ZxDataObjectStr -{ - ZX_DECLARE_DYNAMIC - -public: - - ZxDataWellSub(); - ZxDataWellSub(const ZxDataWellSub &other); - virtual ~ZxDataWellSub(); - - ZxDataWellSub &operator = (const ZxDataWellSub &other); - bool operator == (const ZxDataWellSub &other) const; - bool operator != (const ZxDataWellSub &other) const; - -public: - - // 接口 - virtual ZxDataObject* clone(); - virtual QString type() const; - - // Icon - virtual QIcon getIcon(bool expanded) const; -}; - - - - diff --git a/Include/mData/mProjectManager/DataModels/ZxRstJobPureData.h b/Include/mData/mProjectManager/DataModels/ZxRstJobPureData.h deleted file mode 100644 index 9d0cb60..0000000 --- a/Include/mData/mProjectManager/DataModels/ZxRstJobPureData.h +++ /dev/null @@ -1,66 +0,0 @@ -#pragma once - -#include "ZxDataObjectBin.h" - -// JobPureResult -class M_PROJECTMANAGER_EXPORT ZxRstJobPureData - : public ZxDataObjectBin -{ - ZX_DECLARE_DYNAMIC - -public: - - ZxRstJobPureData(); - ZxRstJobPureData(const ZxRstJobPureData &other); - virtual ~ZxRstJobPureData(); - - ZxRstJobPureData &operator = (const ZxRstJobPureData &other); - bool operator == (const ZxRstJobPureData &other) const; - bool operator != (const ZxRstJobPureData &other) const; - -public: - - // 接口 - virtual ZxDataObject* clone(); - virtual QString type() const; - - // 加载保存 - virtual bool _parseData(VecVariant vec, int& n); //解析 - virtual bool _sumUpData(VecVariant& vec); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // Icon - virtual QIcon getIcon(bool expanded) const; - -public: - -// // 成果ID -// void setRstID(const QString& sRstID); -// QString getRstID() const; - - void setCurveRaws(const QByteArray& v); - QByteArray getCurveRaws() const; - void setCurveFits(const QByteArray& v); - QByteArray getCurveFits() const; - void setModelInfos(const QByteArray& v); - QByteArray getModelInfos() const; - void setParameterInfos(const QByteArray& v); - QByteArray getParameterInfos() const; - -protected: - -// QString m_sRstID; //成果编码 - - // 具体大字段数据 - QByteArray m_byteCurveRaws; - QByteArray m_byteCurveFits; - QByteArray m_byteModelInfos; - QByteArray m_byteParameterInfos; -}; - - - - diff --git a/Include/mData/mProjectManager/DataModels/ZxRstJobRun.h b/Include/mData/mProjectManager/DataModels/ZxRstJobRun.h deleted file mode 100644 index e3a5ec8..0000000 --- a/Include/mData/mProjectManager/DataModels/ZxRstJobRun.h +++ /dev/null @@ -1,65 +0,0 @@ -#pragma once - -#include "ZxDataObjectBin.h" - -// JobInfo -class M_PROJECTMANAGER_EXPORT ZxRstJobRun - : public ZxDataObjectBin -{ - ZX_DECLARE_DYNAMIC - -public: - - ZxRstJobRun(); - ZxRstJobRun(const ZxRstJobRun &other); - virtual ~ZxRstJobRun(); - - ZxRstJobRun &operator = (const ZxRstJobRun &other); - bool operator == (const ZxRstJobRun &other) const; - bool operator != (const ZxRstJobRun &other) const; - -public: - - // 接口 - virtual ZxDataObject* clone(); - virtual QString type() const; - - // 加载保存 - virtual bool _parseData(VecVariant vec, int& n); //解析 - virtual bool _sumUpData(VecVariant& vec); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // Icon - virtual QIcon getIcon(bool expanded) const; - -public: - -// // 成果ID -// void setRstID(const QString& sRstID); -// QString getRstID() const; - - void setDataBasic(const QByteArray& v); - QByteArray getDataBasic() const; - - void setDataFluid(const QByteArray& v); - QByteArray getDataFluid() const; - - void setDataGasConst(const QByteArray& v); - QByteArray getDataGasConst() const; - -protected: - -// QString m_sRstID; //成果编码 - - // 分别对应五个对话框中的数据 - QByteArray m_byteDataBasic; - QByteArray m_byteDataFluid; - QByteArray m_byteDataGasConst; -}; - - - - diff --git a/Include/mData/mProjectManager/DataModels/ZxRstJobSeg.h b/Include/mData/mProjectManager/DataModels/ZxRstJobSeg.h deleted file mode 100644 index e40677b..0000000 --- a/Include/mData/mProjectManager/DataModels/ZxRstJobSeg.h +++ /dev/null @@ -1,73 +0,0 @@ -#pragma once - -#include "ZxDataObjectStr.h" - -// RstJobSeg -class M_PROJECTMANAGER_EXPORT ZxRstJobSeg - : public ZxDataObjectStr -{ - ZX_DECLARE_DYNAMIC - -public: - - ZxRstJobSeg(); - ZxRstJobSeg(const ZxRstJobSeg &other); - virtual ~ZxRstJobSeg(); - - ZxRstJobSeg &operator = (const ZxRstJobSeg &other); - bool operator == (const ZxRstJobSeg &other) const; - bool operator != (const ZxRstJobSeg &other) const; - -public: - - // 接口 - virtual ZxDataObject* clone(); - virtual QString type() const; - - // 加载保存 - virtual bool _parseData(VecVariant vec, int& n); //解析 - virtual bool _sumUpData(VecVariant& vec); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // Icon - virtual QIcon getIcon(bool expanded) const; - -public: - -// // 成果ID -// void setRstID(const QString& sRstID); -// QString getRstID() const; - -// void setSegName(const QString& s); -// QString getSegName() const; - void setSegType(const int& n); - int getSegType() const; - void setFlowRatePrev(const double& f); - double getFlowRatePrev() const; - void setPresValueL(const double& f); - double getPresValueL() const; - void setPresValueR(const double& f); - double getPresValueR() const; - void setTimeL(const double& f); - double getTimeL() const; - void setTimeR(const double& f); - double getTimeR() const; - -protected: - -// QString m_sRstID; //成果编码 -// QString m_sSegName; - int m_nSegType; //类型:0:压恢 1:压降 - double m_fFlowRatePrev; - double m_fPresValueL; - double m_fPresValueR; - double m_fTimeL; - double m_fTimeR; -}; - - - - diff --git a/Include/mData/mProjectManager/DataModels/ZxRstJobUtils.h b/Include/mData/mProjectManager/DataModels/ZxRstJobUtils.h deleted file mode 100644 index a06f52a..0000000 --- a/Include/mData/mProjectManager/DataModels/ZxRstJobUtils.h +++ /dev/null @@ -1,64 +0,0 @@ -#pragma once - -#include "ZxDataObjectStrUser.h" - -// RstJobUtils -class M_PROJECTMANAGER_EXPORT ZxRstJobUtils - : public ZxDataObjectStrUser -{ - ZX_DECLARE_DYNAMIC - -public: - - ZxRstJobUtils(); - ZxRstJobUtils(const ZxRstJobUtils &other); - virtual ~ZxRstJobUtils(); - - ZxRstJobUtils &operator = (const ZxRstJobUtils &other); - bool operator == (const ZxRstJobUtils &other) const; - bool operator != (const ZxRstJobUtils &other) const; - - // 加载孩子节点 - virtual bool createChildren(); - -public: - - // 接口 - virtual ZxDataObject* clone(); - virtual QString type() const; - - // 加载保存 - virtual bool _parseData(VecVariant vec, int& n); //解析 - virtual bool _sumUpData(VecVariant& vec); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // Icon - virtual QIcon getIcon(bool expanded) const; - -public: - -// virtual void setCode(const QString &sCode); -// virtual void setName(const QString &sName); - - void setJobID(const QString& s); - QString getJobID() const; - void setWellCode(const QString& s); - QString getWellCode() const; - void setModelSeries(const QString& s); - QString getModelSeries() const; - -protected: - - //RstUtilID, - //RstUtilTag, - QString m_sJobID; //对应的作业ID - QString m_sWellCode; //20171225增加 - QString m_sModelSeries; //本成果属于的模型类型 -}; - - - - diff --git a/Include/mData/mProjectManager/DataModels/ZxRstJobWnd.h b/Include/mData/mProjectManager/DataModels/ZxRstJobWnd.h deleted file mode 100644 index ffb77b4..0000000 --- a/Include/mData/mProjectManager/DataModels/ZxRstJobWnd.h +++ /dev/null @@ -1,112 +0,0 @@ -#pragma once - -#include "ZxDataObjectBin.h" - -// RstJobWnd -class M_PROJECTMANAGER_EXPORT ZxRstJobWnd - : public ZxDataObjectBin -{ - ZX_DECLARE_DYNAMIC - -public: - - ZxRstJobWnd(); - ZxRstJobWnd(const ZxRstJobWnd &other); - virtual ~ZxRstJobWnd(); - - ZxRstJobWnd &operator = (const ZxRstJobWnd &other); - bool operator == (const ZxRstJobWnd &other) const; - bool operator != (const ZxRstJobWnd &other) const; - - // 加载孩子节点 - virtual bool createChildren(); - -public: - - // 接口 - virtual ZxDataObject* clone(); - virtual QString type() const; - - // 加载保存 - virtual bool _parseData(VecVariant vec, int& n); //解析 - virtual bool _sumUpData(VecVariant& vec); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // Icon - virtual QIcon getIcon(bool expanded) const; - -public: - -// // 成果ID -// void setRstID(const QString& sRstID); -// QString getRstID() const; - - void setWndIndex(const QString& s); - QString getWndIndex() const; - void setWndID(const QString& s); - QString getWndID() const; - void setWndTag(const QString& s); - QString getWndTag() const; - - void setRstUtilID(const QString& s); - QString getRstUtilID() const; - void setDataJobRun(const QByteArray& v); - QByteArray getDataJobRun() const; - void setDataSegInfo(const QByteArray& v); - QByteArray getDataSegInfo() const; - - void setDataInfo(const QByteArray& v); - QByteArray getDataInfo() const; - void setDataInfo1(const QByteArray& v); - QByteArray getDataInfo1() const; - void setDataInfo2(const QByteArray& v); - QByteArray getDataInfo2() const; - void setDataInfo3(const QByteArray& v); - QByteArray getDataInfo3() const; - void setDataInfo4(const QByteArray& v); - QByteArray getDataInfo4() const; - void setDataInfo5(const QByteArray& v); - QByteArray getDataInfo5() const; - void setDataInfo6(const QByteArray& v); - QByteArray getDataInfo6() const; - void setDataInfo7(const QByteArray& v); - QByteArray getDataInfo7() const; - void setDataInfo8(const QByteArray& v); - QByteArray getDataInfo8() const; - void setDataInfo9(const QByteArray& v); - QByteArray getDataInfo9() const; - - void setDataInfoOf(const QByteArray& v, int nIndex); - QByteArray getDataInfoOf(int nIndex) const; - -protected: - -// QString m_sRstID; //成果编码 - - QString m_sWndIndex; - QString m_sWndID; - QString m_sWndTag; - - QString m_sRstUtilID; - QByteArray m_byteDataJobRun; - QByteArray m_byteDataSegInfo; - - // 各类大数据 - QByteArray m_byteDataInfo; - QByteArray m_byteDataInfo1; - QByteArray m_byteDataInfo2; - QByteArray m_byteDataInfo3; - QByteArray m_byteDataInfo4; - QByteArray m_byteDataInfo5; - QByteArray m_byteDataInfo6; - QByteArray m_byteDataInfo7; - QByteArray m_byteDataInfo8; - QByteArray m_byteDataInfo9; -}; - - - - diff --git a/Include/mData/mProjectManager/ZxMpaDataService.h b/Include/mData/mProjectManager/ZxMpaDataService.h deleted file mode 100644 index 0a7fb84..0000000 --- a/Include/mData/mProjectManager/ZxMpaDataService.h +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "iBase_global.h" -#include "iDataTypes.h" -#include "Defines.h" - -#include "mProjectManager_global.h" - -class ZxDataObject; -class ZxDataWell; -class ZxDataProject; -// 数据服务 -class M_PROJECTMANAGER_EXPORT ZxMpaDataService -{ -public: - - ZxMpaDataService(); - virtual ~ZxMpaDataService(); - -public: - - // 加载保存 - virtual bool load(ZxDataObject* pObject); - virtual bool save(ZxDataObject* pObject); - -public: - - // 根据sCode创建DataProject - virtual ZxDataProject* createDataProject(QString sCode); - -protected: - QString m_sCode; //对象标识\序号\编号\编码 - QString m_sName; //对象名称, 包括分组\分类名称 - -}; diff --git a/Include/mData/mProjectManager/ZxMpaUpdater.h b/Include/mData/mProjectManager/ZxMpaUpdater.h deleted file mode 100644 index 9d56122..0000000 --- a/Include/mData/mProjectManager/ZxMpaUpdater.h +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once - -#include "Defines.h" - -#include "mProjectManager_global.h" - -// MPA数据库版本升级 -class M_PROJECTMANAGER_EXPORT ZxMpaUpdater -{ -public: - - ZxMpaUpdater(); - virtual ~ZxMpaUpdater(); - -public: - - // 遍历版本历史 - // 注:map已经默认按照Ver排序了 - // map[0] [20170921 MPA V1.0] - // map[1] [20171016 MPA V1.01] - // map[2] [20171025 MPA V1.02] - // map[3] [20171225 MPA V1.03] - // map[4] [20180517 MPA V1.04] - bool parseVerRecords(QString sOld, \ - QString sNew, \ - QMap& map, \ - QString& sError); - - // 执行Sql更新 - bool executeDbSqls(QStringList& listSqls, \ - bool bProjMode, \ - QString &sError); - - // 文件工区版本更新 - bool updateProjVer(QString sNew, \ - bool bProjMode, - QString &sError); - - // 文件工区版本获取 - bool getProjVer(QString& sVer, \ - bool bProjMode, \ - QString &sError); -private: - - // 内部处理Sql的存储 - void appendTempSql(QStringList& listSqls, - QStringList& listTemps); - -}; diff --git a/Include/mGui/mGuiAnal/iAnalRun.h b/Include/mGui/mGuiAnal/iAnalRun.h index 9a9a8cd..22dce47 100644 --- a/Include/mGui/mGuiAnal/iAnalRun.h +++ b/Include/mGui/mGuiAnal/iAnalRun.h @@ -81,6 +81,9 @@ public: /// @param vecY,返回之y列,即sPara对应的参数数值列,与vecX一一对应 /// @param ptrPtResult,结果选用的点(即PVT曲线上方块点) /// @param ptrPtReferPb,对应的pb相应的参考点 + /// @note vecY是物性参数计算结果列 + /// vecX则比较特殊,可能是压力数值,也可能是温度数值,目前 + /// 目前,泡点压力Pb、水黏度Miuw 为温度,其它为压力 bool getPvtRstOf(PvtFluidType pft, QString sPara, \ VecDouble& vecX, VecDouble& vecY, \ QPointF* ptrPtResult = nullptr, \ diff --git a/Include/mGui/mGuiAnal/iFluidDefineHelper.h b/Include/mGui/mGuiAnal/iFluidDefineHelper.h deleted file mode 100644 index 260389b..0000000 --- a/Include/mGui/mGuiAnal/iFluidDefineHelper.h +++ /dev/null @@ -1,59 +0,0 @@ -#pragma once - -#include "mAlgDefines.h" -#include "mGuiAnal_global.h" - -class iPhaseDesc -{ -public: - iPhaseDesc() - { - } - - QString sAlias; - bool bPhaseS; - QString sMainPhase; -}; - -// iFluidDefineHelper -class M_GUI_ANAL_EXPORT iFluidDefineHelper -{ -public: - - // 获取对象,单例模式 - static iFluidDefineHelper* getInstance(); - - QMap* getMapFluidDefinePtr(); - QString getMainPhaseOf(PvtFluidType pft); - bool isPhaseS(PvtFluidType pft); - QString getPhaseDescAlias(PvtFluidType pft); - // 这是根据标识,获取是主相的油气水,比较另类的接口 - WellFluidType getMainPhaseIdBy(QString sTag); - - QStringList getOrderedTags(); //返回排序后的Tag - - // 关闭消耗 - static void release(); - - -private: - - iFluidDefineHelper(); - ~iFluidDefineHelper(); - -private: - -private: - - static iFluidDefineHelper* _helper; - - // 勾选了油气水后要设置的值 - QMap m_mapFluidDefinePairs; //每个 - - QMap m_mapFluidTagPairs; //中英文对 - QStringList m_listFluidTagOrders; //排序 - - QString m_sError; -}; - -#define _fluidDefineHelper iFluidDefineHelper::getInstance() diff --git a/Include/mGui/mGuiAnal/iWxDataKrog.h b/Include/mGui/mGuiAnal/iWxDataKrog.h deleted file mode 100644 index ff2c280..0000000 --- a/Include/mGui/mGuiAnal/iWxDataKrog.h +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -#include "iWxKrog.h" - -#include "mGuiAnal_global.h" - -namespace Ui { -class iWxDataKrog; -} - -class iAlgPseuMethodTriInfo; -class iCurveDesc; -class M_GUI_ANAL_EXPORT iWxDataKrog : public iWxKrog -{ - Q_OBJECT - -public: - - explicit iWxDataKrog(QWidget *parent = 0); - ~iWxDataKrog(); - - // 初始化 - virtual void initUI(); - QWidget* initUI_Chart(); - QWidget* initUI_TableView(); - -private: - - Ui::iWxDataKrog *ui; -}; diff --git a/Include/mGui/mGuiJob/iJobRun.h b/Include/mGui/mGuiJob/iJobRun.h deleted file mode 100644 index bd28712..0000000 --- a/Include/mGui/mGuiJob/iJobRun.h +++ /dev/null @@ -1,98 +0,0 @@ -#pragma once - -#include -#include - -#include "IxSerDes.h" -#include "ZxXpf.h" -#include "ZxSerializer.h" - -#include "Defines.h" -#include "ZxBaseUtil.h" - -#include "mGuiJob_global.h" - -class ZxDataWell; -class ZxDataJobInfo; -class ZxDataJobRun; - -class ZxSegmentInfo; -class iPseu3Wrapper; -class iPseuCWrapper; -class iModelOption; - -class iWxBase; - -class M_GUI_JOB_EXPORT iJobRun : public QObject, - virtual public IxSerDes -{ - Q_OBJECT - -public: - - explicit iJobRun(); - ~iJobRun(); - - // 初始化、刷新UI - virtual void init(); - virtual void refresh(); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // 为了速度,而增加的特殊处理 - virtual void ensureLoaded(); - void setLoaded(bool b); - bool saveBasicAsByteArr(QByteArray& v); - bool loadBasicFromByteArr(QByteArray& v); - QString getTestType(); - QString getFluidOption(); - bool isPhaseS(); - -public: - - virtual void setDataWell(ZxDataWell* p); - virtual void setDataJobInfo(ZxDataJobInfo* p); - virtual void setDataJobRun(ZxDataJobRun* p); - - // 组织其基础信息,为了展示到表格中 - bool getBasicBaseRowInfos(VecVariant& vec, int nColCount); - - bool getMpParaValues(QStringList listParas, QMap& map); - - // 根据当前的模型情况进行配置拟压力相关,调用该函数前已经确保是GAS - // initPs是否初始化,如果不是,则只设置ps3 - // 如果pModelOption不为空,则根据pModelOption设置ps3模式, - // 否则: - // bSetPs3ModeBySelf为true时,根据this设置ps3模式 - // 对于IPR对话框,需要根据Job类型直接设置,对于其它不能设置 - bool configPsAbouts(bool initPs, iModelOption* pModelOption, bool bSetPs3ModeBySelf = false); - bool isPs3Valid(); - bool isPsCValid(); - -public: - - iWxBase* getWxDataOf(int n); - - // 与数据库对应的真实数据 - ZxDataJobInfo* getDataJobInfo(); - ZxDataJobRun* getDataJobRun(); - - QString getJobId(); - -private slots: - -private: - // 参与序列化:分别为 Basic、Fluid、(GasConst) - QVector m_vecWxDatas; - - // 与数据库对应的真实数据(外界传入,本类不进行创建释放维护) - ZxDataWell* m_pDataWell; - ZxDataJobInfo* m_pDataJobInfo; - ZxDataJobRun* m_pDataJobRun; - - // 为了速度而增加 - bool m_bLoaded; - QStringList m_listBasicInfos; -}; diff --git a/Include/mGui/mGuiJob/iPseu3Wrapper.h b/Include/mGui/mGuiJob/iPseu3Wrapper.h deleted file mode 100644 index 99ffe66..0000000 --- a/Include/mGui/mGuiJob/iPseu3Wrapper.h +++ /dev/null @@ -1,57 +0,0 @@ -#pragma once - -#include -#include - -#include "IxSerDes.h" -#include "ZxXpf.h" -#include "ZxSerializer.h" -#include "Defines.h" -#include "ZxBaseUtil.h" -#include "mGuiJob_global.h" - -class iAlgPseuMethodTriInfo; - -// 三区拟压力设置相关的序列化载体 -class M_GUI_JOB_EXPORT iPseu3Wrapper : public QObject, - virtual public IxSerDes -{ - Q_OBJECT - -public: - - iPseu3Wrapper(); - iPseu3Wrapper(const iPseu3Wrapper &other); - ~iPseu3Wrapper(); - - // 初始化、刷新UI - virtual void init(); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - void setInfos(const VVecDouble& vvec, \ - const QMap& mapPsInfos, \ - const QMap& mapOthers); - QMap* getPsInfoPtrs(); - QMap* getOtherPtrs(); - VVecDouble getDataXY(); - - // 是否有效的三区配置 - bool isPs3Valid(); - - iPseu3Wrapper* clone(); - -private: - // ByteArray map,序列化的另类实现 - bool thisToBa(QByteArray& ba); - bool baToThis(QByteArray& ba); - -private slots: - -private: - VVecDouble m_vvecDataXY;//size()==2,一列x一列y - QMap m_mapPsInfos; - QMap m_mapOthers; -}; diff --git a/Include/mGui/mGuiJob/iPseuCWrapper.h b/Include/mGui/mGuiJob/iPseuCWrapper.h deleted file mode 100644 index f6b1284..0000000 --- a/Include/mGui/mGuiJob/iPseuCWrapper.h +++ /dev/null @@ -1,57 +0,0 @@ -#pragma once - -#include -#include - -#include "IxSerDes.h" -#include "ZxXpf.h" -#include "ZxSerializer.h" -#include "Defines.h" -#include "ZxBaseUtil.h" -#include "mGuiJob_global.h" - -class iAlgPseuMethodCompInfo; - -// 三区拟压力设置相关的序列化载体 -class M_GUI_JOB_EXPORT iPseuCWrapper : public QObject, - virtual public IxSerDes -{ - Q_OBJECT - -public: - - iPseuCWrapper(); - iPseuCWrapper(const iPseuCWrapper &other); - ~iPseuCWrapper(); - - // 初始化、刷新UI - virtual void init(); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - void setInfos(const VVecDouble& vvec, \ - const QMap& mapPsInfos, \ - const QMap& mapOthers); - QMap* getPsInfoPtrs(); - QMap* getOtherPtrs(); - VVecDouble getDataXY(); - - // 是否有效的三区配置 - bool isPsCValid(); - - iPseuCWrapper* clone(); - -private: - // ByteArray map,序列化的另类实现 - bool thisToBa(QByteArray& ba); - bool baToThis(QByteArray& ba); - -private slots: - -private: - VVecDouble m_vvecDataXY;//size()==2,一列x一列y - QMap m_mapPsInfos; - QMap m_mapOthers; -}; diff --git a/Include/mGui/mGuiJob/iWxAnaly.h b/Include/mGui/mGuiJob/iWxAnaly.h deleted file mode 100644 index e9df3ab..0000000 --- a/Include/mGui/mGuiJob/iWxAnaly.h +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - -#include "mGuiJob_global.h" -#include "iWxBase.h" - -class M_GUI_JOB_EXPORT iWxAnaly : public iWxBase -{ - Q_OBJECT - -public: - - explicit iWxAnaly(QWidget *parent = 0); - ~iWxAnaly(); - - // 初始化 - virtual void initUI(); - -protected: - - virtual bool checkInputs(); - - virtual void paintEvent(QPaintEvent *e); - -protected: - -}; diff --git a/Include/mGui/mGuiJob/iWxAnalyAnal.h b/Include/mGui/mGuiJob/iWxAnalyAnal.h deleted file mode 100644 index 023fddf..0000000 --- a/Include/mGui/mGuiJob/iWxAnalyAnal.h +++ /dev/null @@ -1,177 +0,0 @@ -#pragma once - -#include "mModuleDefines.h" -#include "iWxAnaly.h" - -namespace Ui { -class iWxAnalyAnal; -} - -class ZxTableModel; -class ZxTableView; -class M_GUI_JOB_EXPORT iWxAnalyAnal : public iWxAnaly -{ - Q_OBJECT - -public: - - explicit iWxAnalyAnal(QWidget *parent = 0); - ~iWxAnalyAnal(); - - // 初始化 - virtual void initUI(); - -protected: - - // 初始化 - virtual void initUI_Tags(); - virtual void initUI_TestType(); - virtual void initUI_BasicParas(); - virtual void initUI_Pvts(); - virtual void initUI_ResParas(); - virtual void initUI_Btns(); - QBoxLayout* initUI_Pvts_Base(); - QBoxLayout* initUI_Pvts_FluidOption(); - -public: - - // 初始储层数据获取 - VVecVariant initLayerData(); - // 相变化 - void runPhaseTypeChanged(bool bByTestType = false); - - // 刷新图chart - void refreshBy(QRadioButton* p); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser);// - virtual void onDeserialize(ZxSerializer* ser); - void setDataLayers(VVecVariant& vvec); - - // 标题标识 - void setJobName(QString s); - QString getJobName(); - // 测试类型 - QString getTestType(); - PvtTestType getTestTypeEx(); - // 井半径 - double getWellR(); - // 井间距离 - double getInterferenceDis(); - // 获取选中的层参数,支持多层 - VVecVariant getLayerParameters(); - // 流体性质 - QString getFluidOption(); - bool isPhaseS(); - - // 从各个Wx(m_vecWxDatas)中遍历查找 - virtual bool setParaValue(QString sPara, double d); - virtual bool getParaValue(QString sPara, double& d); - // 返回所有参数,Key为英文ID - virtual bool getAllParaValues(QMap& map, - bool bOnlyFitted = false, - bool bClearMap = true); - - //Pseudo - void setMapParaBasic(QMap map); - QMap getMapParaBasic(); - - void simuFluidMainChange(); - //void simuJobTagChange(); - - - //不显示标题 - void setTagShow(bool bShowTag); - -signals: - - void sigFluidTypeChanged(QString s); -// void sigJobTagChanged(QString s); - -public slots: - - virtual void slotGetJobTag(QString& s); - -private slots: - - void slotPvtOptionChanged(QString s); - void slotFluidMainChanged(QString s); - void slotPhaseTypeChanged(); - void slotTestTypeChanged(); -// void slotJobTagChanged(); - - // 表格 - void slotTableCellChanged(const QModelIndex&, const QModelIndex&); - void slotTableRowChanged(QModelIndexList listOlds, QModelIndexList listNews, QModelIndex index); - -public: - -// // 序列化 -// virtual void onSerialize(ZxSerializer* ser); -// virtual void onDeserialize(ZxSerializer* ser); - void runLayerDataChanged(); - -protected: - - bool checkInputs(); - - virtual void paintEvent(QPaintEvent *e); - -private slots: - - void on_btnOK_clicked(); - void on_btnCancel_clicked(); - - void on_cbxReferFrom_clicked(); - - void on_cbxAllAnalysises_currentIndexChanged(int index); - - void on_btnHelp_clicked(); - - void slotPvtManager(); - - // 把Wizard中所有项进行保存或者恢复 - void slotLoad(); - void slotSave(); - -private: - - Ui::iWxAnalyAnal *ui; - -private: - - // GroupBox - QGroupBox* m_pGbxTestType; - QGroupBox* m_pGbxBasicParas; - QGroupBox* m_pGbxPvts; - QGroupBox* m_pGbxResParas; - - QRadioButton* m_pRadioPhaseS; - QRadioButton* m_pRadioPhaseM; - QComboBox* m_pCbxFluidType; - QComboBox* m_pCbxAllPvts; - - // 测试类型 - QRadioButton* m_pRadioStandard; - QRadioButton* m_pRadioInterference; - QRadioButton* m_pRadioMiniFrac; - - // 标题 - QLineEdit* m_pTbxTag; - //ZXF不布局标题试井设计中不需要标题 - bool m_bShowTag; - - // 储层数据 - ZxTableModel* m_pDataModel; - VecVariant m_vecRawRowData; - - // 储层参数列,含 储层名称 - QStringList m_listResParas; - QStringList m_listResParaCHs; - QStringList m_listResUnits; - VecInt m_vecDigits; - - //Pseudo 为了把地层压力传给FluidSub - QMap m_mapBasicPara; - -}; diff --git a/Include/mGui/mGuiJob/iWxAnalyNum.h b/Include/mGui/mGuiJob/iWxAnalyNum.h deleted file mode 100644 index 55be520..0000000 --- a/Include/mGui/mGuiJob/iWxAnalyNum.h +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "iWxAnaly.h" - -namespace Ui { -class iWxAnalyNum; -} - -class M_GUI_JOB_EXPORT iWxAnalyNum : public iWxAnaly -{ - Q_OBJECT - -public: - - explicit iWxAnalyNum(QWidget *parent = 0); - ~iWxAnalyNum(); - - // 初始化 - virtual void initUI(); - -protected: - - bool checkInputs(); - - virtual void paintEvent(QPaintEvent *e); - -private slots: - - void on_btnOK_clicked(); - void on_btnCancel_clicked(); - -private: - - Ui::iWxAnalyNum *ui; -}; diff --git a/Include/mGui/mGuiJob/iWxBdySet.h b/Include/mGui/mGuiJob/iWxBdySet.h deleted file mode 100644 index 4c65e81..0000000 --- a/Include/mGui/mGuiJob/iWxBdySet.h +++ /dev/null @@ -1,77 +0,0 @@ -#pragma once - -#include -#include "iGuiPlotBdy.h" -#include "ZxTableView.h" -#include "iDlgBase.h" -#include "mGuiJob_global.h" -#include "iBdyInfo.h" - -class ZxPtyDock; -class ZxRenderItem; - -// ZXF202409 -// 边界设置 -class M_GUI_JOB_EXPORT iWxBdySet : public iDlgBase -{ - Q_OBJECT - -public: - - explicit iWxBdySet(QWidget *parent = 0); - ~iWxBdySet(); - - //设置边界类型 - void setBdyType(m_Bdy_Type eType); - // 初始化 - virtual void initUI(); - void setBdyParams(VecBdyInfos vecBdyInfos); - // 得到参数 - VecBdyInfos getBdyParams(); -protected: - void resizeEvent(QResizeEvent *); - //得到边界的最大值 - double getBdyDisMax(); -private: - - // 初始化 - void initUI_MainLayout(); - void initUI_Main(); - void initUI_Bottoms(); - - //表格和图形 - void initPlot(); - void initTable(); - void initPtyWx(); - - void bindDockPty(IxPtySource* pItem); - -private slots: - - void slotBtnOK(); - void slotBtnCancel(); - // 图元ObjSegLine改变 - void slotObjBdyLineChange(ZxObjBase*); - // 属性 - void slotGraphItemPoliciesInstalled(ZxRenderItem* pItem); - - // 属性是否显示 - void slotShowProperty(); - -private: - - // 布局相关 - QVBoxLayout* m_pMainLayout; - // 绘图区域 - iGuiPlotBdy* m_pPlot; - // 表格 - ZxTableView* m_pTableView; - // 属性框 - ZxPtyDock* m_pDockPty; - QList m_listProps; - - //边界类型 - m_Bdy_Type m_eBdyType; - //边界参数 - VecBdyInfos m_vecBdyInfos; -}; diff --git a/Include/mGui/mGuiJob/iWxJobWizard.h b/Include/mGui/mGuiJob/iWxJobWizard.h deleted file mode 100644 index 5f2fc28..0000000 --- a/Include/mGui/mGuiJob/iWxJobWizard.h +++ /dev/null @@ -1,94 +0,0 @@ -#pragma once - -#include "iWxBase.h" -#include "mGuiJob_global.h" - -class M_GUI_JOB_EXPORT iWxJobWizard : public iWxBase -{ - Q_OBJECT - -public: - enum WizardShowMode - { - WSM_Basic = 0, //基础 - WSM_Fluid, //流体性质 - WSM_PF, //Pressure&Rate - WSM_GasConst, //Gas const - - WSM_All, //All - - WSM_Unknown - }; - -public: - - explicit iWxJobWizard(QWidget *parent = 0); - ~iWxJobWizard(); - - void clearWx(); - virtual void initUI(); - - // 显示模式 - void setWsm(WizardShowMode o); - WizardShowMode getWsm(); - - // 子窗体 - void appendSubWx(iWxBase* p); - - void resetSubWx(iWxBase* p = NULL); - -signals: - - void sigWizardOptionOk(); - -private: - - // 初始化 - void initBase(); - void updateBtnStates(); - - // 标题 - void changeTitle(); - -protected: - - virtual void paintEvent(QPaintEvent *); - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - -private slots: - - void on_btnBack_clicked(); - void on_btnNext_clicked(); - void on_btnHelp_clicked(); - void on_btnCancel_clicked(); - - // 把Wizard中所有项进行保存或者恢复 - void slotLoad(); - void slotSave(); - - // 当流体性质改变时,本窗体响应 - virtual void slotParasObtained(QMap& map); - - // 当Job标识改变时,本窗体响应 - //void slotJobTagChanged(QString s); - -private: - - WizardShowMode m_oWsm; - - // 子窗体,本类不负责创建维护 - // 分别为 Basic、Fluid、(Gas Const)、PF - QVector m_vecSubWxs; - - // 子窗体容器 - QStackedWidget* m_pStackedWidget; - - // Btn - QPushButton* m_pBtnBack; - QPushButton* m_pBtnNext; - - // 是否显示气体组分(在流体为 gas 时)显示 - bool m_bShowGasConst; - int m_nIndexHide; -}; diff --git a/Include/mGui/mGuiJob/iWxModelOption.h.bak b/Include/mGui/mGuiJob/iWxModelOption.h.bak deleted file mode 100644 index 766ede8..0000000 --- a/Include/mGui/mGuiJob/iWxModelOption.h.bak +++ /dev/null @@ -1,206 +0,0 @@ -#pragma once - -#include "iWxBase.h" -#include "mGuiJob_global.h" - -//class iModelDesc; -class ZxPlot; -class iWxModelSketch; -class iModelOption; -class iModelInfoBase; -class iGridLineUtils; - -namespace Ui { -class iWxModelOption; -} - -class M_GUI_JOB_EXPORT iWxModelOption : public iWxBase -{ - Q_OBJECT - -public: - - explicit iWxModelOption(QWidget *parent = 0); - ~iWxModelOption(); - - // 初始化 - virtual void initUI(); - - // 切换模型时刷新 - virtual void refreshBrothers(bool bfresh = true); - - // 组织结果数据,注:vec不进行clear,由调用方自行clear - virtual bool organizeResults(QVector& vec, QString sType); - - // 返回当前选中的 - iModelOption* getOption(); - - // 示意图绘图(多幅,弹出对话框) - virtual void showSketchCharts(); - - // FitModel之后改变一些状态 - void dealwithFitOption(iModelOption* p); - void changeListItem(QListWidget* pListWx, \ - QString sItem, QString sKey, \ - bool bSelectOnly = true); - void changeRowLineItem(iGridLineUtils* pLineUtils, \ - QString sItem, QString sKey, \ - bool bSelectOnly = true); - - // 得到聚合物中启动低渗的按钮状态 - bool getCbxStatePF(); - -protected: - - // 新的listwidget展示模式 - void initNovelListWxs(); - QWidget* initNovelListWxOf(QString sType, QListWidget*& pListWx); - void fillNovelListWxOf(QListWidget* pListWx, QString sType); - - void initFromLasts(); - -#ifdef _SCAN_OLD_CODES_ - void initUI_TopSpecial(QVBoxLayout*& pLayout); //该函数暂时不启用,后续可能需要重启 - void initUI_ModelListWxs(); - void initUI_ModelGridLines(QVector& vec, \ - QVBoxLayout* pLayout, \ - QString sType = ""); - - QVector classifyModelInfos(QVector& vec, \ - QString sType); -#endif - - // 填充List - void fillListWx(QListWidget* pListWx, - QString sType, - bool bConsiderSpecial = false, - bool bIsSpecial = false); - - //考虑到Well也要做筛选这里单独写一个函数 - void fillWelListWx(QListWidget* pListWx, - QString sType, - bool bConsiderSpecial = false, - bool bIsSpecial = false); - //由于WEl决定Res选项 - void fillResListWx(QListWidget* pListWx, - QString sType, - bool bConsiderSpecial = false, - bool bIsSpecial = false); - - // 如果是井切换 - bool dealwithWellListWx(); - - // 界面数据到Option载体 - virtual void freshUi2Option(); - void _freshUiListWx2Option(QListWidget* pListWx, QString sKey); - void _freshUiCheckBox2Option(QCheckBox* pCbx, QString sKey); - - // 最近选用 - void freshUiByOpenRecents(); - void fillRecentModels(); - void refreshRecentModels(QString sModel); - void freshRecentItem2ListWxs(QString s); - -public: - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - -protected: - - // 对于序列化,父类的QListWidget处理已经不能满足要求,故重载该函数 - virtual bool _writeCtrl(ZxSerializer* ser, QWidget* p, QString& sTag); - virtual bool _readCtrl(ZxSerializer* ser, QWidget*& p, QString& sTag); - -protected: - - virtual void paintEvent(QPaintEvent *); - -protected: - - // 查找组下面的项(如果有)(井型+储层类型) - virtual bool findChildItemsOf(QListWidget* pListWx, \ - QListWidgetItem* pItem, \ - QVector& vecChildItems, \ - bool* ptrIsHidden = NULL); - void initContextMenu(QListWidget* pListWx, \ - QListWidgetItem* pItem, \ - bool bHidden); - - // 切换状态 - void changeItemState(QListWidgetItem* pItem, iModelInfoBase* pModelInfo); - - // 折叠/展开 - void expandOrCollapse(bool bExpand); - void expandOrCollapseAll(bool bExpand); - -protected slots: - - // 模型选择 - virtual void slotModelOptionChanged(QString); - // 双击(井型+储层类型) - virtual void slotListWxItemDoubleClicked(QListWidgetItem* pItem); - virtual void slotListWxItemClicked(QListWidgetItem* pItem); - // 右键(井型+储层类型) - virtual void slotListWxCustomMenu(const QPoint& pos); - // 右键菜单 - virtual void slotExpandGroup(); - virtual void slotCollapseGroup(); - virtual void slotExpandGroupAll(); - virtual void slotCollapseGroupAll(); - - - // 各自的状态设定,复选框选项 - void slotCbxStateChangedLP(); - void slotCbxStateChangedPF(); - void slotCbxStateChangedSR(); - - // 筛选部分 - void on_btnFilter_clicked(); - void on_tbxFilter_textChanged(const QString &arg1); - - // 最近选用 - void on_listWxRecents_doubleClicked(const QModelIndex &index); - void on_cbxOpenRecents_clicked(); - void on_sbRecentCounts_valueChanged(int arg1); - -signals: - - // 模型切换信号 - void sigParasChangedEx(iModelOption* ); - - // 增加这个信号主要增加小信号的选择模式(目前小信号只比普通模式多一条线,增加信号,保证绘制时候出现) - void sigCbxStateChanged(bool bSmall); - - // 聚合物PF - void sigCbxStatePfChanged(bool bCheck); - -protected: - - Ui::iWxModelOption *ui; - QListWidget* m_pListWxWel; - QListWidget* m_pListWxRes; - QListWidget* m_pListWxWbs; - QListWidget* m_pListWxBdy; - - // 选择内容的载体 - iModelOption* m_pOption; - - // ListWidget Ctrls / CheckBox - QMap m_mapSubWxs; - - // 示意图 - iWxModelSketch* m_pWxSketch; - // iWxModelSketch* m_pWxTheory; //二者用的同一个窗体,暂未启用,后续考虑 - - // 临时变量,不涉及序列化 - bool m_bRecentDbClick; - - // 右键菜单 - QMenu* m_pContextMenu; - - // 临时,针对右键操作而设定的对象体 - QListWidget* m_pTempListWx; - QListWidgetItem* m_pTempListWxItem; -}; diff --git a/Include/mGui/mGuiJob/iWxModelParameter.h b/Include/mGui/mGuiJob/iWxModelParameter.h index f538476..40e8396 100644 --- a/Include/mGui/mGuiJob/iWxModelParameter.h +++ b/Include/mGui/mGuiJob/iWxModelParameter.h @@ -195,7 +195,7 @@ protected: QStringList checkTypes(); //类别 // 根据当前选中模型处理特殊参数 - void findSpecialParas(); + void findSpecialParas(iModelOption* pOption); //设置参数隐藏 void setSpecialParasHide(bool &IsAdd); diff --git a/Include/mGui/mGuiJob/iWxModelParameter.h.bak b/Include/mGui/mGuiJob/iWxModelParameter.h.bak deleted file mode 100644 index bc6c754..0000000 --- a/Include/mGui/mGuiJob/iWxModelParameter.h.bak +++ /dev/null @@ -1,186 +0,0 @@ -#pragma once - -#include "iWxBase.h" -#include "mGuiJob_global.h" - -//class iModelDesc; -class iParameter; -class ZxTableView; -class iModelOption; -class iBdyInfo; -class iGridRowItem; -class iGridRowUtils; -class iModelInfo; -class iModelDescInfo; - -class M_GUI_JOB_EXPORT iWxModelParameter : public iWxBase -{ - Q_OBJECT - -public: - explicit iWxModelParameter(QWidget *parent = 0); - ~iWxModelParameter(); - - // 序列化 - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - // 初始化 - virtual void initUI(); - void initUI_HelpBox(); - - // 在pCtrl InitUI之前允许部分调整,如参数跟着模型走的调整 - // 包括: - // 1. 把原有的被特殊模型修改过的,重新矫正过来 - // 2. 调整特殊模型 - virtual void adjustParaInfos(iParameter* pParameter); - virtual void restoreParaInfos(iParameter* pParameter = NULL); //如果为空,则全部恢复 - - // 组织结果数据,注:vec不进行clear,由调用方自行clear - virtual bool organizeResults(QVector& vec, QString sType); - bool sortByShow(QVector& vec); - - // 返回所有的跟模型相关的边界参数的类型,封闭或定压 - // 封闭:0 - // 定压:1 - bool getBdyInfos(QMap& map); - - // 从各个Wx(m_vecWxDatas)中遍历查找 - virtual bool setParaValue(QString sPara, double d); - virtual bool getParaValue(QString sPara, double& d); - // 返回所有参数,Key为英文ID - virtual bool getAllParaValues(QMap& map, - bool bOnlyFitted = false, - bool bClearMap = true); - - virtual bool getAllParaUnits(QMap& map, - bool bOnlyFitted = false, - bool bClearMap = true); - // 模式设置 - void setDnMode(bool b); - - // 刷新 - virtual void refreshUIs(QStringList& listParas); - -protected: - - virtual void paintEvent(QPaintEvent *); - -signals: - //增加信号保证切换的时候,窗口中的参数显示与否的按钮初始化(即恢复到隐藏状态) - void sigWxImageInit(); - void sigIsAddBt(bool IsAdd); - -private slots: - - void slotShowParam(bool bHide); - -public : - // 当前面窗体参数改变时,本窗体响应 - virtual void slotParasObtained(QMap& map); - // 根据多相单相对右侧参数进行调整 - void setToMpMode(bool bMultiPhase); - - void freshParasByMap(QMap& mapOldValues); - -public slots: - virtual void slotParasObtainedEx(iModelOption* pOption); - - // 响应ParaCtrl数据的改变 - virtual void slotParaCtrlValueChanged(QString sPara, QVariant o); - - // help msg - virtual void slotHelpMsg(QString& s); - - // 外部控制 - void slotOuterValidate(QString sPara, QVariant o, bool& bValid, bool& bSet); - - /// @brief 响应属性页子参数列表改变,比如调用水平井段数编辑功能 - /// @param sSegName: (in) 基准参数,为英文标识,如流动段数:"Nq" - /// @param vvec: (in & out) 子参数数据, - /// 注意:key为英文,如"NqX","NqL","NqQ"之类,与xml配置文件严格对应 - /// @param dWellLen: (in) 水平井长度 - /// @param bModified: (out) 是否正确触发且vvec发生改变 - void slotSegItemMore(const QString sSegName, \ - QVector >& vvec, \ - const double dWellLen, \ - bool& bModified); - - - /// @brief 响应边界信息改变,比如修改平行边界,由上下改为左右 - /// @param pItem: (in) 当前的GroupItem,其实即是本类iGridRowGroupBdy - /// @param vvec: (in & out) 边界信息数据 - /// @param bModified: (out) 是否正确触发且vvec发生改变 - void slotBdyDetails(iGridRowItem* pItem, \ - QVector< iBdyInfo* >& vvec, \ - bool& bModified); - //模型切换 - void slotModelCbxCurItemChanged(int); - - -protected: - - //virtual void makesureListParas(QStringList& listParas); //对显示名称进行调整 - virtual void runParseOldVersion(QStringList& listParas, ZxSerializer* ser); - - QStringList checkTypes(); //类别 - - // 部分没有在xml配置的参数 - void appendParas_Inner(QStringList& listParas, \ - iModelOption* pOption); - // 井储参数 - void appendParas_Wbs(QStringList& listParas, \ - QString sWbs); - // 边界参数 - void appendParas_Bdy(QStringList& listParas, \ - QString sBdy); - - // 根据当前选中模型处理特殊参数 - void findSpecialParas(); - - //设置参数隐藏 - void setSpecialParasHide(bool &IsAdd); - - //创建参数Item(包括清空和新建) - bool createGridItemUtils(QStringList& listParas, QMap& mapOldValues); - //模型节点 - //添加井类型参数 //添加储层类型参数 - void appendModelParas(); - //根据模型增加节点 - void appendModelInfo(iGridRowItem* pGridItemG, iModelInfo* p, QString sTag, int ndex = -1); - void appendModelChildInfo(iGridRowItem* pGridItemG, iModelInfo* p, QString sTag, int ndex = -1); - //节点重置 - void resetModelGroup(iGridRowItem* pItem); -protected: - - // 布局器 - QVBoxLayout* m_pMainLayout; - - QStringList m_listParas; - iGridRowUtils* m_pGridItemUtils; - //模型选择对象 - iModelOption* m_pOption; - - // 临时,不序列化 - QStringList m_listParaTags; - - // 临时 - QString m_sSerie; - QString m_sWbs; - QString m_sWel; - QString m_sRes; - QString m_sBdy; - - QString m_sWelInfo; - QString m_sResInfo; - - // 满足当前模型条件的特殊的Parameter - QVector m_vecSpecialParas; - - bool m_bDnMode; - - bool m_bMultiPhase; - - // Help - QTextEdit * m_pHelpBox; -}; diff --git a/Include/mGui/mGuiJob/iWxModelParameterUpDown.h b/Include/mGui/mGuiJob/iWxModelParameterUpDown.h new file mode 100644 index 0000000..b8c3765 --- /dev/null +++ b/Include/mGui/mGuiJob/iWxModelParameterUpDown.h @@ -0,0 +1,75 @@ +#pragma once + +#include "iWxModelParameter.h" +class ZxObjBase; +class ZxObjWmPoint; +class iGridRowItem; +class M_GUI_JOB_EXPORT iWxModelParameterUpDown : public iWxModelParameter +{ + Q_OBJECT + +public: + explicit iWxModelParameterUpDown(QWidget *parent = 0); + ~iWxModelParameterUpDown(); + + // 序列化 + virtual void onSerialize(ZxSerializer* ser); + virtual void onDeserialize(ZxSerializer* ser); + + virtual void initUI(); + virtual void initUI_M(); + void initUI_M_Name(); + void initUI_M_Types(); + + // 刷新至选中的Obj + void fresh2Obj(ZxObjBase* p, bool bPtsOnly); + +protected: + + // 刷新至选中的Obj,分项处理 + void fresh2Obj_Name(ZxObjWmPoint* p); + void fresh2Obj_Type(ZxObjWmPoint* p); + void fresh2Obj_Paras(ZxObjWmPoint* p); + + // 刷新 + virtual void refreshUIs_Normal(QStringList& listParas); + + // 在pCtrl InitUI之前允许部分调整 + virtual void adjustParaInfos(iParameter* pParameter); + + // 响应ParaCtrl数据的改变 + virtual void slotParaCtrlValueChanged(QString sPara, QVariant o); + + virtual void slotFreshBrotherParasOf(QString sParaBy); + + // TODO函数全盘拷贝,由于引用关系,暂时未处理 + int getWellTypeOf(QString s); + +public slots: + + // 当前面窗体参数改变时,本窗体响应 + virtual void slotParasObtained(QMap& map); + + void slotTypeCurrentChanged(QString s); + void slotWellNameChanged(QString s); + + // 参数区增加井名井型 + //void slotAddWellAboutItems(QVector&); + +protected: + + virtual void paintEvent(QPaintEvent *); + +protected: + + QVBoxLayout* m_pLayoutM; + QVBoxLayout* m_pLayoutP; + + QLineEdit* m_pTbxName; + QComboBox* m_pCbxTypes; + + ZxObjBase* m_pObj; + QStringList m_listTypes; + + iGridRowUtils* m_pGridItemUtilsEx; +}; diff --git a/Include/mGui/mGuiJob/iWxResult.h b/Include/mGui/mGuiJob/iWxResult.h index f76a933..9acfcf0 100644 --- a/Include/mGui/mGuiJob/iWxResult.h +++ b/Include/mGui/mGuiJob/iWxResult.h @@ -41,6 +41,8 @@ public: virtual void initSheets(); //Sheet virtual void initUI(); + void freshGridRstUtilLayout(); + // 序列化 virtual void onSerialize(ZxSerializer* ser); virtual void onDeserialize(ZxSerializer* ser); diff --git a/Include/mGui/mGuiJob/iWxSegMore.h b/Include/mGui/mGuiJob/iWxSegMore.h deleted file mode 100644 index 28f1893..0000000 --- a/Include/mGui/mGuiJob/iWxSegMore.h +++ /dev/null @@ -1,96 +0,0 @@ -#pragma once - -#include "IxPtyPano.h" -#include "iGuiPlotSeg.h" -#include "ZxTableView.h" -#include "iDlgBase.h" -#include "mGuiJob_global.h" - -class ZxPtyDock; -class ZxRenderItem; - -// ZXF20240702 -// 产液段设置 -class M_GUI_JOB_EXPORT iWxSegMore : public iDlgBase -{ - Q_OBJECT - -public: - - explicit iWxSegMore(QWidget *parent = 0); - ~iWxSegMore(); - - // 产液段设置信息(水平段顶深,水平段底深) - void setInfos(QString sSegName, QVector > vecInfos, \ - double dDepthTop, double dDepthBottom); - // 得到参数 - QVector > getInfos(); - - // 初始化 - virtual void initUI(); - -private: - - // 初始化 - void initUI_MainLayout(); - void initUI_Main(); - void initUI_Bottoms(); - - //表格和图形 - void initPlot(); - void initTable(); - void initPtyWx(); - - void bindDockPty(IxPtySource* pItem); - -signals: - - // 表格项修改 - void sigSegTableChanged(QString sTagName, QString sParam, double fVal); - -private slots: - - void slotBtnOK(); - void slotBtnCancel(); - - // 图元ObjSegLine改变 - void slotObjSegLineChange(ZxObjBase*); - // 表格改变 - void slotTableCellChanged(const QModelIndex&, const QModelIndex&); - - // 属性 - void slotGraphItemPoliciesInstalled(ZxRenderItem* pItem); - - // 属性是否显示 - void slotShowProperty(); - -private: - - // 布局相关 - QVBoxLayout* m_pMainLayout; - // 绘图区域 - iGuiPlotSeg* m_pPlot; - // 表格 - ZxTableView* m_pTableView; - - // 属性框 - ZxPtyDock* m_pDockPty; - QList m_listProps; - - // 产液段数 - QString m_sSegName; - - // 层数,段参数 - QVector > m_vecInfos; - - // 段标签数据传入图形中 - QStringList m_listSegTags; - QMap > m_mapInfos; - - // 参数列表 - QStringList m_listSegParams; - - // 水平井起始深度,终止深度 - double m_dDepthTop; - double m_dDepthBottom; -}; diff --git a/Include/mGui/mGuiJob/iWxWizard.h b/Include/mGui/mGuiJob/iWxWizard.h deleted file mode 100644 index 053ff3a..0000000 --- a/Include/mGui/mGuiJob/iWxWizard.h +++ /dev/null @@ -1,94 +0,0 @@ -#pragma once - -#include "iWxBase.h" -#include "mGuiJob_global.h" - -class M_GUI_JOB_EXPORT iWxWizard : public iWxBase -{ - Q_OBJECT - -public: - enum WizardShowMode - { - WSM_Basic = 0, //基础 - WSM_Fluid, //流体性质 - WSM_PF, //Pressure&Rate - WSM_GasConst, //Gas const - - WSM_All, //All - - WSM_Unknown - }; - -public: - - explicit iWxWizard(QWidget *parent = 0); - ~iWxWizard(); - - void clearWx(); - virtual void initUI(); - - // 显示模式 - void setWsm(WizardShowMode o); - WizardShowMode getWsm(); - - // 子窗体 - void appendSubWx(iWxBase* p); - - void resetSubWx(iWxBase* p = NULL); - -signals: - - void sigWizardOptionOk(); - -private: - - // 初始化 - void initBase(); - void updateBtnStates(); - - // 标题 - void changeTitle(); - -protected: - - virtual void paintEvent(QPaintEvent *); - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - -private slots: - - void on_btnBack_clicked(); - void on_btnNext_clicked(); - void on_btnHelp_clicked(); - void on_btnCancel_clicked(); - - // 把Wizard中所有项进行保存或者恢复 - void slotLoad(); - void slotSave(); - - // 当流体性质改变时,本窗体响应 - virtual void slotParasObtained(QMap& map); - - // 当Job标识改变时,本窗体响应 - //void slotJobTagChanged(QString s); - -private: - - WizardShowMode m_oWsm; - - // 子窗体,本类不负责创建维护 - // 分别为 Basic、Fluid、(Gas Const)、PF - QVector m_vecSubWxs; - - // 子窗体容器 - QStackedWidget* m_pStackedWidget; - - // Btn - QPushButton* m_pBtnBack; - QPushButton* m_pBtnNext; - - // 是否显示气体组分(在流体为 gas 时)显示 - bool m_bShowGasConst; - int m_nIndexHide; -}; diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyBase.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyBase.h deleted file mode 100644 index 2b31d89..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyBase.h +++ /dev/null @@ -1,54 +0,0 @@ -#pragma once - -#include "ZxObjLine.h" -#include "mGuiPlot_global.h" -#include "iBdyInfo.h" - -class ZxObjBdyPoint; -//边界线基类 -class M_GUI_PLOT_EXPORT ZxObjBdyBase : public ZxObjLine -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - ZxObjBdyBase(); - ZxObjBdyBase(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjBdyBase(); - -public: - //设置参数 - void setBdyParams(VecBdyInfos vecBdyInfos); - //初始化 - virtual void initObj(); - // 击中 - virtual bool hitTest(const QPointF& pt); - //属性 - virtual void fillPtyPano(IxPtyPano* sheet); - //移动后设置线的位置 - virtual void resetBdyParam(); - //得到默认长度的距离 - double getDefaultXVal(); //具体数值 - double getDefaultYVal(); //具体数值 - - //根据一个点计算出两个点(取坐标轴的最大值一半)(pt1和pt2)是已经知道的点 - //pt3是求解的点且靠经p2点 - QPointF getLineExtendPt(QPointF pt1, QPointF pt2); - //绘制延长线 - void paintExtendLine(QPainter* painter, QPointF pt1, QPointF pt2); - //返回数据 - VecVariant getBdyDistances(); - VecVariant getBdyTypes(); -protected: - //得到井段的起始深度点 - ZxObjBdyPoint* getBdyPtObj(); -protected: - //边界参数 - VecBdyInfos m_vecBdyInfos; -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyCricle.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyCricle.h deleted file mode 100644 index 1fcf619..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyCricle.h +++ /dev/null @@ -1,57 +0,0 @@ -#pragma once - -#include "ZxObjBdyBase.h" -#include "mGuiPlot_global.h" - -class iBdyInfo; -class ZxObjBdyPoint; - -//圆形边界线 -class M_GUI_PLOT_EXPORT ZxObjBdyCricle : public ZxObjBdyBase -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - ZxObjBdyCricle(); - ZxObjBdyCricle(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjBdyCricle(); - -public: - // 封装 - virtual void initTools(); - - void initObj(); - // 击中 - virtual bool hitTest(const QPointF& pt); - // 具体击中实现的函数,单纯击中,不做选项的改变 - // nOption用int是因为Rect类的击中选项不一致 - // nOption为负值,表示未击中,此时返回false - virtual bool _runHitTest(const QPointF& pt, int& nOption, int& nSubIndex); - // pt1:鼠标Down点,pt2:鼠标Up点 - virtual bool runMove(const QPointF& pt1, const QPointF& pt2); - - //属性 - virtual void fillPtyPano(IxPtyPano* sheet); - virtual void paintBack(QPainter* painter, - const ZxPaintParam& param); - - QPointF offsetPoint(QPointF& pt, - const QPointF& pt1, const QPointF& pt2); - - //设置边界的距离 - void setBdyCricleDistance(double f); - double getBdyCricleDistance(); - - //移动后设置线的位置 - virtual void resetBdyParam(); - -protected: - iBdyInfo* getBdyParam(); -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyCricleTool.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyCricleTool.h deleted file mode 100644 index 255d808..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyCricleTool.h +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "ZxObjToolBase.h" -#include "mGuiPlot_global.h" - -//圆形边界线工具 -class M_GUI_PLOT_EXPORT ZxObjBdyCricleTool : public ZxObjToolBase -{ - Q_OBJECT - -public: - - ZxObjBdyCricleTool(); - -protected: - - virtual Qt::CursorShape getCursorBy(const int& nOption, - const int& nSubIndex); - -public: - - virtual bool onLeftDown(const QPointF& pt); - virtual bool onMouseMove(const QPointF& pt); - virtual bool onLeftDoubleClick(const QPointF& pt); - - virtual void onPaint(QPainter* painter, const ZxPaintParam& param); - //绘制标签 - void drawLabel(QPainter* painter, QString str, QPointF pt); - -private: - -}; diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyCross.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyCross.h deleted file mode 100644 index 3375882..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyCross.h +++ /dev/null @@ -1,72 +0,0 @@ -#pragma once - -#include "ZxObjLine.h" -#include "mGuiPlot_global.h" -#include "ZxObjBdyLine.h" - -class iBdyInfo; -class ZxObjBdyPoint; - -//交叉边界线 -class M_GUI_PLOT_EXPORT ZxObjBdyCross : public ZxObjBdyBase -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - ZxObjBdyCross(); - ZxObjBdyCross(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjBdyCross(); - -public: - // 封装 - virtual void initTools(); - - virtual void initObj(); - // 具体击中实现的函数,单纯击中,不做选项的改变 - // nOption用int是因为Rect类的击中选项不一致 - // nOption为负值,表示未击中,此时返回false - virtual bool _runHitTest(const QPointF& pt, int& nOption, int& nSubIndex); - // pt1:鼠标Down点,pt2:鼠标Up点 - virtual bool runMove(const QPointF& pt1, const QPointF& pt2); - - //属性 - virtual void fillPtyPano(IxPtyPano* sheet); - virtual void paintBack(QPainter* painter, - const ZxPaintParam& param); - - QPointF offsetPoint(QPointF& pt, - const QPointF& pt1, const QPointF& pt2); - - //修改点改变长度 - virtual bool calNewPos(QVector& vec, QPointF ptMouse); - - - //设置边界的距离水平边 - void setBdyCrossHorDistance(double f); - double getBdyCrossHorDistance(); - - //斜边 - void setBdyCrossSideDistance(double f); - double getBdyCrossSideDistance(); - - void setBdyCrossSideAngle(double f); - double getBdyCrossSideAngle(); - - - //移动后设置线的位置 - virtual void resetBdyParam(); - //计算交点 - QPointF getCrossPt(double fAngle, double fHorDis, double fSideDis); - -protected: - iBdyInfo* getBdyParam(bool bHor = true); -protected: - double m_dAngle; -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyCrossTool.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyCrossTool.h deleted file mode 100644 index c93de8f..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyCrossTool.h +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "ZxObjToolBase.h" -#include "mGuiPlot_global.h" - -//交叉边界线工具 -class M_GUI_PLOT_EXPORT ZxObjBdyCrossTool : public ZxObjToolBase -{ - Q_OBJECT - -public: - - ZxObjBdyCrossTool(); - -protected: - - virtual Qt::CursorShape getCursorBy(const int& nOption, - const int& nSubIndex); - -public: - - virtual bool onLeftDown(const QPointF& pt); - virtual bool onMouseMove(const QPointF& pt); - virtual bool onLeftDoubleClick(const QPointF& pt); - - virtual void onPaint(QPainter* painter, const ZxPaintParam& param); - //绘制标签 - void drawLabel(QPainter* painter, QString str, QPointF pt); - -private: - -}; diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyLine.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyLine.h deleted file mode 100644 index 43c4dcf..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyLine.h +++ /dev/null @@ -1,58 +0,0 @@ -#pragma once - -#include "ZxObjBdyBase.h" -#include "mGuiPlot_global.h" - -//边界线 -class M_GUI_PLOT_EXPORT ZxObjBdyLine : public ZxObjBdyBase -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - ZxObjBdyLine(); - ZxObjBdyLine(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjBdyLine(); - -public: - // 封装 - virtual void initTools(); - virtual void initObj(); - //获得数据 - void calBdyLineParam(eBdyPosType ePosType, QVector& vecVals); - - virtual bool _runHitTest(const QPointF& pt, int& nOption, int& nSubIndex); - virtual bool runMove(const QPointF& pt1, const QPointF& pt2); - - //属性 - virtual void fillPtyPano(IxPtyPano* sheet); - - // 根据pt1--->pt2的偏移,获取pt的偏移后的点 - // pt1:鼠标Down点,pt2:鼠标Up点 - QPointF offsetPoint(QPointF& pt, - const QPointF& pt1, const QPointF& pt2); - //修改点改变长度 - virtual bool calNewPos(QVector& vec, QPointF ptMouse); - - //设置边界的距离 - void setBdyLineDistance(double f); - double getBdyLineDistance(); - - //设置边界的位置 - void setBdyLinePosType(int nPos); - int getBdyLinePosType(); - - //移动后设置线的位置 - virtual void resetBdyParam(); - - virtual void paintBack(QPainter* painter, - const ZxPaintParam& param); -protected: - iBdyInfo* getBdyParam(); -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyLineTool.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyLineTool.h deleted file mode 100644 index c6803c3..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyLineTool.h +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "ZxObjToolBase.h" -#include "mGuiPlot_global.h" - -//边界线工具 -class M_GUI_PLOT_EXPORT ZxObjBdyLineTool : public ZxObjToolBase -{ - Q_OBJECT - -public: - - ZxObjBdyLineTool(); - -protected: - - virtual Qt::CursorShape getCursorBy(const int& nOption, - const int& nSubIndex); - -public: - - virtual bool onLeftDown(const QPointF& pt); - virtual bool onMouseMove(const QPointF& pt); - virtual bool onLeftDoubleClick(const QPointF& pt); - - virtual void onPaint(QPainter* painter, const ZxPaintParam& param); - //绘制标签 - void drawLabel(QPainter* painter, QString str, QPointF pt); - -private: - -}; diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyParal.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyParal.h deleted file mode 100644 index a541c0b..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyParal.h +++ /dev/null @@ -1,80 +0,0 @@ -#pragma once - -#include "ZxObjLine.h" -#include "mGuiPlot_global.h" -#include "ZxObjBdyRect.h" -class ZxObjBdyPoint; - -//平行边界类型(垂直或者水平) -enum eParalType -{ - ParalT_Hor = 0, //水平 - ParalT_Ver, //垂直 - ParalT_None -}; - -//平形边界线 -class M_GUI_PLOT_EXPORT ZxObjBdyParal : public ZxObjBdyRect -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - ZxObjBdyParal(); - ZxObjBdyParal(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjBdyParal(); - -public: - //设置类型 - void setParalType(int eType); - int getParalType(); - // 封装 - virtual void initTools(); - - void initObj(); - - virtual bool _runHitTest(const QPointF& pt, int& nOption, int& nSubIndex); - // pt1:鼠标Down点,pt2:鼠标Up点 - virtual bool runMove(const QPointF& pt1, const QPointF& pt2); - // - void calBdyParalParam(eParalType eType, QVector& vecVals); - - void setBdyParalParam(eParalType eType); - //属性 - virtual void fillPtyPano(IxPtyPano* sheet); - - virtual void paintBack(QPainter* painter, - const ZxPaintParam& param); - // 根据pt1--->pt2的偏移,获取pt的偏移后的点 - // pt1:鼠标Down点,pt2:鼠标Up点 - QPointF offsetPoint(QPointF& pt, - const QPointF& pt1, const QPointF& pt2); - - //设置边界的距离(One代表左边界和上边界) - void setBdyLineOneDistance(double f); - double getBdyLineOneDistance(); - - //设置边界的距离 - void setBdyLineTwoDistance(double f); - double getBdyLineTwoDistance(); - - virtual void resetBdyParam(); - //设置参数后数据改变 - void calBdyParalParam(eBdyPosType ePosType, double fDis); - - //得到第一条边界 - iBdyInfo* getBdyLineOneParam(); - //得到第二条边界 - iBdyInfo* getBdyLineTwoParam(); - //根据一个点计算出两个点(取坐标轴的最大值一半) - bool getLinePts(QPointF pt,QVector& vecPts); -protected: - //平行类型 - eParalType m_eType; -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyParal.h.bak b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyParal.h.bak deleted file mode 100644 index bd1cb11..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyParal.h.bak +++ /dev/null @@ -1,81 +0,0 @@ -#pragma once - -#include "ZxObjLine.h" -#include "mGuiPlot_global.h" -#include "ZxObjBdyRect.h" -class ZxObjBdyPoint; - -//平行边界类型(垂直或者水平) -enum eParalType -{ - ParalT_None = 0, - ParalT_Hor, //水平 - ParalT_Ver //垂直 - -}; - -//平形边界线 -class M_GUI_PLOT_EXPORT ZxObjBdyParal : public ZxObjBdyRect -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - ZxObjBdyParal(); - ZxObjBdyParal(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjBdyParal(); - -public: - //设置类型 - void setParalType(int eType); - int getParalType(); - // 封装 - virtual void initTools(); - - void initObj(); - - virtual bool _runHitTest(const QPointF& pt, int& nOption, int& nSubIndex); - // pt1:鼠标Down点,pt2:鼠标Up点 - virtual bool runMove(const QPointF& pt1, const QPointF& pt2); - // - void calBdyParalParam(eParalType eType, QVector& vecVals); - - void setBdyParalParam(eParalType eType); - //属性 - virtual void fillPtyPano(IxPtyPano* sheet); - - virtual void paintBack(QPainter* painter, - const ZxPaintParam& param); - // 根据pt1--->pt2的偏移,获取pt的偏移后的点 - // pt1:鼠标Down点,pt2:鼠标Up点 - QPointF offsetPoint(QPointF& pt, - const QPointF& pt1, const QPointF& pt2); - - //设置边界的距离(One代表左边界和上边界) - void setBdyLineOneDistance(double f); - double getBdyLineOneDistance(); - - //设置边界的距离 - void setBdyLineTwoDistance(double f); - double getBdyLineTwoDistance(); - - virtual void resetBdyParam(); - //设置参数后数据改变 - void calBdyParalParam(eBdyPosType ePosType, double fDis); - - //得到第一条边界 - iBdyInfo* getBdyLineOneParam(); - //得到第二条边界 - iBdyInfo* getBdyLineTwoParam(); - //根据一个点计算出两个点(取坐标轴的最大值一半) - bool getLinePts(QPointF pt,QVector& vecPts); -protected: - //平行类型 - eParalType m_eType; -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyParalTool.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyParalTool.h deleted file mode 100644 index 7d646c1..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyParalTool.h +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "ZxObjToolBase.h" -#include "mGuiPlot_global.h" - -//平行边界线工具 -class M_GUI_PLOT_EXPORT ZxObjBdyParalTool : public ZxObjToolBase -{ - Q_OBJECT - -public: - - ZxObjBdyParalTool(); - -protected: - - virtual Qt::CursorShape getCursorBy(const int& nOption, - const int& nSubIndex); - -public: - - virtual bool onLeftDown(const QPointF& pt); - virtual bool onMouseMove(const QPointF& pt); - virtual bool onLeftDoubleClick(const QPointF& pt); - - virtual void onPaint(QPainter* painter, const ZxPaintParam& param); - //绘制标签 - void drawLabel(QPainter* painter, QString str, QPointF pt); - -private: - -}; diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyPoint.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyPoint.h deleted file mode 100644 index e9b0789..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyPoint.h +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include "ZxObjPoint.h" -#include "mGuiPlot_global.h" -#include "mAlgDefines.h" -#include "ZxObjBdyLine.h" -#include "ZxObjWmPoint.h" - - -class M_GUI_PLOT_EXPORT ZxObjBdyPoint : public ZxObjWmPoint -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - ZxObjBdyPoint(); - ZxObjBdyPoint(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjBdyPoint(); -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyRect.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyRect.h deleted file mode 100644 index 39e616e..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyRect.h +++ /dev/null @@ -1,81 +0,0 @@ -#pragma once - -#include "ZxObjLine.h" -#include "mGuiPlot_global.h" -#include "ZxObjBdyLine.h" -class ZxObjBdyPoint; - -//矩形边界线 -class M_GUI_PLOT_EXPORT ZxObjBdyRect : public ZxObjBdyBase -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - ZxObjBdyRect(); - ZxObjBdyRect(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjBdyRect(); - -public: - // 封装 - virtual void initTools(); - - void initObj(); - // 击中 - virtual bool hitTest(const QPointF& pt); - // 具体击中实现的函数,单纯击中,不做选项的改变 - // nOption用int是因为Rect类的击中选项不一致 - // nOption为负值,表示未击中,此时返回false - virtual bool _runHitTest(const QPointF& pt, int& nOption, int& nSubIndex); - // pt1:鼠标Down点,pt2:鼠标Up点 - virtual bool runMove(const QPointF& pt1, const QPointF& pt2); - - //属性 - virtual void fillPtyPano(IxPtyPano* sheet); - - virtual void paintBack(QPainter* painter, - const ZxPaintParam& param); - - // 根据pt1--->pt2的偏移,获取pt的偏移后的点 - // pt1:鼠标Down点,pt2:鼠标Up点 - QPointF offsetPoint(QPointF& pt, - const QPointF& pt1, const QPointF& pt2); - - //修改点改变长度 - virtual bool calNewPos(QVector& vec, QPointF ptMouse); - - //设置边界的距离 - void setBdyLineTopDistance(double f); - double getBdyLineTopDistance(); - - //设置边界的距离 - void setBdyLineBottomDistance(double f); - double getBdyLineBottomDistance(); - - //设置边界的距离 - void setBdyLineLeftDistance(double f); - double getBdyLineLeftDistance(); - - //设置边界的距离 - void setBdyLineRightDistance(double f); - double getBdyLineRightDistance(); - //移动后参数改变 - virtual void resetBdyParam(); - //设置参数后数据改变 - virtual void calBdyRectParam(eBdyPosType ePosType, double fDis); - -protected: - iBdyInfo* getBdyParam(eBdyPosType ePosType); - //得到井段的起始深度点 - ZxObjBdyPoint* getBdyPtObj(); - -protected: - //选中的 - int m_nSubIndex; -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyRectTool.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyRectTool.h deleted file mode 100644 index cd7bc2d..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyRectTool.h +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "ZxObjToolBase.h" -#include "mGuiPlot_global.h" - -//边界线工具 -class M_GUI_PLOT_EXPORT ZxObjBdyRectTool : public ZxObjToolBase -{ - Q_OBJECT - -public: - - ZxObjBdyRectTool(); - -protected: - - virtual Qt::CursorShape getCursorBy(const int& nOption, - const int& nSubIndex); - -public: - - virtual bool onLeftDown(const QPointF& pt); - virtual bool onMouseMove(const QPointF& pt); - virtual bool onLeftDoubleClick(const QPointF& pt); - - virtual void onPaint(QPainter* painter, const ZxPaintParam& param); - //绘制标签 - void drawLabel(QPainter* painter, QString str, QPointF pt); - -private: - -}; diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyTri.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyTri.h deleted file mode 100644 index 8d84845..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyTri.h +++ /dev/null @@ -1,97 +0,0 @@ -#pragma once - -#include "ZxObjLine.h" -#include "mGuiPlot_global.h" -#include "ZxObjBdyRect.h" -class ZxObjBdyPoint; - -//平行边界类型(垂直或者水平) -enum eTriType -{ - TriT_Left = 0, //左开口 - TriT_Right, //右开口 - TriT_Top, //上开口 - TriT_Bottom, //下开口 - TriT_None -}; - -//三条垂直边界线 -class M_GUI_PLOT_EXPORT ZxObjBdyTri : public ZxObjBdyRect -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - ZxObjBdyTri(); - ZxObjBdyTri(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjBdyTri(); - -public: - //设置类型 - void setTriType(int eType); - int getTriType(); - // 封装 - virtual void initTools(); - - void initObj(); - // 具体击中实现的函数,单纯击中,不做选项的改变 - // nOption用int是因为Rect类的击中选项不一致 - // nOption为负值,表示未击中,此时返回false - virtual bool _runHitTest(const QPointF& pt, int& nOption, int& nSubIndex); - - // pt1:鼠标Down点,pt2:鼠标Up点 - virtual bool runMove(const QPointF& pt1, const QPointF& pt2); - // - void calBdyTriParam(eTriType eType, QVector& vecVals); - - //属性 - virtual void fillPtyPano(IxPtyPano* sheet); - - virtual void paintBack(QPainter* painter, - const ZxPaintParam& param); - - //移动后参数改变 - virtual void resetBdyParam(); - //设置参数后数据改变 - virtual void calBdyRectParam(); - void resetBdyTriParam(); - //得到单边的参数指针 - iBdyInfo* getSingleBdy(); - //得到双边的上或者左指针 - iBdyInfo* getBdyLineOneParam(); - iBdyInfo* getBdyLineTwoParam(); - //不同类型获得上左点 - QPointF getLeftTopPos(); - QPointF getRightTopPos(); - QPointF getRightBottomPos(); - QPointF getLeftBottomPos(); - //数据点归位 - void setLeftTopPt(QPointF pt, QVector& vec); - void setRightTopPt(QPointF pt, QVector& vec); - void setRightBottomPt(QPointF pt, QVector& vec); - void setLeftBottomPt(QPointF pt, QVector& vec); - - //设置独立边界的距离 - void setBdySingleDistance(double f); - double getBdySingleDistance(); - - //设置边界的距离(One代表左边界和上边界) - void setBdyLineOneDistance(double f); - double getBdyLineOneDistance(); - - //设置边界的距离 - void setBdyLineTwoDistance(double f); - double getBdyLineTwoDistance(); - - -protected: - - //平行类型 - eTriType m_eType; -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyTriTool.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyTriTool.h deleted file mode 100644 index 0473396..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjBdyTriTool.h +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "ZxObjToolBase.h" -#include "mGuiPlot_global.h" - -//三条垂直界线工具 -class M_GUI_PLOT_EXPORT ZxObjBdyTriTool : public ZxObjToolBase -{ - Q_OBJECT - -public: - - ZxObjBdyTriTool(); - -protected: - - virtual Qt::CursorShape getCursorBy(const int& nOption, - const int& nSubIndex); - -public: - - virtual bool onLeftDown(const QPointF& pt); - virtual bool onMouseMove(const QPointF& pt); - virtual bool onLeftDoubleClick(const QPointF& pt); - - virtual void onPaint(QPainter* painter, const ZxPaintParam& param); - //绘制标签 - void drawLabel(QPainter* painter, QString str, QPointF pt); - -private: - -}; diff --git a/Include/mGui/mGuiPlot/WellBdy/ZxObjCompass.h b/Include/mGui/mGuiPlot/WellBdy/ZxObjCompass.h deleted file mode 100644 index 76468b6..0000000 --- a/Include/mGui/mGuiPlot/WellBdy/ZxObjCompass.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include "ZxObjBase.h" -#include "mGuiPlot_global.h" - -//指北针图元 -class M_GUI_PLOT_EXPORT ZxObjCompass : public ZxObjBase -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - ZxObjCompass(); - ZxObjCompass(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjCompass(); - -public: - //初始化 - virtual void initObj(); - // paint - virtual void paintBack(QPainter* painter, - const ZxPaintParam& param); - //绘制标签 - void paintLabel(QPainter* painter,QPointF pt, QString sLabel); -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellMap/ZxObjSegData.h b/Include/mGui/mGuiPlot/WellMap/ZxObjSegData.h deleted file mode 100644 index 0d92825..0000000 --- a/Include/mGui/mGuiPlot/WellMap/ZxObjSegData.h +++ /dev/null @@ -1,45 +0,0 @@ -#pragma once - -#include "ZxObjPoint.h" -#include "mGuiPlot_global.h" -#include "mAlgDefines.h" - -class ZxDataWell; -class ZxObjSegLine; -//产液段数据体 -class M_GUI_PLOT_EXPORT ZxObjSegData : public QObject, - virtual public IxSerDes -{ - Q_OBJECT - //ZX_DECLARE_DYNAMIC - -public: - ZxObjSegData(ZxObjSegLine* p); - ~ZxObjSegData(); - - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - -public: - - //设置产液段整体信息ZXF20240704 - void setSegMapInfos(QMap mapInfos); - QMap getSegMapInfos(); - - //得到产液段的参数 - bool getSegParamVal(QString sParam, double& fVal); - void setSegParamVal(QString sParam, double& fVal); - - //产液段对象 - ZxObjSegLine* getSegLineObj(); - void setSegLineObj(ZxObjSegLine *p); -protected: - - ZxObjSegLine* m_pSegLine; //绑定产液段对象 - //产液段数据体ZXF20270704 - QMap m_mapSegInfos; -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellMap/ZxObjSegLine.h b/Include/mGui/mGuiPlot/WellMap/ZxObjSegLine.h deleted file mode 100644 index 1bfcd70..0000000 --- a/Include/mGui/mGuiPlot/WellMap/ZxObjSegLine.h +++ /dev/null @@ -1,92 +0,0 @@ -#pragma once - -#include "ZxObjLine.h" -#include "mGuiPlot_global.h" - -//井段 -class ZxObjWmLinePlus; -class ZxObjSegData; -class M_GUI_PLOT_EXPORT ZxObjSegLine : public ZxObjLine -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - ZxObjSegLine(); - ZxObjSegLine(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjSegLine(); - - //得到产液段数据体 - ZxObjSegData* getObjSegData(); - - //得到深度点对应的点Pos - QPointF getSegLineDepthPos(); - - //获得对应数据(长度,位置) - bool getSegParamVal(QString sParam, double& dVal); - void setSegParamVal(QString sParam, double& dVal); - - //位置长度 - void setSegLineLenght(double dVal); - double getSegLineLenght(); - - //位置 - void setSegLineDepth(double dDepth); - double getSegLineDepth(); - - //得到角度 - void setSegLineAngle(double dAngle); - double getSegLineAngle(); - -public: - - // 封装 - virtual void initTools(); - - // 击中 - virtual bool hitTest(const QPointF& pt); - // 具体击中实现的函数,单纯击中,不做选项的改变 - // nOption用int是因为Rect类的击中选项不一致 - // nOption为负值,表示未击中,此时返回false - virtual bool _runHitTest(const QPointF& pt, int& nOption, int& nSubIndex); - // pt1:鼠标Down点,pt2:鼠标Up点 - virtual bool runMove(const QPointF& pt1, const QPointF& pt2); - //计算偏移后位置 - QPointF offsetPoint(QPointF& pt, - const QPointF& pt1, const QPointF& pt2); - - //移动点改变长度 - bool calNewPosChangeLenght(QVector& vec, QPointF ptMouse); - //移动点改变角度 - bool calNewPosChangeAngle(QVector& vec, QPointF ptMouse); - - virtual bool calNewPos(QVector& vec, QPointF ptMouse); - //属性 - virtual void fillPtyPano(IxPtyPano* sheet); - //得到线的中点Pos - QPointF getCenterPosPt(); - //得到线中点Val - QPointF getCenterValPt(); - //改变位置 - void calChangedDepth(double dVal, QPointF& ptStart, QPointF& ptEnd); - //改变长度 - void calChangedLenght(double dVal, QPointF& p1); - //改变角度 - void calChangedAngle(double dVal, QPointF& p1, QPointF& p2); -protected: - //得到前一个 - ZxObjSegLine* getPreSegLineObj(); - //得到后一个 - ZxObjSegLine* getNextSegLineObj(); - //得到井段的起始深度点 - ZxObjWmLinePlus* getWnLineObj(); -protected: - //产液线对象 - ZxObjSegData* m_pData; -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellMap/ZxObjSegLineTool.h b/Include/mGui/mGuiPlot/WellMap/ZxObjSegLineTool.h deleted file mode 100644 index 669701a..0000000 --- a/Include/mGui/mGuiPlot/WellMap/ZxObjSegLineTool.h +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "ZxObjToolBase.h" -#include "mGuiPlot_global.h" - -//产液段线工具 -class M_GUI_PLOT_EXPORT ZxObjSegLineTool : public ZxObjToolBase -{ - Q_OBJECT - -public: - - ZxObjSegLineTool(); - -protected: - - virtual Qt::CursorShape getCursorBy(const int& nOption, - const int& nSubIndex); - -public: - - virtual bool onLeftDown(const QPointF& pt); - virtual bool onMouseMove(const QPointF& pt); - virtual bool onLeftDoubleClick(const QPointF& pt); - - virtual void onPaint(QPainter* painter, const ZxPaintParam& param); - //绘制标签 - void drawLabel(QPainter* painter, QString str, QPointF pt); - -private: - -}; diff --git a/Include/mGui/mGuiPlot/WellMap/ZxObjWmData.h b/Include/mGui/mGuiPlot/WellMap/ZxObjWmData.h deleted file mode 100644 index 1d04ead..0000000 --- a/Include/mGui/mGuiPlot/WellMap/ZxObjWmData.h +++ /dev/null @@ -1,105 +0,0 @@ -#pragma once - -#include "ZxObjPoint.h" -#include "mGuiPlot_global.h" -#include "mAlgDefines.h" - -class ZxDataWell; -class ZxObjWmPoint; -class M_GUI_PLOT_EXPORT ZxObjWmData : public QObject, - virtual public IxSerDes -{ - Q_OBJECT - //ZX_DECLARE_DYNAMIC - -public: - ZxObjWmData(ZxObjWmPoint* p); - ~ZxObjWmData(); - - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - -public: - - // 基础数据 - void loadBaseInfos(); - - // 后处理,如距离 - void dealwithInfos(); - - // 从外界传输,仅仅从外界调用 - void setPosX(double f); //坐标X - double getPosX(); - void setPosY(double f); - double getPosY(); - void setWellDis(double f); //井间距离 - double getWellDis(); - void setWellSlope(double f);//井间倾斜 - double getWellSlope(); - void setWmLen(double f);//井长 - double getWmLen(); - void setWmDev(double f);//井斜 - double getWmDev(); - void setSegCount(int n);//段数 - int getSegCount(); - void setSegLenV(double n);//裂缝半长 - double getSegLenV(); - - double getItemValueOf(QString s); - void setItemValueOf(QString s, double f); - -public: - - // 是否有效 - bool isDataValid(); - //void setDataValid(bool b); - - // 类型 - void setWmt(m_Wel_Type o); - m_Wel_Type getWmt(); - - // 数据获取 - QMap* getMapInfos(); - VVecDouble* getVVecDataF(); //流量数据 - VVecDouble* getVVecDataP(); //压力数据 - - // 本身的ZxDataWell对象 - void setDataObj(ZxDataWell* p); - ZxDataWell* getDataObj(); - - // 是否中心井 - bool isCenterWmPt(); - void setAsCenterWmPt(bool b); - - // 中心井 - ZxObjWmPoint* getWmPtC(); - void setWmPtC(ZxObjWmPoint *p); - - // 设置压力、流量 - bool setDataPF(QVector& vecP, //Pressure Data - QVector& vecF); - void setDataP(VVecDouble& vvec); - void setDataF(VVecDouble& vvec); - - // 自动添加的部分 - QStringList getDefaultParas(); - -protected: - - ZxObjWmPoint* m_pWmPt; //本身绑定的对象 - ZxObjWmPoint* m_pWmPtC; //中心井对应的对象 - bool m_bWmPtC; //是否中心井 - bool m_bDataValid; - - // m_sName; //Name - m_Wel_Type m_oWmt; //井型 - QMap m_mapInfos; //基础信息 - VVecDouble m_vvecDataF; //流量数据 - VVecDouble m_vvecDataP; //压力数据 - - ZxDataWell* m_pDataObj; //设置的WellObj -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellMap/ZxObjWmLine.h b/Include/mGui/mGuiPlot/WellMap/ZxObjWmLine.h deleted file mode 100644 index 4732c38..0000000 --- a/Include/mGui/mGuiPlot/WellMap/ZxObjWmLine.h +++ /dev/null @@ -1,85 +0,0 @@ -#pragma once - -#include "ZxObjWmPoint.h" -#include "mGuiPlot_global.h" - -class M_GUI_PLOT_EXPORT ZxObjWmLine : public ZxObjWmPoint -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - ZxObjWmLine(); - ZxObjWmLine(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjWmLine(); - -public: - - // 封装 - virtual void initTools(); - - // 击中 - virtual bool hitTest(const QPointF& pt); - // 具体击中实现的函数,单纯击中,不做选项的改变 - // nOption用int是因为Rect类的击中选项不一致 - // nOption为负值,表示未击中,此时返回false - virtual bool _runHitTest(const QPointF& pt, int& nOption, int& nSubIndex); - // 击中后,ButtonUp后的处理 - // pt1:鼠标Down点,pt2:鼠标Up点 - virtual bool runMove(const QPointF& pt1, const QPointF& pt2); - - virtual bool calNewPos(QVector& vec, QPointF ptMouse); - - // 移动位置后,刷新相关的信息,如距离、角度、长度等 - virtual bool reCalInfos(); - // 0-180,°,90°,120°等等 - double getLineAngle(); - // 在右侧手工改动数据,刷新数据点,m_pData已经改变,不予考虑 - virtual bool freshWmPosBy(QString sPara, double f); - -protected: - - virtual QPointF getCenterPos(); - - virtual void resetBounds(); - - // 绘制线 - virtual bool drawLine(QPainter* painter, QLineF& oLine); - // 绘制垂线 - virtual bool drawSubLines(QPainter* painter, QLineF& oLine); - // 绘制井点 - virtual bool drawWellPos(QPainter* painter, QPointF pt); - // 绘制选择 - virtual bool drawSelStates(QPainter* painter, QLineF& oLine); - -public: - - virtual void paintBack(QPainter* painter, - const ZxPaintParam& param); - - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - virtual void onLoadTempl(ZxSerializer* ser); - virtual void onSaveTempl(ZxSerializer* ser); - - virtual void fillPtyPano(IxPtyPano* sheet); - -public: - - // 得到/设置画笔 - QPen getSubPen(void) const; - void setSubPen(QPen o); - -protected: - - //double m_fSlope; //这是针对特征线时后的斜率值 - - QPen m_oSubPen; -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellMap/ZxObjWmLinePlus.h b/Include/mGui/mGuiPlot/WellMap/ZxObjWmLinePlus.h deleted file mode 100644 index 19280f1..0000000 --- a/Include/mGui/mGuiPlot/WellMap/ZxObjWmLinePlus.h +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "ZxObjWmLine.h" -#include "mGuiPlot_global.h" - -class M_GUI_PLOT_EXPORT ZxObjWmLinePlus : public ZxObjWmLine -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - ZxObjWmLinePlus(); - ZxObjWmLinePlus(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjWmLinePlus(); - -public: - - -protected: - -public: - - virtual void paintBack(QPainter* painter, - const ZxPaintParam& param); - -protected: - -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellMap/ZxObjWmLineTool.h b/Include/mGui/mGuiPlot/WellMap/ZxObjWmLineTool.h deleted file mode 100644 index 0a7baad..0000000 --- a/Include/mGui/mGuiPlot/WellMap/ZxObjWmLineTool.h +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include "ZxObjWmPointTool.h" -#include "mGuiPlot_global.h" - -// 点工具 -class M_GUI_PLOT_EXPORT ZxObjWmLineTool : public ZxObjWmPointTool -{ - Q_OBJECT - -public: - - ZxObjWmLineTool(); - -protected: - - virtual Qt::CursorShape getCursorBy(const int& nOption, - const int& nSubIndex); - -public: - - virtual bool onLeftDown(const QPointF& pt); - virtual bool onLeftUp(const QPointF& pt); - virtual bool onMouseMove(const QPointF& pt); - virtual bool onMouseWheel(const QPointF& pt, int delta); - virtual bool onLeftDoubleClick(const QPointF& pt); - virtual void onKeyPress(QKeyEvent *event); - - virtual void onPaint(QPainter* painter, const ZxPaintParam& param); - -private: - -}; diff --git a/Include/mGui/mGuiPlot/WellMap/ZxObjWmPoint.h b/Include/mGui/mGuiPlot/WellMap/ZxObjWmPoint.h deleted file mode 100644 index 27a223a..0000000 --- a/Include/mGui/mGuiPlot/WellMap/ZxObjWmPoint.h +++ /dev/null @@ -1,115 +0,0 @@ -#pragma once - -#include "ZxObjPoint.h" -#include "mGuiPlot_global.h" -#include "mAlgDefines.h" - -class ZxObjWmData; -class M_GUI_PLOT_EXPORT ZxObjWmPoint : public ZxObjPoint -{ - Q_OBJECT - ZX_DECLARE_DYNAMIC - -public: - - ZxObjWmPoint(); - ZxObjWmPoint(const QString& sName, - ZxSubAxisX* pAxisX, - ZxSubAxisY* pAxisY); - ~ZxObjWmPoint(); - -public: - - // 辅助信息 - virtual void initSubObjs(); - virtual void resetOthers(); - - // 封装 - virtual void initTools(); - - // 设置显示的标识 - void setPointTag(QString s); - // 具体击中实现的函数,单纯击中,不做选项的改变 - // nOption用int是因为Rect类的击中选项不一致 - // nOption为负值,表示未击中,此时返回false - virtual bool _runHitTest(const QPointF& pt, int& nOption, int& nSubIndex); - // 击中后,ButtonUp后的处理 - // pt1:鼠标Down点,pt2:鼠标Up点 - virtual bool runMove(const QPointF& pt1, const QPointF& pt2); - - // 移动位置后,刷新相关的信息,如距离、角度、长度等 - virtual bool reCalInfos(); - - // 返回数据体 - ZxObjWmData* getWmData(); - - // 在右侧手工改动数据,刷新数据点,m_pData已经改变,不予考虑 - virtual bool freshWmPosBy(QString sPara, double f); - virtual bool freshWmAboutBy(QString sPara, double f); - - // - QColor getColorOuter() const; - void setColorOuter(QColor clr); - QColor getColorFillUnvalid() const; - void setColorFillUnvalid(QColor clr); - - // 从外界传输,仅仅从外界调用 - void setPosX(double f); //坐标X - double getPosX(); - void setPosY(double f); - double getPosY(); - void setWellDis(double f); //井间距离 - double getWellDis(); - void setWellSlope(double f);//井间倾斜 - double getWellSlope(); - void setWmLen(double f);//井长 - double getWmLen(); - void setWmDev(double f);//井斜 - double getWmDev(); - void setSegCount(int n);//段数 - int getSegCount(); - void setSegLenV(double n);//裂缝半长 - double getSegLenV(); - - -signals: - - void sigWmInfoChanged(QString sParaBy); - -protected: - - // 设置图元对象的属性标志 - virtual void initFlags(); - - // 绘制井点 - virtual bool drawWellPos(QPainter* painter, QPointF pt); - virtual bool drawWellLine2Center(QPainter* painter, QPointF pt); - // 绘制名称 - virtual bool drawWellName(QPainter* painter, QPointF pt); - virtual QRectF fuzzyNameBounds(); - -public: - virtual void paintBack(QPainter* painter, - const ZxPaintParam& param); - - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - virtual void onLoadTempl(ZxSerializer* ser); - virtual void onSaveTempl(ZxSerializer* ser); - - virtual void fillPtyPano(IxPtyPano* sheet); - -public: - -protected: - - QColor m_clrFillUnvalid; //无效时填充颜色 - QColor m_clrOuter; //外边界颜色 - - ZxObjWmData* m_pData; -}; - - - - diff --git a/Include/mGui/mGuiPlot/WellMap/ZxObjWmPointTool.h b/Include/mGui/mGuiPlot/WellMap/ZxObjWmPointTool.h deleted file mode 100644 index 23aba90..0000000 --- a/Include/mGui/mGuiPlot/WellMap/ZxObjWmPointTool.h +++ /dev/null @@ -1,45 +0,0 @@ -#pragma once - -#include "ZxObjPointTool.h" -#include "mGuiPlot_global.h" - -#include "mAlgDefines.h" - -// 点工具 -class M_GUI_PLOT_EXPORT ZxObjWmPointTool : public ZxObjPointTool -{ - Q_OBJECT - -public: - - ZxObjWmPointTool(); - -signals: - - void sigPointsHit(QVector); - -protected: - virtual Qt::CursorShape getCursorBy(const int& nOption, - const int& nSubIndex); - -public: - - virtual bool onLeftDown(const QPointF& pt); - virtual bool onLeftUp(const QPointF& pt); - virtual bool onMouseMove(const QPointF& pt); - virtual bool onMouseWheel(const QPointF& pt, int delta); - virtual bool onLeftDoubleClick(const QPointF& pt); - virtual void onKeyPress(QKeyEvent *event); - - virtual void onPaint(QPainter* painter, const ZxPaintParam& param); - -public: - - void setWmt(m_Wel_Type o); - m_Wel_Type getWmt(); - -protected: - - m_Wel_Type m_oWmt; - -}; diff --git a/Include/mGui/mGuiPlot/WellMap/iWxWmDataPF.h b/Include/mGui/mGuiPlot/WellMap/iWxWmDataPF.h deleted file mode 100644 index 1161f87..0000000 --- a/Include/mGui/mGuiPlot/WellMap/iWxWmDataPF.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include "iWxTablePF.h" - -class M_GUI_PLOT_EXPORT iWxWmDataPF : public iWxTablePF -{ - Q_OBJECT - -public: - explicit iWxWmDataPF(const QString& sTitle, - bool bPressure, - QWidget *parent = 0); - ~iWxWmDataPF(); - - // 初始化 - virtual void initUI(); - - // 刷新 - void freshTableByObj(ZxObjBase* p, bool bPtsOnly); - virtual void freshBrotherByTable(); - -protected: - - virtual void paintEvent(QPaintEvent *); - -public slots: - -signals: - -private: -}; diff --git a/Include/mGui/mGuiPlot/iGuiPlotBdy.h b/Include/mGui/mGuiPlot/iGuiPlotBdy.h deleted file mode 100644 index 5a7129e..0000000 --- a/Include/mGui/mGuiPlot/iGuiPlotBdy.h +++ /dev/null @@ -1,91 +0,0 @@ -#pragma once - -#include "iGuiPlot.h" -#include "mAlgDefines.h" -#include "ZxObjBdyBase.h" -class ZxDataWell; -class ZxObjBase; -class ZxObjBdyPoint; -class ZxObjCompass; - -//ZXF202409 -//边界设置 -class M_GUI_PLOT_EXPORT iGuiPlotBdy : public iGuiPlot -{ - Q_OBJECT - -public: - - explicit iGuiPlotBdy(bool bUseBtn = true, QWidget *parent = 0); - ~iGuiPlotBdy(); - - // 初始化UI - virtual void initUI(QString sTitle, QSize szDefault = QSize(265, 203)); - - // 反序列化后,把数据重新加入m_mapCurveData与m_mapCurveType - virtual void resetAfterDeserialized(); - - // 刷新图形 - virtual void runUpdate(); - - // 设置中心井 - void setCentralWell(ZxDataWell* p); - // 添加中心井 - void appendWmPtCObj(VecBdyInfos vecBdyInfos, m_Bdy_Type eType); - // 创建添加一个Obj - ZxObjBdyPoint* appendOneWmObj(m_Wel_Type oType, - QString &sName, - QVector& vec, - bool bCentral = false); - - ZxObjBdyPoint* _createOneWmObj(m_Wel_Type oType, - QString &sName, - QVector& vec); - - //添加指北针 - ZxObjCompass* appendOneCompassObj(); - - //添加边界线 - void appendBdyLineObjs(VecBdyInfos vecBdyInfos); - //矩形边界线 - void appendBdyRectObjs(VecBdyInfos vecBdyInfos); - //圆形边界线 - void appendBdyCricleObjs(VecBdyInfos vecBdyInfos); - //交叉边界 - void appendBdyCrossObjs(VecBdyInfos vecBdyInfos); - //平行边界 - void appendBdyParalObjs(VecBdyInfos vecBdyInfos); - //三条垂直边界 - void appendBdyTriObjs(VecBdyInfos vecBdyInfos); -protected: - - // 调整UI - void adjustPlotUI(); - // 刷新 - virtual void updatePlots(); - // 绘制Painter函数重载 - virtual void paintEvent(QPaintEvent *); -public: - virtual void resizeEvent(QResizeEvent * event); - -public slots: - //属性 - void slotShowProperty(); - - //边界线 - void slotObjBdyLineChanged(); - -signals: - // 获取当前中心井的压力和流量 - void sigGetCentralDataPF(QVector& vecP, - QVector& vecF); - //属性 - void sigShowProperty(); - - //ObjSegLine改变 - void sigObjBdyLineChanged(ZxObjBase*); - -protected: - ZxDataWell* m_pCenterWell; - ZxObjBdyPoint* m_pWmPtC; -}; diff --git a/Include/mGui/mGuiPlot/iGuiPlotBdy.h.bak b/Include/mGui/mGuiPlot/iGuiPlotBdy.h.bak deleted file mode 100644 index 4223bad..0000000 --- a/Include/mGui/mGuiPlot/iGuiPlotBdy.h.bak +++ /dev/null @@ -1,87 +0,0 @@ -#pragma once - -#include "iGuiPlot.h" -#include "mAlgDefines.h" -#include "ZxObjBdyBase.h" -class ZxDataWell; -class ZxObjBase; -class ZxObjBdyPoint; - -//ZXF202409 -//边界设置 -class M_GUI_PLOT_EXPORT iGuiPlotBdy : public iGuiPlot -{ - Q_OBJECT - -public: - - explicit iGuiPlotBdy(bool bUseBtn = true, QWidget *parent = 0); - ~iGuiPlotBdy(); - - // 初始化UI - virtual void initUI(QString sTitle, QSize szDefault = QSize(265, 203)); - - // 反序列化后,把数据重新加入m_mapCurveData与m_mapCurveType - virtual void resetAfterDeserialized(); - - // 刷新图形 - virtual void runUpdate(); - - // 设置中心井 - void setCentralWell(ZxDataWell* p); - // 添加中心井 - void appendWmPtCObj(VecBdyInfos vecBdyInfos, m_Bdy_Type eType); - // 创建添加一个Obj - ZxObjBdyPoint* appendOneWmObj(m_Wel_Type oType, - QString &sName, - QVector& vec, - bool bCentral = false); - - ZxObjBdyPoint* _createOneWmObj(m_Wel_Type oType, - QString &sName, - QVector& vec); - - //添加边界线 - void appendBdyLineObjs(VecBdyInfos vecBdyInfos); - //矩形边界线 - void appendBdyRectObjs(VecBdyInfos vecBdyInfos); - //圆形边界线 - void appendBdyCricleObjs(VecBdyInfos vecBdyInfos); - //交叉边界 - void appendBdyCrossObjs(VecBdyInfos vecBdyInfos); - //平行边界 - void appendBdyParalObjs(VecBdyInfos vecBdyInfos); - //三条垂直边界 - void appendBdyTriObjs(VecBdyInfos vecBdyInfos); -protected: - - // 调整UI - void adjustPlotUI(); - // 刷新 - virtual void updatePlots(); - // 绘制Painter函数重载 - virtual void paintEvent(QPaintEvent *); -public: - virtual void resizeEvent(QResizeEvent * event); - -public slots: - //属性 - void slotShowProperty(); - - //边界线 - void slotObjBdyLineChanged(); - -signals: - // 获取当前中心井的压力和流量 - void sigGetCentralDataPF(QVector& vecP, - QVector& vecF); - //属性 - void sigShowProperty(); - - //ObjSegLine改变 - void sigObjBdyLineChanged(ZxObjBase*); - -protected: - ZxDataWell* m_pCenterWell; - ZxObjBdyPoint* m_pWmPtC; -}; diff --git a/Include/mGui/mGuiPlot/iGuiPlotBdyCmdHelper.h b/Include/mGui/mGuiPlot/iGuiPlotBdyCmdHelper.h deleted file mode 100644 index 1526697..0000000 --- a/Include/mGui/mGuiPlot/iGuiPlotBdyCmdHelper.h +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "iGuiPlotCmdHelper.h" - -// 该类是iGuiPlot的Cmd命令分发处理 -class M_GUI_PLOT_EXPORT iGuiPlotBdyCmdHelper - : public iGuiPlotCmdHelper -{ - Q_OBJECT - -public: - explicit iGuiPlotBdyCmdHelper(iGuiPlot* p); - ~iGuiPlotBdyCmdHelper(); - - virtual bool runAction(QString sAction); - -signals: - //属性显示信号 - void sigShowProperty(); -public slots: - - void slotObjFinished(); - //属性是否显示 - virtual void slotShowProperty(); - -protected: - - friend class iGuiPlot; -}; diff --git a/Include/mGui/mGuiPlot/iGuiPlotMap.h b/Include/mGui/mGuiPlot/iGuiPlotMap.h deleted file mode 100644 index 1c2fc57..0000000 --- a/Include/mGui/mGuiPlot/iGuiPlotMap.h +++ /dev/null @@ -1,104 +0,0 @@ -#pragma once - -#include "Defines.h" -#include "ZxDataObject.h" -#include "iGuiPlot.h" -#include "mAlgDefines.h" -class ZxDataWell; -class ZxObjBase; -class ZxObjWmPoint; - -// WellMap -class M_GUI_PLOT_EXPORT iGuiPlotMap : public iGuiPlot -{ - Q_OBJECT - -public: - - explicit iGuiPlotMap(bool bUseBtn = true, QWidget *parent = 0); - ~iGuiPlotMap(); - - // 初始化UI - virtual void initUI(QString sTitle, QSize szDefault = QSize(265, 203)); - - // 反序列化后,把数据重新加入m_mapCurveData与m_mapCurveType - virtual void resetAfterDeserialized(); - - // 刷新图形 - virtual void runUpdate(); - - // 设置中心井 - void setCentralWell(ZxDataWell* p); - - // 返回井点信息 - bool getWmInfos(QVector& vecWms); - - // 添加井 - void appendWmPtObjs(ZxDataObjectList& vecWells); - - // 创建添加一个Obj(从井数据体中自动创建) - ZxObjWmPoint* appendOneWmObj(ZxDataWell* pDataWell); - // 鼠标交互式插入窗口(传入的是鼠标坐标/屏幕坐标) - ZxObjWmPoint* appendOneWmObjEx(m_Wel_Type oType, - QString &sName, \ - QVector& vec); - ZxObjWmPoint* _createOneWmObj(m_Wel_Type oType, - QString &sName); - - // 返回当前选中的井点对应的数据对象 - void getSelectedWellDatas(QVector& vecWells, bool bOnlyOne); - -protected: - - // 调整UI - void adjustPlotUI(); - - // 刷新 - virtual void updatePlots(); - virtual void loadDefaultCurvePF(QVector& vecP, \ - QVector& vecF, \ - ZxDataWell* pWell); - - // 绘制Painter函数重载 - virtual void paintEvent(QPaintEvent *); - virtual void resizeEvent(QResizeEvent * event); - -public slots: - - // Obj选择状态改变 - void slotWmObjSelChanged(bool); - // Obj数据发生了改变 - void slotWmObjPtsChanged(); - - // 这是从 tPlotCurveView传递过来的拖拽处理 - void slotCheckDragAccepted(QDragEnterEvent* event, bool&b); - void slotDealwithDrop(QDropEvent* event); - - // 确保方格 - virtual void slotChangeSizeWithChangedXY(); - - // 当某个数据对象右键选中时,触发调整右键菜单 - virtual void slotAdjustContextMenuBy(ZxObjBase* pObj, QMenu* pMenu); - void slotSetAsCurWell(); - void slotRunAnalPF(); - void slotRunAnalNm(); - -signals: - // Obj选择状态改变 - void sigWmObjSelChanged(ZxObjBase*, bool); - // Obj数据发生了改变 - void sigWmObjPtsChanged(ZxObjBase*); - // 获取当前中心井的压力和流量 - void sigGetCentralDataPF(QVector& vecP, - QVector& vecF); - - // 以当前选择的井点进行相关的右键菜单触发 - void sigSetAsCurWell(ZxDataWell* pDataWell); - void sigRunAnalPF(ZxDataWell* pDataWell); - void sigRunAnalNm(QVector& vecWells); - -protected: - - ZxDataWell* m_pCenterWell; - ZxObjWmPoint* m_pWmPtC; -}; diff --git a/Include/mGui/mGuiPlot/iGuiPlotMapCmdHelper.h b/Include/mGui/mGuiPlot/iGuiPlotMapCmdHelper.h deleted file mode 100644 index 83816c6..0000000 --- a/Include/mGui/mGuiPlot/iGuiPlotMapCmdHelper.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include "iGuiPlotCmdHelper.h" - -class ZxObjWmPointTool; -class ZxObjWmLineTool; - -// 该类是iGuiPlot的Cmd命令分发处理 -class M_GUI_PLOT_EXPORT iGuiPlotMapCmdHelper - : public iGuiPlotCmdHelper -{ - Q_OBJECT - -public: - explicit iGuiPlotMapCmdHelper(iGuiPlot* p); - ~iGuiPlotMapCmdHelper(); - - virtual bool runAction(QString sAction); - -public slots: - - void slotObjFinished(); - void slotPointsHit(QVector vec); - -protected: - - ZxObjWmPointTool* m_pTool1; - ZxObjWmLineTool* m_pTool2; - - friend class iGuiPlot; -}; diff --git a/Include/mGui/mGuiPlot/iGuiPlotSeg.h b/Include/mGui/mGuiPlot/iGuiPlotSeg.h deleted file mode 100644 index 3e9f545..0000000 --- a/Include/mGui/mGuiPlot/iGuiPlotSeg.h +++ /dev/null @@ -1,107 +0,0 @@ -#pragma once - -#include "iGuiPlot.h" -#include "mAlgDefines.h" -class ZxDataWell; -class ZxObjBase; -class ZxObjWmPoint; -class ZxObjSegLine; - -//ZXF20240703 -//水平井段设置 -class M_GUI_PLOT_EXPORT iGuiPlotSeg : public iGuiPlot -{ - Q_OBJECT - -public: - - explicit iGuiPlotSeg(bool bUseBtn = true, QWidget *parent = 0); - ~iGuiPlotSeg(); - - // 初始化UI - virtual void initUI(QString sTitle, QSize szDefault = QSize(265, 203)); - - // 反序列化后,把数据重新加入m_mapCurveData与m_mapCurveType - virtual void resetAfterDeserialized(); - - // 刷新图形 - virtual void runUpdate(); - - // 设置中心井 - void setCentralWell(ZxDataWell* p); - - // 返回井点信息 - bool getWmInfos(QVector& vecWms); - - // 添加中心水平井 - void appendWmPtCObj(double fTop, double fBottom, - QStringList listSegTags, - QMap > mapInfos); - - // 创建添加一个Obj - ZxObjWmPoint* appendOneWmObj(m_Wel_Type oType, - QString &sName, - QVector& vec, - bool bCentral = false); - ZxObjWmPoint* _createOneWmObj(m_Wel_Type oType, - QString &sName, - QVector& vec); - - //添加产液线 - //添加产液线对象 - ZxObjSegLine* appendSegObj(QString& sName, QMap& map); - //添加新的产液线对象 - ZxObjSegLine* _createOneSegObj(QString &sName,QMap& map); - //等间隔布局(弹框,对话框设置,根据起始深度和终止深度和设置间隔进行布局) - void calEquLayout(); - //整体一起设置 - void calWholeSet(); - //鼠标交互整体调整ZXF202409 - void calTotalSet(); - -protected: - // 调整UI - void adjustPlotUI(); - // 刷新 - virtual void updatePlots(); - // 绘制Painter函数重载 - virtual void paintEvent(QPaintEvent *); - - //改变其他产液线(动的产液线)ZXF202409整体一起联动(鼠标交互后操作) - void setOtherSegLine(ZxObjSegLine* pSrcSegLine); - -public slots: - // Obj选择状态改变 - void slotWmObjSelChanged(bool); - // Obj数据发生了改变 - void slotWmObjPtsChanged(); - - //ObjSegLine数据改变 - void slotObjSegLineChanged(); - - //对产液线参数进行修改 - void slotSegTableChanged(QString sTagName, QString sParam, double fVal); - //属性 - void slotShowProperty(); - -signals: - // Obj选择状态改变 - void sigWmObjSelChanged(ZxObjBase*, bool); - // Obj数据发生了改变 - void sigWmObjPtsChanged(ZxObjBase*); - // 获取当前中心井的压力和流量 - void sigGetCentralDataPF(QVector& vecP, - QVector& vecF); - - //ObjSegLine改变 - void sigObjSegLineChanged(ZxObjBase*); - //属性 - void sigShowProperty(); - -protected: - - ZxDataWell* m_pCenterWell; - ZxObjWmPoint* m_pWmPtC; - //是否整体调整(鼠标交互的时候) - bool m_bTotalSet; -}; diff --git a/Include/mGui/mGuiPlot/iGuiPlotSegCmdHelper.h b/Include/mGui/mGuiPlot/iGuiPlotSegCmdHelper.h deleted file mode 100644 index 0e5ff77..0000000 --- a/Include/mGui/mGuiPlot/iGuiPlotSegCmdHelper.h +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "iGuiPlotCmdHelper.h" - -// 该类是iGuiPlot的Cmd命令分发处理 -class M_GUI_PLOT_EXPORT iGuiPlotSegCmdHelper - : public iGuiPlotCmdHelper -{ - Q_OBJECT - -public: - explicit iGuiPlotSegCmdHelper(iGuiPlot* p); - ~iGuiPlotSegCmdHelper(); - - virtual bool runAction(QString sAction); - -signals: - //属性显示信号 - void sigShowProperty(); -public slots: - - void slotObjFinished(); - //属性是否显示 - virtual void slotShowProperty(); - -protected: - - friend class iGuiPlot; -}; diff --git a/Include/mGui/mGuiPlot/iWxSegLineLayout.h b/Include/mGui/mGuiPlot/iWxSegLineLayout.h deleted file mode 100644 index be7f979..0000000 --- a/Include/mGui/mGuiPlot/iWxSegLineLayout.h +++ /dev/null @@ -1,62 +0,0 @@ -#pragma once - -#include "iDlgBase.h" - -#include "mGuiPlot_global.h" - -//产液线整体布局(设置初始位置,间隔等参数) -enum eSetMethod -{ - SM_None = 0, - SM_FixStartDepth, //设置起点,步长 - SM_FixEndDepth, //设置终点,步长 - SM_FixDepth //设置起点,终点 -}; - -class M_GUI_PLOT_EXPORT iWxSegLineLayout : public iDlgBase -{ - Q_OBJECT - -public: - explicit iWxSegLineLayout(QWidget *parent = NULL); - ~iWxSegLineLayout(); - //设井深度 - void setWellDepthInfo(double dDepthStart, double dDepthEnd, int nSegNum); - // 初始化 - virtual void initUI(); - //得到深度列表 - QVector getDepthList(); -protected: - //主 - void initUI_Main(); - //井信息 - void initUI_MainWellInfo(); - //段设置模式 - void initUI_MainSegMethod(); - //按钮 - void initUI_Bt(); - - //设置状态 - void changedMethod(); - -public slots: - //方法切换 - void slotMethodChanged(int); - void slotBtnOK(); - void slotBtnCancel(); -protected: - //起始深度 - double m_dDepthStart; - //终止深度 - double m_dDepthEnd; - //段数 - int m_nSegNum; - //布局 - QVBoxLayout* m_pMainLayout; - //编辑框 - QLineEdit* m_pLESegStartDepth; - QLineEdit* m_pLESegEndDepth; - QLineEdit* m_pLESegSpace; - - eSetMethod m_eSetMEthod; -}; diff --git a/Include/mGui/mGuiPlot/iWxSegLineWholeSet.h b/Include/mGui/mGuiPlot/iWxSegLineWholeSet.h deleted file mode 100644 index 6911441..0000000 --- a/Include/mGui/mGuiPlot/iWxSegLineWholeSet.h +++ /dev/null @@ -1,76 +0,0 @@ -#pragma once - -#include "iDlgBase.h" - -#include "mGuiPlot_global.h" - -class ZxObjSegLine; -class QListWidget; -//产液线整体设置 -class M_GUI_PLOT_EXPORT iWxSegLineWholeSet : public iDlgBase -{ - Q_OBJECT - -public: - explicit iWxSegLineWholeSet(QWidget *parent = NULL); - ~iWxSegLineWholeSet(); - //设井深度 - void setWellDepthInfo(double dDepthStart, double dDepthEnd, QVector vecObjs); - // 初始化 - virtual void initUI(); - -protected: - //主 - void initUI_Main(); - //井信息 - void initUI_MainWellInfo(); - //段设置模式 - void initUI_MainSegInfo(); - //左边 - void initUIMainLeft(QHBoxLayout* pLayout); - //右边 - void initUIMainRight(QHBoxLayout* pLayout); - //按钮 - void initUI_Bt(); - //根据名字找到对应的产液线 - ZxObjSegLine* getObjSegLine(QString sTag); - //得到选中的产液线 - QStringList getSelectSegLines(); - -public slots: - //全选和反选 - void slotBtnSelectAll(); - void slotBtnInvert(); - - void slotBtnOK(); - void slotBtnCancel(); - - // - void slotLenghtRbChanged(int); - void slotAngleRbChanged(int); - - //选择变化 - void slotSegTagStateChanged(QListWidgetItem *); - -protected: - //起始深度 - double m_dDepthStart; - //终止深度 - double m_dDepthEnd; - //段数 - QVector m_vecObjs; - //布局 - QVBoxLayout* m_pMainLayout; - //整体展示所有产液段 - QListWidget* m_pListWt; - //深度平移 - QLineEdit* m_pLEDepthOffset; - //长度累加 - QString m_sLenghtType; - QLineEdit* m_pLELenghtAddUp; - QLineEdit* m_pLELendhtReset; - //角度累加 - QString m_sAngleType; - QLineEdit* m_pLEAngleAddUp; - QLineEdit* m_pLEAngleReset; -}; diff --git a/Include/mGui/mGuiSysManager/iCardInfo.h b/Include/mGui/mGuiSysManager/iCardInfo.h new file mode 100644 index 0000000..0d0a7c7 --- /dev/null +++ b/Include/mGui/mGuiSysManager/iCardInfo.h @@ -0,0 +1,94 @@ +#pragma once + +#include "mModuleDefines.h" +#include "mGuiSysManager_global.h" + +class QSqlDatabase; + +// 빤󶨵CardInfo +class M_GUI_SYSMANAGER_EXPORT iCardInfo +{ +public: + + iCardInfo(); + +public: + + // ΧϢϺ󣬶ȡݿȡڲϢ + void readInnerInfos(); + + // ½/ɾ߳ɹʱˢ + // Եǰ򿪵Ĺ + bool freshWellRstInfos(bool bWell, \ + QStringList& listTags, \ + bool bAddObj); + +private: + + // ȡݿ + void readFromDb(); + void _queryInners(QSqlDatabase& db); + +public: + + //////////////////////////////////////////////// + // Ϣ + + QString getProjField(int nMaxLen = 64) const; // + QString getProjDesc(int nMaxLen = 64) const; //ע˵ + + QString getProjCreator() const; // + QString getProjLastModified() const; //޸ʱ + + QString getProjRstSketch(QString sCode = "") const; //ͼ + + QString getSumWellNames(int nMaxLen = 64) const;//бģʽ + QString getSumRstTags(int nMaxLen = 64) const; //ɹбģʽ + int getProjWellCount() const; // + int getProjRstCount() const; //ɹ + +private: + + /// @brief һ...ģʽ + /// @param s: ԭ + /// @param nMaxLen: 󳤶ȣ-1򲻽д + /// @param nMode: ģʽ¡ + /// 0ͷĩβͷ... + /// 1ͷ+ĩβм... + /// 2/ĩβͷ... + QString trimStrTo(QString s, int nMaxLen, int nMode = 1) const; + + //////////////////////////////////////////////// + + +public: + + // Ӧ E:/Run/mWTAI/Bin/TestOfWTAI + QString m_sDir; + // Ӧ E:/Run/mWTAI/Bin/TestOfWTAI/TestDemo3 + QString m_sDirExt; + // Ӧ TestDemo3 + QString m_sProjName; + // Ӧ E:/Run/mWTAI/Bin/TestOfWTAI/TestDemo3/TestDemo3.db + QString m_sUrl; + +private: + + // + QString m_sProjField; + // + QString m_sProjDesc; + + // б + QStringList m_listWellNames; + + // ͳɹ + QStringList m_listRstUtilTags; + + // +ʱ + QString m_sCreator; + QString m_sTimeLastModified; + + // ͼ + QString m_sRstImgSketch; +}; diff --git a/Include/mGui/mGuiSysManager/iWxLangSwap.h b/Include/mGui/mGuiSysManager/iWxLangSwap.h new file mode 100644 index 0000000..12affe9 --- /dev/null +++ b/Include/mGui/mGuiSysManager/iWxLangSwap.h @@ -0,0 +1,31 @@ +#pragma once + +#include "iDlgBase.h" +#include "mGuiSysManager_global.h" + +namespace Ui { +class iWxLangSwap; +} + +class M_GUI_SYSMANAGER_EXPORT iWxLangSwap : public iDlgBase +{ + Q_OBJECT + +public: + + explicit iWxLangSwap(QWidget *parent = 0); + ~iWxLangSwap(); + + virtual void initUI(); + +private slots: + + void slotRadioClicked(); + + void on_btnOK_clicked(); + void on_btnCancel_clicked(); + +private: + + Ui::iWxLangSwap *ui; +}; diff --git a/Include/mGui/mGuiSysManager/iWxProjectNew.h b/Include/mGui/mGuiSysManager/iWxProjectNew.h index a42e0c9..e8f9103 100644 --- a/Include/mGui/mGuiSysManager/iWxProjectNew.h +++ b/Include/mGui/mGuiSysManager/iWxProjectNew.h @@ -25,6 +25,7 @@ public: virtual void initUI(); void setDataProject(ZxDataProject* p); void setActionMode(DataActionMode o); + void setDataUrl(QString sTempDir, QString sTempProj); // 返回 QString getProjName(); @@ -42,6 +43,7 @@ public: private: bool dealwithNew(); bool dealwithEdit(); + bool dealwithCopyAs(); bool dealwithSaveAs(); bool checkInputs(); @@ -63,5 +65,9 @@ private: ZxDataProject* m_pDataProject; MainWindowOption m_oMwo; DataActionMode m_oDAM; + + // 不打开工区情况下的CopyAs,不涉及序列化 + QString m_sTempDir; + QString m_sTempProj; }; diff --git a/Include/mGui/mGuiSysManager/iWxSolidCard.h b/Include/mGui/mGuiSysManager/iWxSolidCard.h new file mode 100644 index 0000000..d5e5282 --- /dev/null +++ b/Include/mGui/mGuiSysManager/iWxSolidCard.h @@ -0,0 +1,57 @@ +#pragma once + +#include + +#include "mModuleDefines.h" +#include "mGuiSysManager_global.h" + +// Ӧ E:/Run/mWTAI/Bin/TestOfWTAI +#define s_card_tag_dir "WTAI_Proj_Dir" + +// Ӧ TestDemo3 +#define s_card_tag_proj "WTAI_Proj_Name" + +// Object NameעĶʱҪһ£Ϊ漰css +#define s_card_object_new "newCardObj" + +// Object NameעĶʱҪһ£Ϊ漰css +#define s_card_object_normal "normalCardObj" + +// Object Name򿪵ıʶLabel +#define s_card_object_mark "labelOpenMark" + +// Object NameTitle +#define s_card_object_title "labelCardTitle" + +// Object Wel&Rst +#define s_card_object_WelRst "labelCardWelRst" +#define s_card_object_Wel "labelCardWel" +#define s_card_object_Rst "labelCardRst" +#define s_card_object_Count "labelCardCount" + +// Object NameButtons +#define s_card_object_btn_open "labelCardBtnOpen" +#define s_card_object_btn_saveas "labelCardBtnSaveAs" +#define s_card_object_btn_close "labelCardBtnClose" +#define s_card_object_btn_delete "labelCardBtnDelete" + + +// ѡCard壩 +class M_GUI_SYSMANAGER_EXPORT iWxSolidCard : public QWidget +{ +public: + + iWxSolidCard(QWidget *parent = 0, bool bSolidMode = true); + + void setActive(bool bActive); + bool isActive() { return m_bActive; } + +protected: + + void paintEvent(QPaintEvent *event); + +protected: + + bool m_bActive; + bool m_bSolidMode; //Ƿģʽ +}; diff --git a/Include/mGui/mGuiSysManager/iWxWelcome.h b/Include/mGui/mGuiSysManager/iWxWelcome.h index 339112e..cc90c9d 100644 --- a/Include/mGui/mGuiSysManager/iWxWelcome.h +++ b/Include/mGui/mGuiSysManager/iWxWelcome.h @@ -34,6 +34,13 @@ public: // 初始化 virtual void initUI(); + // 当新建/删除井或者成果时,刷新 + // 针对当前打开的工区 + void freshWellRstAbouts(bool bWell, \ + QStringList& listTags, \ + TreeNodeCmd o); + + // 获取项目路径相关 QString getProjectName(); //项目名称 QString getProjDir(QString sProjName = ""); //项目路径 diff --git a/Include/mGui/mGuiSysManager/iWxWelcomeNew.h b/Include/mGui/mGuiSysManager/iWxWelcomeNew.h new file mode 100644 index 0000000..6230c51 --- /dev/null +++ b/Include/mGui/mGuiSysManager/iWxWelcomeNew.h @@ -0,0 +1,263 @@ +#pragma once + +#include "iDlgBase.h" +#include "iCardInfo.h" + +#include + +class ZxDataProject; +class iRibbonXmlGroup; + +// °ҳ +class M_GUI_SYSMANAGER_EXPORT iWxWelcomeNew : public QMainWindow +{ + Q_OBJECT + +public: + + explicit iWxWelcomeNew(MainWindowOption o = MWO_WTAI,\ + QWidget* parent = nullptr); + ~iWxWelcomeNew(); + +public: + + void setXmlFileGroup(iRibbonXmlGroup* p) {} + void changeLeft2Mode(bool bReorgUi = true) {} + + void initUI(); + +private: + + void applyStyleSheet(); + + QWidget* initUI_Up(); + QBoxLayout* initUI_Up_Line(); + void initUI_Up_Line_Sort(QToolButton* pBtnSort); + QWidget* initUI_Up_CardsArea(); + QWidget* initUI_Down(); + QWidget* initUI_Down_RecentProjs(); + QWidget* initUI_Down_RecentDirs(); + QWidget* initUI_Down_Updates(); + QWidget* initUI_Bottom(); + + void _freshWsCount(); + + void onOpenDir(); + void onOpenFile(); + +private slots: + + void slotSbActionClicked(QString sName); + void slotBrowseDir(); + void slotDirTextChanged(const QString &text); + void slotSearchTextChanged(const QString &text); +// void slotSortCbxCurIndexChanged(int index); + void slotSortOptionmChanged(); + + void slotListWxRecentProjDblClicked(QListWidgetItem* item); + void slotListWxRecentDirDblClicked(QListWidgetItem* item); + +private slots: + + void slotBtnHome(); + + // ťͳһӦ + void slotSubBtnTriggered(); + + void slotCardWxNew(); + +#ifdef _SCAN_OLD_CODES_ + void slotCardWxOpen(); + void slotCardWxSaveAs(); + void slotCardWxClose(); + void slotCardWxDelete(); +#endif + +private slots: + + void slotHideBtnsTimeout(); + void slotDelayedFreshLayout(); + +private: + + QString getLastPrjWorkDir(); + QStringList getProjBaseNames(QString sDir); + + bool _runProjNew(QWidget* pWxCard); + bool _runProjOpen(QWidget* pWxCard); + bool _runProjSaveAs(QWidget* pWxCard); + bool _runProjClose(QWidget* pWxCard); + bool _runProjDel(QWidget* pWxCard); + + /// @brief ·ҵǰCard + /// @param sDir E:\Run\mWTAI\Bin\TestOfWTAI + /// @param sProjName TestDemo3 + /// @note E:\Run\mWTAI\Bin\TestOfWTAI\TestDemo3\TestDemo3.db + QWidget* findWxCard(QString sDir, QString sProjName); + + /// @brief ֯Url + /// @param sDir E:\Run\mWTAI\Bin\TestOfWTAI + /// @param sProjName TestDemo3 + /// @note E:\Run\mWTAI\Bin\TestOfWTAI\TestDemo3\TestDemo3.db + QString sumFullUrl(QString sDir, QString sProjName); + + /// @brief Url + /// @param sUrl E:\Run\mWTAI\Bin\TestOfWTAI\TestDemo3\TestDemo3.db + /// @param sDir E:\Run\mWTAI\Bin\TestOfWTAI + /// @param sProjName TestDemo3 + bool parseUrl(QString sUrl, QString& sDir, QString& sProjName); + + void refreshCurrentProjs(); + + bool removeFromRecentDirs(QString sDir); + + void refreshRecentProjs(); + void addToRecentProjs(QString sUrl); + bool removeFromRecentProjects(QString sUrl); + void refreshRecentDirs(); + void addToRecentDirs(const QString &path); + + + ////////////////////////////////////////////////////////////////////////////// + // Card + + // ݻб´Card + void rebuildAllCards(); + + // ֻˢ²֣Sizeıʱ + void freshCardLayout(); + + // Card + QWidget* createProjCard(const iCardInfo &wscd); + + // ʼã桢½ + void _configWxCardNormal(QWidget* pWxCard, const iCardInfo &wscd); + void _configWxCardNew(QWidget* pWxCard, const iCardInfo &wscd); + + // Card ĸ + void _initLayout_CardNormal(QWidget* pWxCard, \ + const iCardInfo& wscd, \ + QVBoxLayout*& pLayout); + void _initLayout_CardNormal_Title(QWidget* pWxCard, \ + const iCardInfo& wscd, \ + QVBoxLayout*& pLayout); + void _initLayout_CardNormal_Desc(QWidget* pWxCard, \ + const iCardInfo& wscd, \ + QVBoxLayout*& pLayout); + void _initLayout_CardNormal_WellAbouts(QWidget* pWxCard, \ + const iCardInfo& wscd, \ + QVBoxLayout*& pLayout); + void _initLayout_CardNormal_Others(QWidget* pWxCard, \ + const iCardInfo& wscd, \ + QVBoxLayout*& pLayout); + + // Card ½ + void _initLayout_CardNew(QWidget* pWxCard, \ + const iCardInfo& wscd, \ + QVBoxLayout*& pLayout); + + /// @brief գӲ // + /// @param pWxCard ǿգָCardȫ + void clearCardWxs(QWidget* pWxCard = nullptr); + + // ıʶƼActive + void setWxCardActive(QWidget* pWxCard, bool bActive); + + // ˢµǰӦCardľ/ɹ + + ////////////////////////////////////////////////////////////////////////////// + +public: + // ½/ɾ߳ɹʱˢ + // Եǰ򿪵Ĺ + void freshWellRstAbouts(bool bWell, \ + QStringList& listTags, \ + TreeNodeCmd o); + +private: + +protected: + + void resizeEvent(QResizeEvent* event); + bool eventFilter(QObject* obj, QEvent* event); + +signals: + + // жǷenable + //void sigBtnEnabled(QString sName, int nID, bool& bEnabled); + + // ѡ󼴽򿪣ΪӿڵԣsDirҪProjName + void sigProjSelected(QString sDir, QString sProj, bool& bOk); + + // ȡǰ򿪵Projectȫ· + //void sigGetCurProjFullpath(QString& s); + + // ɾĿˢ + void sigProjDeleted(QString sPath); + + // ȡǰProject + void sigGetCurProject(ZxDataProject*&); + + // лӴ + void sigChange2Main(); + + //  + void sigAction2Main(QString sAction, bool& bExecuted); + +private: + + // ǰģ飬ĬΪWTAI + MainWindowOption m_oMwo; + + // + QVBoxLayout* m_pMainLayout; + + // ϲ + QLineEdit* m_pTbxDir; + QLineEdit* m_pTbxSearch; + int m_nSortIndex; //DZڷգĿǰݶ֣ + //listOptions << "TimeInc" << "TimeDesc" << "NameInc" << "NameDesc"; + QAction* m_pLastSortAction; //һCheckedAction + QLabel* m_pLblCount; + + QScrollArea* m_pAreaScroll; + QWidget* m_pGridContainer; + QGridLayout* m_pGridLayout; + + // ² + QListWidget* m_pListWxRecentProjs; + int m_maxRecentProjs; + + // ²Ҳ + QListWidget* m_pListWxRecentDirs; + int m_maxRecentDirs; + + // ʱ + QTimer* m_pTimerRelayout; + QTimer* m_pTimerHideBtns; + + // /Ӵ + QList m_listCardInfos; + QVector m_vecCardWxs; // 洢Cardָ + QWidget* m_pLastWxCard;//ϴѡеCard + + // ť֣¼ÿCardİť + struct stCardWxButtons { + QToolButton* pBtnOpen; + QToolButton* pBtnSaveAs; + QToolButton* pBtnDelete; + QWidget* container; + }; + QMap m_mapCardBtns; + + // ɸѡ/ + QString m_sLastSearchTag; + + // + + // ״̬ʶ/ǷźŲ + bool m_bUnableSP; + + // ĬϿ + /*static*/ int m_nCardWidth; +}; diff --git a/Include/mGui/mSubWnd/SubWxs/iWxRunOptionStd.h.bak b/Include/mGui/mSubWnd/SubWxs/iWxRunOptionStd.h.bak deleted file mode 100644 index 8f0cf2b..0000000 --- a/Include/mGui/mSubWnd/SubWxs/iWxRunOptionStd.h.bak +++ /dev/null @@ -1,110 +0,0 @@ -#pragma once - -#include "iWxRunOption.h" - -class ZxSegmentInfo; - -namespace Ui { - class iWxRunOptionStd; -} - -class M_SUB_WND_EXPORT iWxRunOptionStd : public iWxRunOption -{ - Q_OBJECT - -public: - - explicit iWxRunOptionStd(QWidget *parent = 0, bool bMiniFrac = false); - ~iWxRunOptionStd(); - - // 初始化 - virtual void initUI(); - virtual void initTableViews(); - virtual void initChartView(); - - // 外界调用参数 - void setSegmentInfo(ZxSegmentInfo* p); - - // 默认调用模式,不弹出对话框 - virtual void runByDefault(); - - virtual void runByBtnOk(); - virtual bool runByBtnApply(); - - // 刷新 - virtual void freshUI(bool bAutoRun = false); - - // 返回对话框选择的结果 - - bool getDataPandF(QVector& vecP, \ - QVector& vecF); - - -private slots: - - // 是否启用光滑和抽稀 - void on_cbxUseSmoothing_clicked(); - void on_cbxUseThinning_clicked(); - - // OK cancel - void on_btnOK_clicked(); - void on_btnCancel_clicked(); - void on_btnApply_clicked(); - - virtual void slotJobRunSelectionChanged(); -//protected: - - // 设置MpData - void on_btnSetMpData_clicked(); - - void on_cbxBuildUpOrDown_currentIndexChanged(int index); - -protected: - - // 下拉流体类型 - virtual void OnCbxJobTypeChanged(); - -signals: - -protected: - - // 填充下拉 - virtual bool fuzzyCbxJobRuns(); - - // 刷新组件 - void refreshSegInfo(ZxSegmentInfo* p); - virtual void refreshChartInfo(); - void refreshSmoothState(); - void refreshThinningState(); - - // 结果处理 - virtual bool runApply(); - virtual bool dealwithWndSel(); - bool dealwithSmoothAndThin(bool bMultiPhase); - - //zxf设置当前的job - virtual bool setCurrentJobRun(); - - // 对于多相确保多相数据 - void makesureMpData(QString sCurveIdF, QVector& vecF); - -protected: - - Ui::iWxRunOptionStd *ui; - - // 流动段载体 - ZxSegmentInfo* m_pSegInfo; - - // 多相数据,竖向排列,size为4,//注意:[0]时间,[1]油,[2]气,[3]水 - VVecDouble m_vvecMpData; - QString m_sFlowDataCode; - bool m_bIniting; - QVector m_vecBackupF; - - // 当前选择的 数据(如果截取) - QVector m_vecPtsCurveP; - QVector m_vecPtsCurveF; - - // 为了方便应用 - QComboBox* m_pCbxStepUpDown; -}; diff --git a/Include/mGui/mSubWnd/iSubWndBaseFit.h b/Include/mGui/mSubWnd/iSubWndBaseFit.h index f7a3f84..d66fd5a 100644 --- a/Include/mGui/mSubWnd/iSubWndBaseFit.h +++ b/Include/mGui/mSubWnd/iSubWndBaseFit.h @@ -214,6 +214,9 @@ public: /// @param vecY,返回之y列,即sPara对应的参数数值列,与vecX一一对应 /// @param ptrPtResult,结果选用的点(即PVT曲线上方块点) /// @param ptrPtReferPb,对应的pb相应的参考点 + /// @note vecY是物性参数计算结果列 + /// vecX则比较特殊,可能是压力数值,也可能是温度数值,目前 + /// 目前,泡点压力Pb、水黏度Miuw 为温度,其它为压力 bool getPvtRstOf(PvtFluidType pft, QString sPara, \ VecDouble& vecX, VecDouble& vecY, \ QPointF* ptrPtResult = nullptr, \ diff --git a/Include/mGui/mSubWnd/iSubWndInterfere.h b/Include/mGui/mSubWnd/iSubWndInterfere.h index 4fcf7ab..2cd9198 100644 --- a/Include/mGui/mSubWnd/iSubWndInterfere.h +++ b/Include/mGui/mSubWnd/iSubWndInterfere.h @@ -19,7 +19,7 @@ class iSubWndAnal; class iWxInfDataPF; class iDockBaseWx; -class iWxModelParameterEx; +class iWxModelParameterUpDown; class M_SUB_WND_EXPORT iSubWndInterfere : public iSubWndBaseAF { diff --git a/Include/mGui/mSubWnd/iSubWndMap.h b/Include/mGui/mSubWnd/iSubWndMap.h index 4ea835a..17f3964 100644 --- a/Include/mGui/mSubWnd/iSubWndMap.h +++ b/Include/mGui/mSubWnd/iSubWndMap.h @@ -19,7 +19,7 @@ class iSubWndAnal; class iWxWmDataPF; class iDockBaseWx; -class iWxModelParameterEx; +class iWxModelParameterUpDown; class M_SUB_WND_EXPORT iSubWndMap : public iSubWndBaseAF { diff --git a/Include/mGui/mSubWndAna/iSubWndFitting.h b/Include/mGui/mSubWndAna/iSubWndFitting.h index c1e6388..35b776e 100644 --- a/Include/mGui/mSubWndAna/iSubWndFitting.h +++ b/Include/mGui/mSubWndAna/iSubWndFitting.h @@ -495,14 +495,14 @@ protected: virtual void optDbLogTailer(); bool getDeriveCurveData(VecDouble& vecDtm, \ VecDouble& vecDpwm, \ + VecDouble& vecDtmNoOv, \ VecDouble& vecDpwmNoOv); bool dealEndEffect(const VecDouble& vecX, \ - const VecDouble& vecY1, \ - const VecDouble& vecY2, \ - VecDouble& vecNewY1, \ - VecDouble& vecNewY2); + const VecDouble& vecY, \ + VecDouble& vecNewY); bool updateDeriveCurves(VecDouble& vecDtm, \ VecDouble& vecDpwm, \ + VecDouble& vecDtmNoOv, \ VecDouble& vecDpwmNoOv); // end 右键调整后的菜单响应 diff --git a/Include/mTool/mToolDeConv/iWxDeConvBase.h b/Include/mTool/mToolDeConv/iWxDeConvBase.h deleted file mode 100644 index 57d68ec..0000000 --- a/Include/mTool/mToolDeConv/iWxDeConvBase.h +++ /dev/null @@ -1,57 +0,0 @@ -#pragma once - -#include "mModuleDefines.h" -#include "iDlgBase.h" -#include "mToolDeConv_global.h" - -class ZxDataDiffusionInfo; -class M_TOOL_DECONV_EXPORT iWxDeConvBase : public iDlgBase -{ - Q_OBJECT - -public: - - explicit iWxDeConvBase(QWidget *parent = 0); - ~iWxDeConvBase(); - - // 初始化 - virtual void initUI(); - - // 返回数据 - virtual bool getParaValue(QString sPara, - double &dValue, - QString sUnitDest = ""); - -protected: - - // 默认值 - virtual void initDefault(); - - // 绑定参数 - void appendParaInfos(QString sPara, - QWidget* pValue, - QWidget* pUnit, - double dDefault = SYS_VALUE_INVALID, - QString sCurUnit = ""); - -protected: - - virtual void paintEvent(QPaintEvent*); - virtual void resizeEvent(QResizeEvent*); - - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - -public slots: - virtual void slotParaUnitChanged(QString s); - virtual void slotParaValueChanged(); - -signals: - -protected: -// QMap m_mapCtrls//借用父类 - QMap m_mapUnits; - QMap m_mapUnitDefaults; //这是算法应用的单位,而不是显示的单位 - QMap m_mapUnitLasts; //这是上一次显示的单位 - -}; diff --git a/Include/mTool/mToolPvt/Pseu3/iWxPseudo3Sub.h b/Include/mTool/mToolPvt/Pseu3/iWxPseudo3Sub.h deleted file mode 100644 index bce432b..0000000 --- a/Include/mTool/mToolPvt/Pseu3/iWxPseudo3Sub.h +++ /dev/null @@ -1,113 +0,0 @@ -#pragma once - -#include "iWxPvtUtilItem.h" - -namespace Ui { -class iWxPseudo3Sub; -} - -class iPseudo3Info; -class iCurveDesc; -class M_TOOL_PVT_EXPORT iWxPseudo3Sub : public iWxPvtUtilItem -{ - Q_OBJECT - -public: - - explicit iWxPseudo3Sub(QString sMethod, QWidget *parent = 0); - ~iWxPseudo3Sub(); - - // 初始化 - virtual void makeSureInitUI(); - virtual void initUI(); - - // 外部调用接口 - QString getMethod() {return m_sMethod; } - - // Ps3Info相关接口 - virtual void makesureMapPsInfos(); - QMap* getMapPsInfos(); - - // 获取特殊数据 - virtual double getSpecialV(QString s); - - // 文件标识 - virtual QString getFilePvtTag(); - -protected: - - // 初始化 - virtual void initLabels(); - virtual void initUI_Tops(); - virtual void initUI_ChartAndTable(); - virtual QWidget* initUI_Chart(); - virtual QWidget* initUI_TableView(); - virtual void initDefaultData(); - virtual void initPsInfo(iPseudo3Info*& pInfo); - - // 表格数据改变,与图形相关内容 - virtual void freshChartByTableChange(); - virtual void refreshChart(VVecVariant& vvec); - virtual void refreshHitPoint(); - - // 曲线基础操作 - // 配置曲线 - void configCurveDecs(iCurveDesc* pDesc, \ - QString sName, QColor clr, \ - VecDouble& x, VecDouble& y, \ - bool bLineVisible = true, bool bPtVisible = false); - // 添加曲线 - virtual bool addCurveBy(VecPointF& vecFts, QString sName, \ - bool bLineVisible = true, bool bPtVisible = false, \ - QColor clr = QColor(), bool bUseY2 = false); - virtual bool addCurveBy(VecDouble& x, VecDouble& y, QString sName, \ - bool bLineVisible = true, bool bPtVisible = false, \ - QColor clr = QColor(), bool bUseY2 = false); - //virtual void addOrChangeCurveBy(VecPointF& vecRaw, VecPointF& vecFit, bool bFitCurveOnly); - // 移除指定曲线 - virtual void removeCurveOf(QString sName); - // 获取曲线名称 - QString getCurveNameOf(int nIndexName, int nIndexSub = -1, bool bFit = false); - // 对图形进行最后调整 - virtual void adjustPlots(bool bForceLineVisible = false); - - // 拟合过程封装 - virtual bool runAlgFit(QString sName, VVecVariant vvec, int nType = -1, int nOrder = -1); - // 清除内容,状态 - void clearAlg(QString sKey); - - // 通用标识 - virtual bool isFinalPseu(); - virtual bool isFittingNeeded(); - virtual bool isTbDataEditable(); - -public: - - // 序列化 -// void saveBkInfos(); -// void loadBkInfos(); -// QString getBkInfoFile(QString s); - - // 窗体关闭的情形 - virtual void closeEvent(QCloseEvent *); - -protected: - - Ui::iWxPseudo3Sub *ui; - - // 初始设定Ps3Info的参数 - QStringList m_listPsInfoKeys; - // 构造map - QMap m_mapPsInfos; - - // 针对的方法标识 - QString m_sMethod; - - // 坐标轴相关 - QStringList m_listNames; - QStringList m_listUnits; - QString m_sTitle; - - // 初始化标识(为了速度+序列化) - bool m_bInitUi; -}; diff --git a/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubCCE.h b/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubCCE.h deleted file mode 100644 index 9400076..0000000 --- a/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubCCE.h +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once - -#include "iWxPseudo3Sub.h" - -class M_TOOL_PVT_EXPORT iWxPseudo3SubCCE : public iWxPseudo3Sub -{ - Q_OBJECT - -public: - - explicit iWxPseudo3SubCCE(QString sMethod, QWidget *parent = 0); - ~iWxPseudo3SubCCE(); - - // 获取特殊数据 - virtual double getSpecialV(QString s); - -protected: - - // 初始化 - virtual void initLabels(); - virtual void initUI_Tops(); - virtual QWidget* initUI_TableView(); -}; diff --git a/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubCVD.h b/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubCVD.h deleted file mode 100644 index bd7c460..0000000 --- a/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubCVD.h +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "iWxPseudo3SubFit.h" - -class M_TOOL_PVT_EXPORT iWxPseudo3SubCVD : public iWxPseudo3SubFit -{ - Q_OBJECT - -public: - - explicit iWxPseudo3SubCVD(QString sMethod, QWidget *parent = 0); - ~iWxPseudo3SubCVD(); - virtual void initUI(); - -protected: - - // 初始化 - virtual void initLabels(); - virtual void initUI_Tops(); - virtual QWidget* initUI_TableView(); -}; diff --git a/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubFit.h b/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubFit.h deleted file mode 100644 index e8dfdd7..0000000 --- a/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubFit.h +++ /dev/null @@ -1,51 +0,0 @@ -#pragma once - -#include "iWxPseudo3Sub.h" - -class M_TOOL_PVT_EXPORT iWxPseudo3SubFit : public iWxPseudo3Sub -{ - Q_OBJECT - -public: - - explicit iWxPseudo3SubFit(QString sMethod, QWidget *parent = 0); - ~iWxPseudo3SubFit(); - - // 外部调用 - virtual void initUI(); - -protected: - - // 初始化 - virtual void initUI_Tops(); - - // 拟合相关设置的初始化 - virtual bool isFitItemVisible(int nIndex); - void changeFitUIOf(int nIndex); - void freshExpr(int nIndex, QString s); - bool getFitInfoOf(int nIndex, int& nType, int& nOrder); - - // 通用标识 - virtual bool isFittingNeeded(); - - // 表格及图形刷新 - virtual void freshChartByTableChange(); - virtual void refreshByTopFit(); - virtual void fitAndFreshChart(QString sKey, VVecVariant& vvec, bool bFitCurveOnly = false); - -protected slots: - - // 拟合控件 - virtual void slotFitTypeChanged(int index); - virtual void slotOrderChanged(int arg1); - - // 拟合 - virtual void on_btnRunFit_clicked(); - -protected: - - // 拟合控件,为了方便并支持多组 - QVector m_vecCbxFitTypes; - QVector m_vecSbxFitOrders; - QVector m_vecTbxFitDescs; -}; diff --git a/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubKrgKro.h b/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubKrgKro.h deleted file mode 100644 index 8cd2c85..0000000 --- a/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubKrgKro.h +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "iWxPseudo3Sub.h" - -class M_TOOL_PVT_EXPORT iWxPseudo3SubKrgKro : public iWxPseudo3Sub -{ - Q_OBJECT - -public: - - explicit iWxPseudo3SubKrgKro(QString sMethod, QWidget *parent = 0); - ~iWxPseudo3SubKrgKro(); - virtual void initUI(); - - // 获取特殊数据 - virtual double getSpecialV(QString s); - -protected: - - // 初始化 - virtual void initLabels(); - virtual void initUI_Tops(); - virtual QWidget* initUI_Chart(); - virtual QWidget* initUI_TableView(); - virtual void initPsInfo(iPseudo3Info*& pInfo); - - // 表格及图形刷新 - virtual void freshChartByTableChange(); - // 对图形进行最后调整 - virtual void adjustPlots(bool bForceLineVisible = false); - - // 后台执行拟合 - virtual void backFitKrgKro1(); - virtual void backFitKrgKro2(); -}; diff --git a/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubPseu.h b/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubPseu.h deleted file mode 100644 index dc70a21..0000000 --- a/Include/mTool/mToolPvt/Pseu3/iWxPseudo3SubPseu.h +++ /dev/null @@ -1,54 +0,0 @@ -#pragma once - -#include "iWxPseudo3SubFit.h" - -class M_TOOL_PVT_EXPORT iWxPseudo3SubPseu : public iWxPseudo3SubFit -{ - Q_OBJECT - -public: - - explicit iWxPseudo3SubPseu(QString sMethod, QWidget *parent = 0); - ~iWxPseudo3SubPseu(); - - // 外部调用 - virtual void initUI(); - - // 传递数据,开启刷新图表 - virtual bool freshFinalPs(VecDouble& vecP, VecDouble& vecPs, double dPP, double dPD, QString sAllExpr); - -protected: - - // 初始化 - virtual void initLabels(); - virtual void initUI_Tops(); - virtual QWidget* initUI_TableView(); - virtual void initPsInfo(iPseudo3Info*& pInfo); - - // 表格及图形刷新 - virtual void freshChartByTableChange(); - virtual void refreshByTopFit(); - virtual void fitAndFreshChart(QString sKey, VVecVariant& vvec, bool bFitCurveOnly = false); - virtual void fitPseuReverse(VVecVariant& vvec); //反推 - - // 拟合相关 - virtual bool isFitItemVisible(int nIndex); - - // 通用标识 - virtual bool isFinalPseu(); - virtual bool isTbDataEditable(); - -signals: - - void sigRefreshPseu(); - -private slots: - - virtual void on_cbxWholeMode_clicked(); - virtual void on_btnCalPseu3_clicked(); - -protected: - - double m_dPP; //临时,画三段曲线用 - double m_dPD; -}; diff --git a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSub.h b/Include/mTool/mToolPvt/PseuC/iWxPseudoCSub.h deleted file mode 100644 index b006090..0000000 --- a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSub.h +++ /dev/null @@ -1,122 +0,0 @@ -#pragma once - -#include "iWxPvtUtilItem.h" - -namespace Ui { -class iWxPseudoCSub; -} - -class iPseudoCInfo; -class iCurveDesc; -class M_TOOL_PVT_EXPORT iWxPseudoCSub : public iWxPvtUtilItem -{ - Q_OBJECT - -public: - - explicit iWxPseudoCSub(QString sMethod, QWidget *parent = 0); - ~iWxPseudoCSub(); - - // 初始化 - virtual void makeSureInitUI(); - virtual void initUI(); - - // 外部调用接口 - QString getMethod() {return m_sMethod; } - - // Ps3Info相关接口 - virtual void makesureMapPsInfos(); - QMap* getMapPsInfos(); - iPseudoCInfo* getPsInfoBy(QString sName); - - // 获取特殊数据 - virtual double getSpecialV(QString s); - - // 文件标识 - virtual QString getFilePvtTag(); - -protected: - - // 初始化 - virtual void initLabels(); - virtual void initUI_Tops(); - virtual void initUI_ChartAndTable(); - virtual QWidget* initUI_Chart(); - virtual QWidget* initUI_TableView(); - virtual void initDefaultData(); - virtual void initPsInfo(iPseudoCInfo*& pInfo); - - // 表格数据改变,与图形相关内容 - virtual void freshChartByTableChange(); - virtual void refreshChart(VVecVariant& vvec); - virtual void refreshHitPoint(); - - // 曲线基础操作 - // 配置曲线 - void configCurveDecs(iCurveDesc* pDesc, \ - QString sName, QColor clr, \ - VecDouble& x, VecDouble& y, \ - bool bLineVisible = true, bool bPtVisible = false); - // 添加曲线 - virtual bool addCurveBy(VecPointF& vecFts, QString sName, \ - bool bLineVisible = true, bool bPtVisible = false, \ - QColor clr = QColor(), bool bUseY2 = false); - virtual bool addCurveBy(VecDouble& x, VecDouble& y, QString sName, \ - bool bLineVisible = true, bool bPtVisible = false, \ - QColor clr = QColor(), bool bUseY2 = false); - //virtual void addOrChangeCurveBy(VecPointF& vecRaw, VecPointF& vecFit, bool bFitCurveOnly); - // 移除指定曲线 - virtual void removeCurveOf(QString sName); - // 获取曲线名称 - QString getCurveNameOf(int nIndexName, int nIndexSub = -1, bool bFit = false); - // 对图形进行最后调整 - virtual void adjustPlots(bool bForceLineVisible = false); - - // 拟合过程封装 - virtual bool runAlgFit(QString sName, VVecVariant vvec, int nType = -1, int nOrder = -1); - // 清除内容,状态 - void clearAlg(QString sKey); - - // 通用标识 - virtual bool isFinalPseu(); - virtual bool isFittingNeeded(); - virtual bool isTbDataEditable(); - -public: - - // 序列化 -// void saveBkInfos(); -// void loadBkInfos(); -// QString getBkInfoFile(QString s); - - // 窗体关闭的情形 - virtual void closeEvent(QCloseEvent *); - -protected: - - Ui::iWxPseudoCSub *ui; - - // 初始设定Ps3Info的参数 - QStringList m_listPsInfoKeys; - // 构造map - QMap m_mapPsInfos; - - // 针对的方法标识 - QString m_sMethod; - - // 坐标轴相关 - QStringList m_listNames; - QStringList m_listUnits; - QString m_sTitle; - - // 初始化标识(为了速度+序列化) - bool m_bInitUi; - - // 是否启用Y2 - bool m_bY2Used; - - // 内部设定 - bool m_bLineVisible; - bool m_bDotVisible; - -}; diff --git a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubFit.h b/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubFit.h deleted file mode 100644 index fedf59c..0000000 --- a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubFit.h +++ /dev/null @@ -1,51 +0,0 @@ -#pragma once - -#include "iWxPseudoCSub.h" - -class M_TOOL_PVT_EXPORT iWxPseudoCSubFit : public iWxPseudoCSub -{ - Q_OBJECT - -public: - - explicit iWxPseudoCSubFit(QString sMethod, QWidget *parent = 0); - ~iWxPseudoCSubFit(); - - // 外部调用 - virtual void initUI(); - -protected: - - // 初始化 - virtual void initUI_Tops(); - - // 拟合相关设置的初始化 - virtual bool isFitItemVisible(int nIndex); - void changeFitUIOf(int nIndex); - void freshExpr(int nIndex, QString s); - bool getFitInfoOf(int nIndex, int& nType, int& nOrder); - - // 通用标识 - virtual bool isFittingNeeded(); - - // 表格及图形刷新 - virtual void freshChartByTableChange(); - virtual void refreshByTopFit(); - virtual void fitAndFreshChart(QString sKey, VVecVariant& vvec, bool bFitCurveOnly = false); - -protected slots: - - // 拟合控件 - virtual void slotFitTypeChanged(int index); - virtual void slotOrderChanged(int arg1); - - // 拟合 - virtual void on_btnRunFit_clicked(); - -protected: - - // 拟合控件,为了方便并支持多组 - QVector m_vecCbxFitTypes; - QVector m_vecSbxFitOrders; - QVector m_vecTbxFitDescs; -}; diff --git a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubInput.h b/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubInput.h deleted file mode 100644 index e08e059..0000000 --- a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubInput.h +++ /dev/null @@ -1,74 +0,0 @@ -#pragma once - -#include "iWxPseudoCSub.h" - -namespace Ui { -class iWxPseudoCSubInput; -} - -class M_TOOL_PVT_EXPORT iWxPseudoCSubInput : public iWxPvtBase -{ - Q_OBJECT - -public: - - explicit iWxPseudoCSubInput(QString sMethod, QWidget *parent = 0); - ~iWxPseudoCSubInput(); - - // 外部调用 - virtual void initUI(); - - // 外传 - void setOtherParas(QMap& maps); - - // 文件标识 - virtual QString getFilePvtTag(); - - // - double getSpecialV(QString s); - -protected: - - // 默认值 - virtual void initDefault(); - - void buildSignals(); - - // 填入最大最小的单位 - void fillUnitOfMaxMin(); - -// // 初始化 -// virtual void initLabels(); -// virtual void initUI_Tops(); -// virtual QWidget* initUI_Chart(); -// virtual QWidget* initUI_TableView(); -// virtual void initPsInfo(iPseudoCInfo*& pInfo); - -// // 表格及图形刷新 -// virtual void freshChartByTableChange(); -// // 对图形进行最后调整 -// virtual void adjustPlots(bool bForceLineVisible = false); - -signals: - void sigInputRefresh(bool, VVecDouble*); - -private slots: - void slotCbxUnitMaxMinChanged(const QString s); - void slotCompSubChanged(QMap& map); - - void on_btnComposition_clicked(); - void on_btnRun_clicked(); - -protected: - - Ui::iWxPseudoCSubInput *ui; - - QString m_sLastUnitMaxMin; - QMap m_mapOthers; - - - QMap m_mapComps; - - // 保存所有的计算结果 - VVecDouble m_vvecResults; -}; diff --git a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubKrgKroPE.h b/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubKrgKroPE.h deleted file mode 100644 index f746720..0000000 --- a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubKrgKroPE.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "iWxPseudoCSubPE.h" - -class M_TOOL_PVT_EXPORT iWxPseudoCSubKrgKroPE : public iWxPseudoCSubPE -{ - Q_OBJECT - -public: - - explicit iWxPseudoCSubKrgKroPE(QString sMethod, QWidget *parent = 0); - ~iWxPseudoCSubKrgKroPE(); - virtual void initUI(); - - // 获取特殊数据 - virtual double getSpecialV(QString s); - -protected: - - // 初始化 - virtual void initLabels(); - virtual void initUI_Tops(); - virtual QWidget* initUI_Chart(); - virtual QWidget* initUI_TableView(); - virtual void initPsInfo(iPseudoCInfo*& pInfo); - - // 表格及图形刷新 - virtual void freshChartByTableChange(); - // 对图形进行最后调整 - virtual void adjustPlots(bool bForceLineVisible = false); - - // 后台执行拟合 - void backFitBoth(); - bool splitDataByLR(VVecVariant& vvec, VVecVariant& vvecL, VVecVariant& vvecR); - -private: - int m_nSplitIndex; -}; diff --git a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubKrgKroPseu.h b/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubKrgKroPseu.h deleted file mode 100644 index ba93939..0000000 --- a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubKrgKroPseu.h +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "iWxPseudoCSub.h" - -class M_TOOL_PVT_EXPORT iWxPseudoCSubKrgKroPseu : public iWxPseudoCSub -{ - Q_OBJECT - -public: - - explicit iWxPseudoCSubKrgKroPseu(QString sMethod, QWidget *parent = 0); - ~iWxPseudoCSubKrgKroPseu(); - virtual void initUI(); - - // 获取特殊数据 - virtual double getSpecialV(QString s); - -protected: - - // 初始化 - virtual void initLabels(); - virtual void initUI_Tops(); - virtual QWidget* initUI_Chart(); - virtual QWidget* initUI_TableView(); - virtual void initPsInfo(iPseudoCInfo*& pInfo); - - // 表格及图形刷新 - virtual void freshChartByTableChange(); - // 对图形进行最后调整 - virtual void adjustPlots(bool bForceLineVisible = false); - - // 后台执行拟合 - bool prepare4ColsData(VVecVariant& vvecRs); - bool splitFitData(VVecVariant& vvec4Cols, VVecVariant& vvec, int indexX, int indexY); - virtual void backFitKrgKroPseus(VVecVariant& vvecRs); -}; diff --git a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubMu.h b/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubMu.h deleted file mode 100644 index aced6dd..0000000 --- a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubMu.h +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "iWxPseudoCSubPE.h" - -class M_TOOL_PVT_EXPORT iWxPseudoCSubMu : public iWxPseudoCSubPE -{ - Q_OBJECT - -public: - - explicit iWxPseudoCSubMu(QString sMethod, QWidget *parent = 0); - ~iWxPseudoCSubMu(); - virtual void initUI(); - - // 获取特殊数据 - virtual double getSpecialV(QString s); - -protected: - - // 初始化 - virtual void initLabels(); - virtual void initUI_Tops(); - virtual QWidget* initUI_Chart(); - virtual QWidget* initUI_TableView(); - virtual void initPsInfo(iPseudoCInfo*& pInfo); - - void backFitMuo(); - void backFitMug(); - - // 表格及图形刷新 - virtual void freshChartByTableChange(); - // 对图形进行最后调整 - virtual void adjustPlots(bool bForceLineVisible = false); -}; diff --git a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubPE.h b/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubPE.h deleted file mode 100644 index 8793ce4..0000000 --- a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubPE.h +++ /dev/null @@ -1,43 +0,0 @@ -#pragma once - -#include "iWxPseudoCSub.h" - -class M_TOOL_PVT_EXPORT iWxPseudoCSubPE : public iWxPseudoCSub -{ - Q_OBJECT - -public: - - explicit iWxPseudoCSubPE(QString sMethod, QWidget *parent = 0); - ~iWxPseudoCSubPE(); - virtual void initUI(); - virtual void initLabels(); - - // 所有的平衡计算的结果地址 - void setResultPtrOfPE(VVecDouble* pVVec); - // 是否需要刷新 - void setFreshNeeded(bool b); - bool isFreshNeeded(){ return m_bFreshNeeded;} - - // 根据新的相态平衡计算结果进行刷新 - virtual bool freshResultPE(); - virtual bool freshTableByPE(); - -protected: - - // 准备拟合数据 - bool prepareFitSrc(VVecVariant& vvec, int nIndexY, int nIndexX = -1); - - - // 表格及图形刷新 - virtual void freshChartByTableChange(); - -protected: - - // 所有的平衡计算的结果地址,临时,不需要析构 - VVecDouble* m_pVVecPtrOfPE; - // 是否需要刷新 - bool m_bFreshNeeded; - // PE中第几列数据,最后为压力,8,不予考虑 - VecInt m_vecDataIndexes; -}; diff --git a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubPseu.h b/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubPseu.h deleted file mode 100644 index bb12de5..0000000 --- a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubPseu.h +++ /dev/null @@ -1,62 +0,0 @@ -#pragma once - -#include "iWxPseudoCSubFit.h" - -class iPseudoPressureC; -class M_TOOL_PVT_EXPORT iWxPseudoCSubPseu : public iWxPseudoCSubFit -{ - Q_OBJECT - -public: - - explicit iWxPseudoCSubPseu(QString sMethod, QWidget *parent = 0); - ~iWxPseudoCSubPseu(); - - // 外部调用 - virtual void initUI(); - - // 传递数据,开启刷新图表 - virtual bool freshFinalPs(VecDouble& vecP, VecDouble& vecPs, double dPP, double dPD, QString sAllExpr); - - QString getFitExprStr(QMap& mapFits); - bool freshFitRsView(QMap& mapFits, \ - QMap &mapOthers, \ - VecDouble& vecXs, int nSplitIndex, \ - iPseudoPressureC* pPvt); - - -protected: - - // 初始化 - virtual void initLabels(); - virtual void initUI_Tops(); - virtual QWidget* initUI_TableView(); - virtual void initPsInfo(iPseudoCInfo*& pInfo); - - // 表格及图形刷新 - virtual void freshChartByTableChange(); - virtual void refreshByTopFit(); - virtual void fitAndFreshChart(QString sKey, VVecVariant& vvec, bool bFitCurveOnly = false); - virtual void fitPseuReverse(VVecVariant& vvec); //反推 - - // 拟合相关 - virtual bool isFitItemVisible(int nIndex); - - // 通用标识 - virtual bool isFinalPseu(); - virtual bool isTbDataEditable(); - -signals: - -// void sigRefreshPseu(); - -private slots: - - virtual void on_cbxWholeMode_clicked(); -// virtual void on_btnCalPseu3_clicked(); - -protected: - - double m_dPP; //临时,画三段曲线用 - double m_dPD; -}; diff --git a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubRou.h b/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubRou.h deleted file mode 100644 index 43d55c7..0000000 --- a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubRou.h +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "iWxPseudoCSubPE.h" - -class M_TOOL_PVT_EXPORT iWxPseudoCSubRou : public iWxPseudoCSubPE -{ - Q_OBJECT - -public: - - explicit iWxPseudoCSubRou(QString sMethod, QWidget *parent = 0); - ~iWxPseudoCSubRou(); - virtual void initUI(); - - // 获取特殊数据 - virtual double getSpecialV(QString s); - -protected: - - // 初始化 - virtual void initLabels(); - virtual void initUI_Tops(); - virtual QWidget* initUI_Chart(); - virtual QWidget* initUI_TableView(); - virtual void initPsInfo(iPseudoCInfo*& pInfo); - - // 后台拟合 - void backFitRo(); - void backFitRg(); - - // 表格及图形刷新 - virtual void freshChartByTableChange(); - // 对图形进行最后调整 - virtual void adjustPlots(bool bForceLineVisible = false); -}; diff --git a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubSo.h b/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubSo.h deleted file mode 100644 index a4c0608..0000000 --- a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubSo.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "iWxPseudoCSub.h" - -class M_TOOL_PVT_EXPORT iWxPseudoCSubSo : public iWxPseudoCSub -{ - Q_OBJECT - -public: - - explicit iWxPseudoCSubSo(QString sMethod, QWidget *parent = 0); - ~iWxPseudoCSubSo(); - virtual void initUI(); - - bool freshFitRsView(QMap& map, \ - VecDouble& vecPs, int nSplitIndex); - - // 获取特殊数据 - virtual double getSpecialV(QString s); - -protected: - - // 初始化 - virtual void initLabels(); - virtual void initUI_Tops(); - virtual QWidget* initUI_Chart(); - virtual QWidget* initUI_TableView(); - virtual void initPsInfo(iPseudoCInfo*& pInfo); - - // 表格及图形刷新 - virtual void freshChartByTableChange(); - // 对图形进行最后调整 - virtual void adjustPlots(bool bForceLineVisible = false); - -private: - - VecDouble m_vecPs; -}; diff --git a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubVL.h b/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubVL.h deleted file mode 100644 index 9e76735..0000000 --- a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubVL.h +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "iWxPseudoCSubPE.h" - -class M_TOOL_PVT_EXPORT iWxPseudoCSubVL : public iWxPseudoCSubPE -{ - Q_OBJECT - -public: - - explicit iWxPseudoCSubVL(QString sMethod, QWidget *parent = 0); - ~iWxPseudoCSubVL(); - virtual void initUI(); - - // 获取特殊数据 - virtual double getSpecialV(QString s); - -protected: - - // 初始化 - virtual void initLabels(); - virtual void initUI_Tops(); - virtual QWidget* initUI_Chart(); - virtual QWidget* initUI_TableView(); - virtual void initPsInfo(iPseudoCInfo*& pInfo); - - // 表格及图形刷新 - virtual bool freshTableByPE(); - virtual void freshChartByTableChange(); - // 对图形进行最后调整 - virtual void adjustPlots(bool bForceLineVisible = false); -}; diff --git a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubZg.h b/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubZg.h deleted file mode 100644 index 7a52fec..0000000 --- a/Include/mTool/mToolPvt/PseuC/iWxPseudoCSubZg.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include "iWxPseudoCSubPE.h" - -class M_TOOL_PVT_EXPORT iWxPseudoCSubZg : public iWxPseudoCSubPE -{ - Q_OBJECT - -public: - - explicit iWxPseudoCSubZg(QString sMethod, QWidget *parent = 0); - ~iWxPseudoCSubZg(); - virtual void initUI(); - - // 获取特殊数据 - virtual double getSpecialV(QString s); - -protected: - - // 初始化 - virtual void initLabels(); - virtual void initUI_Tops(); - virtual QWidget* initUI_Chart(); - virtual QWidget* initUI_TableView(); - virtual void initPsInfo(iPseudoCInfo*& pInfo); - - // 表格及图形刷新 - virtual void freshChartByTableChange(); - // 对图形进行最后调整 - virtual void adjustPlots(bool bForceLineVisible = false); -}; diff --git a/Include/mTool/mToolPvt/iWxPvtSubPhaseOil.h b/Include/mTool/mToolPvt/iWxPvtSubPhaseOil.h index d6bab15..e02f974 100644 --- a/Include/mTool/mToolPvt/iWxPvtSubPhaseOil.h +++ b/Include/mTool/mToolPvt/iWxPvtSubPhaseOil.h @@ -51,11 +51,11 @@ private: Ui::iWxPvtSubPhaseOil *ui; - double m_dPsep; - double m_dTsep; + double m_dPsep; //Psep,分离器压力,MPa,0.79111 + double m_dTsep; //tsep,分离器温度,20260602 统一调整为,摄氏度℃,15.5556 不再采用 F,60F // 20260421 扩展一项,即: - // 针对油单相、油水两相,采用Oil,对应死油 - // 针对油气两相,采用OilExt,对应饱和油 + // 针对油单相、油水两相,采用OilExt,对应死油 + // 针对油气两相,采用Oil,对应饱和油 bool m_bDeadMode; //是否死油模式 }; diff --git a/Include/mTool/mToolPvt/iWxPvtUtilItemPseudo3.h b/Include/mTool/mToolPvt/iWxPvtUtilItemPseudo3.h deleted file mode 100644 index c4170d8..0000000 --- a/Include/mTool/mToolPvt/iWxPvtUtilItemPseudo3.h +++ /dev/null @@ -1,73 +0,0 @@ -#pragma once - -#include "iWxPvtUtilItem.h" - -class iWxPseudo3Sub; -class iPseudo3Info; -class M_TOOL_PVT_EXPORT iWxPvtUtilItemPseudo3 : public iWxPvtUtilItem -{ - Q_OBJECT - -public: - - explicit iWxPvtUtilItemPseudo3(QWidget *parent = 0); - ~iWxPvtUtilItemPseudo3(); - - // 初始化 - virtual void initUI(); - - // 传递参数 - virtual void setInfos(QString sFluidType, QString sPhaseType, QString sPara); - - // 最后一个SubWx - iWxPseudo3Sub* getSubWxPseu(); - iWxPseudo3Sub* getSubWxBy(QString sName); - - // 传递参数 - void calAndFreshBy(VecDouble& vecX); - - // 最终的计算函数 - bool calPseudo3(VecDouble& vecP, VecDouble& vecPs, QString& sAllExpr, bool bLogging); - - // 刷新最终的Sub图表 - bool freshFinalPs(VecDouble& vecP, VecDouble& vecPs, QString sAllExpr); - - // 返回数据,触发信息 - bool getPvtPseuInfos(VVecDouble& vvec, \ - QMap& mapPsInfos, \ - QMap& mapOthers); - - // 保存 -// void saveBkInfos(); - - // 文件标识 - virtual QString getFilePvtTag(); - virtual bool savePvt(); - -private: - - // 算法有多少种 - virtual void dealwithMethods(); - - // 算法切换 - void refreshByMethod(QString s); - - // 准备 - void preparePsInfos(QMap& mapInfos, bool bOut); - void prepareOthers(); - -signals: - -private slots: - void slotSubWxChanged(int); - void slotRefreshPseu(); - -private: - - QStackedWidget* m_pStackedWx; - - VecDouble m_vecX; - QMap m_mapOthers; -}; - - diff --git a/Include/mTool/mToolPvt/iWxPvtUtilItemPseudoC.h b/Include/mTool/mToolPvt/iWxPvtUtilItemPseudoC.h deleted file mode 100644 index e7ed5aa..0000000 --- a/Include/mTool/mToolPvt/iWxPvtUtilItemPseudoC.h +++ /dev/null @@ -1,97 +0,0 @@ -#pragma once - -#include "iWxPvtUtilItem.h" - -class iWxPseudoCSub; -class iWxPseudoCSubSo; -class iWxPseudoCSubInput; -class iWxPseudoCSubPseu; -class iPseudoCInfo; -class M_TOOL_PVT_EXPORT iWxPvtUtilItemPseudoC : public iWxPvtUtilItem -{ - Q_OBJECT - -public: - - explicit iWxPvtUtilItemPseudoC(QWidget *parent = 0); - ~iWxPvtUtilItemPseudoC(); - - // 初始化 - virtual void initUI(); - - // 传递参数 - virtual void setInfos(QString sFluidType, QString sPhaseType, QString sPara); - - // 最后一个SubWx - iWxPseudoCSub* getSubWxPseu(); - iWxPseudoCSub* getSubWxBy(QString sName); - iWxPseudoCSubInput* getSubWxInputs(); - - // 传递参数 - //void calAndFreshBy(VecDouble& vecX); - - // 最终的计算函数 - //bool calPseudoC(VecDouble& vecP, VecDouble& vecPs, QString& sAllExpr, bool bLogging); - - // 刷新最终的Sub图表 - //bool freshFinalPs(VecDouble& vecP, VecDouble& vecPs, QString sAllExpr); - - // 返回数据,触发信息 - bool getPvtPseuInfos(VVecDouble& vvec, \ - QMap& mapPsInfos, \ - QMap& mapOthers); - - // 保存 -// void saveBkInfos(); - - // 文件标识 - virtual QString getFilePvtTag(); - virtual bool savePvt(); - - virtual void fuzzyLayoutWH(int n, int& szW, int& szH); - -private: - - virtual void initUI_MethodOptions(); - - // 除了第一个之外,其它Radio隐藏与显示 - void showMostRadios(bool bVisible, VVecDouble* pVVecResults); - - // 算法有多少种 - virtual void dealwithMethods(); - - // 算法切换 - void refreshByMethod(QString s); - - // 准备 - void preparePsInfos(QMap& mapInfos, bool bOut); - void prepareOthers(); - - // 根据名称查找FitAlg - iPseudoCInfo* findAlgFitInfo(QString sName); - - void freshSubWxSo(iWxPseudoCSubSo* pSub); - void freshSubWxPseu(iWxPseudoCSubPseu* pSub); - bool fuzzyFitAboutInfos(QMap& map, \ - QStringList& listFitNames, \ - VecDouble& vecX, int& nSplitIndex); - -signals: - -private slots: - void slotInputRefresh(bool bVisible, VVecDouble* pVVecResults); - void slotSubWxChanged(int); -// void slotRefreshPseu(); - -private: - - QStackedWidget* m_pStackedWx; - - VecDouble m_vecX; - QMap m_mapOthers; - - // 临时,对应Input的计算结果数据 - VVecDouble* m_pVVecPtrOfPE; -}; - - diff --git a/Include/mTool/mToolPvt/iWxPvtUtilOption.h b/Include/mTool/mToolPvt/iWxPvtUtilOption.h deleted file mode 100644 index 7ccd7ac..0000000 --- a/Include/mTool/mToolPvt/iWxPvtUtilOption.h +++ /dev/null @@ -1,62 +0,0 @@ -#pragma once - -#include "iWxPvtBase.h" -#include "mToolPvt_global.h" - -class M_TOOL_PVT_EXPORT iWxPvtUtilOption : public iWxPvtBase -{ - Q_OBJECT - -public: - - explicit iWxPvtUtilOption(QWidget *parent = 0); - ~iWxPvtUtilOption(); - - // 初始化 - virtual void initUI(); - - // 传递参数 - void setInfos(QString sFluidType, QString sPhaseType, QStringList listParas); - - // 下拉选项的设定,从外界传入 - void selectParaMethod(QString sPara, QString sMethod); - -protected: - - // 默认值 - virtual void initDefault(); - - virtual void initMethodLists(QGroupBox* p); - virtual void dealWithParaItem(QGridLayout* pLayout, - QString sPara, - int r, - int& c); - virtual void fillParaMethods(); - -protected: - - virtual void paintEvent(QPaintEvent*); - virtual void resizeEvent(QResizeEvent*); - - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - -public slots: - - void slotParaCbxTextChanged(QString s); - -signals: - void sigParaMethodChanged(QString sPara, QString sMethod); - -private: - - // FluidType,这是主类型 - QString m_sFluidType; - // PhaseType,相类型 - QString m_sPhaseType; - // 当前计算的参数对象,通常英文 - QStringList m_listParas; - - // 下拉选项载体 - QMap m_mapCbxParas; -}; diff --git a/Include/mTool/mToolPvt/iWxPvtUtilOptionG.h b/Include/mTool/mToolPvt/iWxPvtUtilOptionG.h deleted file mode 100644 index 0dbec0d..0000000 --- a/Include/mTool/mToolPvt/iWxPvtUtilOptionG.h +++ /dev/null @@ -1,79 +0,0 @@ -#pragma once - -#include "iWxPvtUtilOption.h" - -namespace Ui { -class iWxPvtUtilOptionG; -} - -class iWxPvtComposition; -class M_TOOL_PVT_EXPORT iWxPvtUtilOptionG : public iWxPvtUtilOption -{ - Q_OBJECT - -public: - explicit iWxPvtUtilOptionG(QWidget *parent = 0); - ~iWxPvtUtilOptionG(); - - // 初始化 - virtual void initUI(); - - // 返回数据 - virtual bool getParaValue(QString sPara, - float &fValue, - QString sUnitDest = ""); - - // 文件标识 - virtual QString getFilePvtTag(); - -protected: - - // 默认值 - virtual void initDefault(); - - // 刷新H2S/CO2/N2等 - void refreshHCN(); - // 刷新摩尔 - void refreshMole(); - - // 根据组分计算并刷新相对密度 - void calAndFreshPho(QMap& map); - - // 计算临界值 - void calAndFreshTcPc(QWidget *pSender = NULL); - - // 判断数值是否正确 - bool checkInputOfHCN(QWidget *pSender = NULL); - - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - - - -private slots: - - // 临界计算方法切换 - void on_cbxCriticalMethods_currentIndexChanged(const QString &arg1); - - // H2S/CO2/N2的摩尔模式 - void on_radioFraction_clicked(); - void on_radioPercent_clicked(); - - // H2S/CO2/N2的摩尔数值验证 - void on_tbxH2S_textChanged(const QString &arg1); - void on_tbxCO2_textChanged(const QString &arg1); - void on_tbxN2_textChanged(const QString &arg1); - - // 比重改变 - void on_tbxGravity_textChanged(const QString &arg1); - - void on_btnComposition_clicked(); - - void slotCompSubChanged(QMap& map); - -private: - Ui::iWxPvtUtilOptionG *ui; - - QMap m_mapComps; - int m_nCustomIndex; -}; diff --git a/Include/mTool/mToolPvt/iWxPvtUtilOptionO.h b/Include/mTool/mToolPvt/iWxPvtUtilOptionO.h deleted file mode 100644 index b16f4bf..0000000 --- a/Include/mTool/mToolPvt/iWxPvtUtilOptionO.h +++ /dev/null @@ -1,50 +0,0 @@ -#pragma once - -#include "iWxPvtUtilOption.h" - -namespace Ui { -class iWxPvtUtilOptionO; -} - - -class M_TOOL_PVT_EXPORT iWxPvtUtilOptionO : public iWxPvtUtilOption -{ - Q_OBJECT - -public: - - explicit iWxPvtUtilOptionO(QWidget *parent = 0); - ~iWxPvtUtilOptionO(); - - // 初始化 - virtual void initUI(); - - // 文件标识 - virtual QString getFilePvtTag(); - -protected: - - // 默认值 - virtual void initDefault(); - - virtual void dealWithParaItem(QGridLayout* pLayout, - QString sPara, - int r, - int& c); - // 返回数据 - virtual bool getParaValue(QString sPara, - float &fValue, - QString sUnitDest = ""); - - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - -private slots: - void slotVasBegSetting(); - -private: - Ui::iWxPvtUtilOptionO *ui; - - float m_fPsep; - float m_fTsep; -}; diff --git a/Include/mTool/mToolPvt/iWxPvtUtilOptionW.h b/Include/mTool/mToolPvt/iWxPvtUtilOptionW.h deleted file mode 100644 index f15522b..0000000 --- a/Include/mTool/mToolPvt/iWxPvtUtilOptionW.h +++ /dev/null @@ -1,48 +0,0 @@ -#pragma once - -#include "iWxPvtUtilOption.h" - -namespace Ui { -class iWxPvtUtilOptionW; -} - -class M_TOOL_PVT_EXPORT iWxPvtUtilOptionW : public iWxPvtUtilOption -{ - Q_OBJECT - -public: - explicit iWxPvtUtilOptionW(QWidget *parent = 0); - ~iWxPvtUtilOptionW(); - - // 初始化 - virtual void initUI(); - - // 文件标识 - virtual QString getFilePvtTag(); - - virtual void onSerialize(ZxSerializer* ser); - virtual void onDeserialize(ZxSerializer* ser); - -protected: - - // 默认值 - virtual void initDefault(); - - // 刷新Radio相关 - void refreshRadioAbouts(); - - // 返回数据 - virtual bool getParaValue(QString sPara, - float &fValue, - QString sUnitDest = ""); - -private slots: - - void on_radioGravity_clicked(); - void on_radioSalinity_clicked(); - - void on_cbxUnitSalinity_currentIndexChanged(const QString &arg1); - -private: - Ui::iWxPvtUtilOptionW *ui; -}; diff --git a/Src/nmNum/nmDemo/nmDemoFrameworkTest.cpp b/Src/nmNum/nmDemo/nmDemoFrameworkTest.cpp index 8e57a3e..515b5ba 100644 --- a/Src/nmNum/nmDemo/nmDemoFrameworkTest.cpp +++ b/Src/nmNum/nmDemo/nmDemoFrameworkTest.cpp @@ -116,6 +116,7 @@ bool nmDemoFrameworkTest::_test_getBasicData(const ZxMainWindow* pMainWnd) return false; } + // 从当前窗体,获取PVT的具体参数,注意是单个值 { QStringList listParas; listParas.clear(); @@ -129,17 +130,36 @@ bool nmDemoFrameworkTest::_test_getBasicData(const ZxMainWindow* pMainWnd) Q_ASSERT (map.count() == listParas.count()); } + // 单相/多相,获取PVT物性参数的具体数据列表,两列数据,vecX、vecY + // 注意:vecY是物性参数计算结果列 + // vecX则比较特殊,可能是压力数值,也可能是温度数值,目前 + // 目前,泡点压力Pb、水黏度Miuw 为温度,其它为压力 { - VecDouble vecX, vecY; - vecX.clear(); - vecY.clear(); - if (!pSubWndFit->getPvtRstOf(WFT_Oil, "Pb", vecX, vecY)) + PvtFluidType pft = pSubWndFit->getBasicPft(); //WFT_Oil_Water { - return false; + VecDouble vecX, vecY; + vecX.clear(); + vecY.clear(); + if (!pSubWndFit->getPvtRstOf(pft, "Bo", vecX, vecY)) + { + return false; + } + Q_ASSERT (vecX.count() == vecX.count()); + } + { + VecDouble vecX, vecY; + vecX.clear(); + vecY.clear(); + if (!pSubWndFit->getPvtRstOf(pft, "Bw", vecX, vecY)) + { + return false; + } + Q_ASSERT (vecX.count() == vecX.count()); } - Q_ASSERT (vecX.count() == vecX.count()); } +// PvtFluidType (); + // 如下代码来自刘豪—— // 获取基础信息对话框中的储层厚度、孔隙度、岩石压缩系数参数 // 调用 getBasicDataLayers 获取基础数据 diff --git a/Src/nmNum/nmSubWnd/nmSubWndGrid.cpp b/Src/nmNum/nmSubWnd/nmSubWndGrid.cpp index 4f10d93..9c8b8be 100644 --- a/Src/nmNum/nmSubWnd/nmSubWndGrid.cpp +++ b/Src/nmNum/nmSubWnd/nmSubWndGrid.cpp @@ -22,7 +22,6 @@ #include "ZxDataWell.h" #include "ZxDataProject.h" -#include "ZxRstJobWnd.h" #ifdef QT_DEBUG #include "ZxDataGaugeP.h" #endif diff --git a/Src/nmNum/nmSubWnd/nmSubWndMain.cpp b/Src/nmNum/nmSubWnd/nmSubWndMain.cpp index 32f568e..5db6c76 100644 --- a/Src/nmNum/nmSubWnd/nmSubWndMain.cpp +++ b/Src/nmNum/nmSubWnd/nmSubWndMain.cpp @@ -24,7 +24,6 @@ #include "ZxDataWell.h" #include "ZxDataProject.h" -#include "ZxRstJobWnd.h" #ifdef QT_DEBUG #include "ZxDataGaugeP.h" #endif diff --git a/Src/nmNum/nmSubWnd/nmSubWndPostprocessing.cpp b/Src/nmNum/nmSubWnd/nmSubWndPostprocessing.cpp index 69b8af2..71c9860 100644 --- a/Src/nmNum/nmSubWnd/nmSubWndPostprocessing.cpp +++ b/Src/nmNum/nmSubWnd/nmSubWndPostprocessing.cpp @@ -23,7 +23,6 @@ #include "ZxDataWell.h" #include "ZxDataProject.h" -#include "ZxRstJobWnd.h" #ifdef QT_DEBUG #include "ZxDataGaugeP.h" #endif diff --git a/Src4/nmNum/nmDemo/nmDemo.pro b/Src4/nmNum/nmDemo/nmDemo.pro index 470b9a8..66fae71 100644 --- a/Src4/nmNum/nmDemo/nmDemo.pro +++ b/Src4/nmNum/nmDemo/nmDemo.pro @@ -1,10 +1,10 @@ ## /////////////////////////////////////// -## 本类库主要 数值试井 测试代码 -## 因为依赖关系问题,从WTAI调试数值代码不太方便,所以从20250616开启, -## 不再维护nmNum下面的内容(原本就是为了Demo而写的),直接调用数值模 -## 块的类库和头文件来进行 -## 测试代码仅仅通过nmDemo来完成 -## 测试demo时,需要注销 #define USE_NM_STANDARD +## Ҫ ֵԾ Դ +## Ϊϵ⣬WTAIֵ벻̫㣬Դ20250616 +## άnmNumݣԭΪDemoдģֱӵֵģ +## ͷļ +## ԴͨnmDemo +## demoʱҪע #define USE_NM_STANDARD ## /////////////////////////////////////// QT += core# xml sql