Return-Path: Delivered-To: apmail-jakarta-tomcat-user-archive@apache.org Received: (qmail 86111 invoked from network); 12 Sep 2002 08:29:03 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 12 Sep 2002 08:29:03 -0000 Received: (qmail 13616 invoked by uid 97); 12 Sep 2002 08:26:07 -0000 Delivered-To: qmlist-jakarta-archive-tomcat-user@jakarta.apache.org Received: (qmail 13572 invoked by uid 97); 12 Sep 2002 08:26:06 -0000 Mailing-List: contact tomcat-user-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Tomcat Users List" Reply-To: "Tomcat Users List" Delivered-To: mailing list tomcat-user@jakarta.apache.org Received: (qmail 13560 invoked by uid 98); 12 Sep 2002 08:26:06 -0000 X-Antivirus: nagoya (v4218 created Aug 14 2002) MIME-Version: 1.0 To: tomcat-user@jakarta.apache.org X-Mailer: Lotus Notes Release 5.0.10 March 22, 2002 Message-ID: From: christophe.baroin@jpservices.fr Date: Thu, 12 Sep 2002 10:25:33 +0200 Subject: PROBLEM with Tomcat 4.10 and Jasper X-MIMETrack: Serialize by Router on ServeurNotes/JPServices(Release 5.0.10 |March 22, 2002) at 12/09/2002 10:25:37 Content-Type: multipart/mixed; boundary="=_mixed 002E48E1C1256C32_=" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N --=_mixed 002E48E1C1256C32_= Content-Type: multipart/alternative; boundary="=_alternative 002E48E3C1256C32_=" --=_alternative 002E48E3C1256C32_= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello,=20 I am French, sorry for my englais.=20 I have a problem with Tomcat 4.10 and Jasper=20 I use tags < jsp:include... >.=20 That functions very well with Tomcat 4.0.x but not with Tomcat 4.10=20 I you sendings my log and my file jsp + file compiled (Tomcat 4.0.4 and=20 4.10).=20 thank you in advance=20 Log =3D=3D>=20 JSP source file =3D=3D> TOMCAT 4.10 =3D=3D>=20 TOMCAT 4.0.4 =3D=3D>=20 greetings. Christophe BAROIN JP Services=20 16, Rue de Moronval=20 28100 DREUX=20 T=E9l. : 02.37.38.92.12 Fax : 02.37.42.87.58 E Mail :christophe.baroin@jpservices.fr Visiter notre site sur http://www.jpservices.fr --=_alternative 002E48E3C1256C32_= Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hello,

I am French, sorry for my engla= is.  

I have a problem with Tomcat 4.= 10 and Jasper
I use tags < jsp:include... = >.
That functions very well with T= omcat 4.0.x but not with Tomcat 4.10
I you sendings my log and my fi= le jsp + file compiled (Tomcat 4.0.4 and 4.10).

thank you in advance

Log =3D=3D>
JSP source file =3D=3D>
TOMCAT 4.10 =3D=3D>
TOMCAT 4.0.4 =3D=3D>

greetings.

Christophe BAROIN
JP Services                
16, Rue de Moronval
28100 DREUX

T=E9l.   : 02.37.38.92.12
Fax   : 02.37.42.87.58
E Mail :christophe.baroin@jpservices.fr
Visiter notre site sur http://www.jpservices.fr
--=_alternative 002E48E3C1256C32_=-- --=_mixed 002E48E1C1256C32_= Content-Type: text/plain; name="localhost_log.2002-09-10.txt" Content-Disposition: attachment; filename="localhost_log.2002-09-10.txt" Content-Transfer-Encoding: base64 MjAwMi0wOS0xMCAxMTozMDoyNiBXZWJhcHBMb2FkZXJbL2xlY3VyZXVyXTogRGVwbG95aW5nIGNs YXNzIHJlcG9zaXRvcmllcyB0byB3b3JrIGRpcmVjdG9yeSBFOlxUb21jYXQgNC4xXHdvcmtcU3Rh bmRhbG9uZVxsb2NhbGhvc3RcbGVjdXJldXINCjIwMDItMDktMTAgMTE6MzA6MjYgV2ViYXBwTG9h ZGVyWy9sZWN1cmV1cl06IERlcGxveSBjbGFzcyBmaWxlcyAvV0VCLUlORi9jbGFzc2VzIHRvIGU6 XFRvbWNhdCA0LjFcd2ViYXBwc1xsZWN1cmV1clxXRUItSU5GXGNsYXNzZXMNCjIwMDItMDktMTAg MTE6MzA6MjYgV2ViYXBwTG9hZGVyWy9sZWN1cmV1cl06IFJlbG9hZGluZyBjaGVja3MgYXJlIGVu YWJsZWQgZm9yIHRoaXMgQ29udGV4dA0KMjAwMi0wOS0xMCAxMTozMDoyNiBDb250ZXh0Q29uZmln Wy9sZWN1cmV1cl06IFdBUk5JTkc6IFNlY3VyaXR5IHJvbGUgbmFtZSBsZWN1cmV1ciB1c2VkIGlu IGFuIDxhdXRoLWNvbnN0cmFpbnQ+IHdpdGhvdXQgYmVpbmcgZGVmaW5lZCBpbiBhIDxzZWN1cml0 eS1yb2xlPg0KMjAwMi0wOS0xMCAxMTozMDoyNiBDb250ZXh0Q29uZmlnWy9sZWN1cmV1cl06IENv bmZpZ3VyZWQgYW4gYXV0aGVudGljYXRvciBmb3IgbWV0aG9kIEZPUk0NCjIwMDItMDktMTAgMTE6 MzA6MjYgU3RhbmRhcmRNYW5hZ2VyWy9sZWN1cmV1cl06IFNlZWRpbmcgcmFuZG9tIG51bWJlciBn ZW5lcmF0b3IgY2xhc3MgamF2YS5zZWN1cml0eS5TZWN1cmVSYW5kb20NCjIwMDItMDktMTAgMTE6 MzA6MjYgU3RhbmRhcmRNYW5hZ2VyWy9sZWN1cmV1cl06IFNlZWRpbmcgb2YgcmFuZG9tIG51bWJl ciBnZW5lcmF0b3IgaGFzIGJlZW4gY29tcGxldGVkDQoyMDAyLTA5LTEwIDExOjMwOjI2IFN0YW5k YXJkV3JhcHBlclsvbGVjdXJldXI6ZGVmYXVsdF06IExvYWRpbmcgY29udGFpbmVyIHNlcnZsZXQg ZGVmYXVsdA0KMjAwMi0wOS0xMCAxMTozMDoyNiBTdGFuZGFyZFdyYXBwZXJbL2xlY3VyZXVyOmlu dm9rZXJdOiBMb2FkaW5nIGNvbnRhaW5lciBzZXJ2bGV0IGludm9rZXINCjIwMDItMDktMTAgMTE6 MzE6MTUgU3RhbmRhcmRXcmFwcGVyVmFsdmVbanNwXTogU2VydmxldC5zZXJ2aWNlKCkgZm9yIHNl cnZsZXQganNwIHRocmV3IGV4Y2VwdGlvbg0Kb3JnLmFwYWNoZS5qYXNwZXIuSmFzcGVyRXhjZXB0 aW9uOiBVbmFibGUgdG8gY29tcGlsZSBjbGFzcyBmb3IgSlNQDQoJYXQgb3JnLmFwYWNoZS5qYXNw ZXIuSnNwQ29tcGlsYXRpb25Db250ZXh0LmNvbXBpbGUoSnNwQ29tcGlsYXRpb25Db250ZXh0Lmph dmE6NDc3KQ0KCWF0IG9yZy5hcGFjaGUuamFzcGVyLnNlcnZsZXQuSnNwU2VydmxldFdyYXBwZXIu c2VydmljZShKc3BTZXJ2bGV0V3JhcHBlci5qYXZhOjE4MikNCglhdCBvcmcuYXBhY2hlLmphc3Bl ci5zZXJ2bGV0LkpzcFNlcnZsZXQuc2VydmljZUpzcEZpbGUoSnNwU2VydmxldC5qYXZhOjI4OSkN CglhdCBvcmcuYXBhY2hlLmphc3Blci5zZXJ2bGV0LkpzcFNlcnZsZXQuc2VydmljZShKc3BTZXJ2 bGV0LmphdmE6MjQwKQ0KCWF0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldC5zZXJ2aWNl KEh0dHBTZXJ2bGV0LmphdmE6ODUzKQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5BcHBs aWNhdGlvbkZpbHRlckNoYWluLmludGVybmFsRG9GaWx0ZXIoQXBwbGljYXRpb25GaWx0ZXJDaGFp bi5qYXZhOjI0NykNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQXBwbGljYXRpb25GaWx0 ZXJDaGFpbi5kb0ZpbHRlcihBcHBsaWNhdGlvbkZpbHRlckNoYWluLmphdmE6MTkzKQ0KCWF0IG9y Zy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFdyYXBwZXJWYWx2ZS5pbnZva2UoU3RhbmRh cmRXcmFwcGVyVmFsdmUuamF2YToyNjApDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0 YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQaXBlbGluZVZhbHZlQ29udGV4dC5pbnZva2VOZXh0KFN0 YW5kYXJkUGlwZWxpbmUuamF2YTo2NDMpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0 YW5kYXJkUGlwZWxpbmUuaW52b2tlKFN0YW5kYXJkUGlwZWxpbmUuamF2YTo0ODApDQoJYXQgb3Jn LmFwYWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2UuaW52b2tlKENvbnRhaW5lckJhc2Uu amF2YTo5OTUpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkQ29udGV4dFZh bHZlLmludm9rZShTdGFuZGFyZENvbnRleHRWYWx2ZS5qYXZhOjE5MSkNCglhdCBvcmcuYXBhY2hl LmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZSRTdGFuZGFyZFBpcGVsaW5lVmFsdmVDb250 ZXh0Lmludm9rZU5leHQoU3RhbmRhcmRQaXBlbGluZS5qYXZhOjY0MykNCglhdCBvcmcuYXBhY2hl LmNhdGFsaW5hLmF1dGhlbnRpY2F0b3IuQXV0aGVudGljYXRvckJhc2UuaW52b2tlKEF1dGhlbnRp Y2F0b3JCYXNlLmphdmE6NDcxKQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFy ZFBpcGVsaW5lJFN0YW5kYXJkUGlwZWxpbmVWYWx2ZUNvbnRleHQuaW52b2tlTmV4dChTdGFuZGFy ZFBpcGVsaW5lLmphdmE6NjQxKQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFy ZFBpcGVsaW5lLmludm9rZShTdGFuZGFyZFBpcGVsaW5lLmphdmE6NDgwKQ0KCWF0IG9yZy5hcGFj aGUuY2F0YWxpbmEuY29yZS5Db250YWluZXJCYXNlLmludm9rZShDb250YWluZXJCYXNlLmphdmE6 OTk1KQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZENvbnRleHQuaW52b2tl KFN0YW5kYXJkQ29udGV4dC5qYXZhOjIzOTcpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3Jl LlN0YW5kYXJkSG9zdFZhbHZlLmludm9rZShTdGFuZGFyZEhvc3RWYWx2ZS5qYXZhOjE4MCkNCglh dCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZSRTdGFuZGFyZFBpcGVs aW5lVmFsdmVDb250ZXh0Lmludm9rZU5leHQoU3RhbmRhcmRQaXBlbGluZS5qYXZhOjY0MykNCglh dCBvcmcuYXBhY2hlLmNhdGFsaW5hLnZhbHZlcy5FcnJvckRpc3BhdGNoZXJWYWx2ZS5pbnZva2Uo RXJyb3JEaXNwYXRjaGVyVmFsdmUuamF2YToxNzApDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5j b3JlLlN0YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQaXBlbGluZVZhbHZlQ29udGV4dC5pbnZva2VO ZXh0KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2NDEpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS52 YWx2ZXMuRXJyb3JSZXBvcnRWYWx2ZS5pbnZva2UoRXJyb3JSZXBvcnRWYWx2ZS5qYXZhOjE3MSkN CglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZSRTdGFuZGFyZFBp cGVsaW5lVmFsdmVDb250ZXh0Lmludm9rZU5leHQoU3RhbmRhcmRQaXBlbGluZS5qYXZhOjY0MSkN CglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZS5pbnZva2UoU3Rh bmRhcmRQaXBlbGluZS5qYXZhOjQ4MCkNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29u dGFpbmVyQmFzZS5pbnZva2UoQ29udGFpbmVyQmFzZS5qYXZhOjk5NSkNCglhdCBvcmcuYXBhY2hl LmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRFbmdpbmVWYWx2ZS5pbnZva2UoU3RhbmRhcmRFbmdpbmVW YWx2ZS5qYXZhOjE3NCkNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBl bGluZSRTdGFuZGFyZFBpcGVsaW5lVmFsdmVDb250ZXh0Lmludm9rZU5leHQoU3RhbmRhcmRQaXBl bGluZS5qYXZhOjY0MykNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBl bGluZS5pbnZva2UoU3RhbmRhcmRQaXBlbGluZS5qYXZhOjQ4MCkNCglhdCBvcmcuYXBhY2hlLmNh dGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZS5pbnZva2UoQ29udGFpbmVyQmFzZS5qYXZhOjk5NSkN CglhdCBvcmcuYXBhY2hlLmNveW90ZS50b21jYXQ0LkNveW90ZUFkYXB0ZXIuc2VydmljZShDb3lv dGVBZGFwdGVyLmphdmE6MjIzKQ0KCWF0IG9yZy5hcGFjaGUuY295b3RlLmh0dHAxMS5IdHRwMTFQ cm9jZXNzb3IucHJvY2VzcyhIdHRwMTFQcm9jZXNzb3IuamF2YTo0MDUpDQoJYXQgb3JnLmFwYWNo ZS5jb3lvdGUuaHR0cDExLkh0dHAxMVByb3RvY29sJEh0dHAxMUNvbm5lY3Rpb25IYW5kbGVyLnBy b2Nlc3NDb25uZWN0aW9uKEh0dHAxMVByb3RvY29sLmphdmE6MzgwKQ0KCWF0IG9yZy5hcGFjaGUu dG9tY2F0LnV0aWwubmV0LlRjcFdvcmtlclRocmVhZC5ydW5JdChQb29sVGNwRW5kcG9pbnQuamF2 YTo1MDgpDQoJYXQgb3JnLmFwYWNoZS50b21jYXQudXRpbC50aHJlYWRzLlRocmVhZFBvb2wkQ29u dHJvbFJ1bm5hYmxlLnJ1bihUaHJlYWRQb29sLmphdmE6NTMzKQ0KCWF0IGphdmEubGFuZy5UaHJl YWQucnVuKFRocmVhZC5qYXZhOjUzNikNCi0tLS0tIFJvb3QgQ2F1c2UgLS0tLS0NCm9yZy5hcGFj aGUuamFzcGVyLkphc3BlckV4Y2VwdGlvbjogVW5hYmxlIHRvIGNvbXBpbGUgY2xhc3MgZm9yIEpT UAoKQW4gZXJyb3Igb2NjdXJyZWQgYXQgbGluZTogMzM0IGluIHRoZSBqc3AgZmlsZTogL0pzcC9D b250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwCgpHZW5lcmF0ZWQgc2VydmxldCBlcnJv cjoKICAgIFtqYXZhY10gQ29tcGlsaW5nIDEgc291cmNlIGZpbGUKRTpcVG9tY2F0IDQuMVx3b3Jr XFN0YW5kYWxvbmVcbG9jYWxob3N0XGxlY3VyZXVyXEpzcFxDb250cmF0XEJvZHlFbnRldGVDb250 cmF0U3VpdGVfanNwLmphdmE6MzEwOiBjYW5ub3QgcmVzb2x2ZSBzeW1ib2wKc3ltYm9sICA6IG1l dGhvZCBlbmNvZGUgKGxvbmcpCmxvY2F0aW9uOiBjbGFzcyBqYXZhLm5ldC5VUkxFbmNvZGVyCiAg ICAgIEpzcFJ1bnRpbWVMaWJyYXJ5LmluY2x1ZGUocmVxdWVzdCwgcmVzcG9uc2UsICIuLi9MaXN0 ZURlcm91bGFudGUvTGlzdGVEZXJvdWxhbnRlX1BUWVBFQ09OVC5qc3AiICsgIj8iICsgImFmZmlj aGFnZT0iICsgIjIiICsgIiYiICsgInZhbGV1cj0iICsgamF2YS5uZXQuVVJMRW5jb2Rlci5lbmNv ZGUoRklFQ09OSlYxLmdldENPTlRDTyh2ZWN0KSkgKyAiJiIgKyAiem9uZVJldG91cj0iICsgIlBU WVBFQ09OVCIgKyAiJiIgKyAiZm9ybXVsYWlyZT0iICsgImNhbGZvcm0iICsgIiYiICsgInBvc2l0 aW9uPSIgKyAidGV4dCIgKyAiJiIgKyAic2NyaXB0PSIgKyAiKyIgKyAiJiIgKyAic3R5bGVDbGFz cz0iICsgInNlbGVjdCIsIG91dCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KCgoKQW4gZXJyb3Igb2NjdXJyZWQgYXQgbGluZTog MzQ5IGluIHRoZSBqc3AgZmlsZTogL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUu anNwCgpHZW5lcmF0ZWQgc2VydmxldCBlcnJvcjoKRTpcVG9tY2F0IDQuMVx3b3JrXFN0YW5kYWxv bmVcbG9jYWxob3N0XGxlY3VyZXVyXEpzcFxDb250cmF0XEJvZHlFbnRldGVDb250cmF0U3VpdGVf anNwLmphdmE6MzI5OiBjYW5ub3QgcmVzb2x2ZSBzeW1ib2wKc3ltYm9sICA6IG1ldGhvZCBlbmNv ZGUgKGxvbmcpCmxvY2F0aW9uOiBjbGFzcyBqYXZhLm5ldC5VUkxFbmNvZGVyCiAgICAgIEpzcFJ1 bnRpbWVMaWJyYXJ5LmluY2x1ZGUocmVxdWVzdCwgcmVzcG9uc2UsICIuLi9MaXN0ZURlcm91bGFu dGUvTGlzdGVEZXJvdWxhbnRlX1RJRVJTLmpzcCIgKyAiPyIgKyAiYWZmaWNoYWdlPSIgKyAiMiIg KyAiJiIgKyAidmFsZXVyPSIgKyBqYXZhLm5ldC5VUkxFbmNvZGVyLmVuY29kZShGSUVDT05KVjEu Z2V0Q09OVElFKHZlY3QpKSArICImIiArICJ6b25lUmV0b3VyPSIgKyAiVElFUlMiICsgIiYiICsg ImZvcm11bGFpcmU9IiArICJjYWxmb3JtIiArICImIiArICJwb3NpdGlvbj0iICsgInRleHQiICsg IiYiICsgInNjcmlwdD0iICsgIisiICsgIiYiICsgInR5cGVUaWVycz0iICsgIisiICsgIiYiICsg InN0eWxlQ2xhc3M9IiArICJzZWxlY3QiLCBvdXQsIHRydWUpOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KCgoKQW4gZXJyb3Igb2NjdXJyZWQgYXQg bGluZTogMzYzIGluIHRoZSBqc3AgZmlsZTogL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0 U3VpdGUuanNwCgpHZW5lcmF0ZWQgc2VydmxldCBlcnJvcjoKRTpcVG9tY2F0IDQuMVx3b3JrXFN0 YW5kYWxvbmVcbG9jYWxob3N0XGxlY3VyZXVyXEpzcFxDb250cmF0XEJvZHlFbnRldGVDb250cmF0 U3VpdGVfanNwLmphdmE6MzQ0OiBjYW5ub3QgcmVzb2x2ZSBzeW1ib2wKc3ltYm9sICA6IG1ldGhv ZCBlbmNvZGUgKGxvbmcpCmxvY2F0aW9uOiBjbGFzcyBqYXZhLm5ldC5VUkxFbmNvZGVyCiAgICAg IEpzcFJ1bnRpbWVMaWJyYXJ5LmluY2x1ZGUocmVxdWVzdCwgcmVzcG9uc2UsICIuLi9MaXN0ZURl cm91bGFudGUvTGlzdGVEZXJvdWxhbnRlX1BSRUNPTFRFUy5qc3AiICsgIj8iICsgImFmZmljaGFn ZT0iICsgIjIiICsgIiYiICsgInZhbGV1cj0iICsgamF2YS5uZXQuVVJMRW5jb2Rlci5lbmNvZGUo RklFQ09OSlYxLmdldENPTkNBTSh2ZWN0KSkgKyAiJiIgKyAiem9uZVJldG91cj0iICsgIlBSRUNP TFRFUyIgKyAiJiIgKyAiZm9ybXVsYWlyZT0iICsgImNhbGZvcm0iICsgIiYiICsgInBvc2l0aW9u PSIgKyAidGV4dCIgKyAiJiIgKyAic2NyaXB0PSIgKyAiKyIgKyAiJiIgKyAic3R5bGVDbGFzcz0i ICsgInNlbGVjdCIsIG91dCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KCgoKQW4gZXJyb3Igb2NjdXJyZWQgYXQgbGluZTogMzc3 IGluIHRoZSBqc3AgZmlsZTogL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNw CgpHZW5lcmF0ZWQgc2VydmxldCBlcnJvcjoKRTpcVG9tY2F0IDQuMVx3b3JrXFN0YW5kYWxvbmVc bG9jYWxob3N0XGxlY3VyZXVyXEpzcFxDb250cmF0XEJvZHlFbnRldGVDb250cmF0U3VpdGVfanNw LmphdmE6MzUyOiBjYW5ub3QgcmVzb2x2ZSBzeW1ib2wKc3ltYm9sICA6IG1ldGhvZCBlbmNvZGUg KGxvbmcpCmxvY2F0aW9uOiBjbGFzcyBqYXZhLm5ldC5VUkxFbmNvZGVyCiAgICAgIEpzcFJ1bnRp bWVMaWJyYXJ5LmluY2x1ZGUocmVxdWVzdCwgcmVzcG9uc2UsICIuLi9MaXN0ZURlcm91bGFudGUv TGlzdGVEZXJvdWxhbnRlX1BST0RVSVQuanNwIiArICI/IiArICJhZmZpY2hhZ2U9IiArICIyIiAr ICImIiArICJ2YWxldXI9IiArIGphdmEubmV0LlVSTEVuY29kZXIuZW5jb2RlKEZJRUNPTkpWMS5n ZXRDT05QUk8odmVjdCkpICsgIiYiICsgInpvbmVSZXRvdXI9IiArICJQUk9EVUlUIiArICImIiAr ICJmb3JtdWxhaXJlPSIgKyAiY2FsZm9ybSIgKyAiJiIgKyAicG9zaXRpb249IiArICJ0ZXh0IiAr ICImIiArICJzY3JpcHQ9IiArICIrIiArICImIiArICJmYW1pbGxlPSIgKyAiKyIgKyAiJiIgKyAi c3R5bGVDbGFzcz0iICsgInNlbGVjdCIsIG91dCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCjQgZXJyb3JzCgoNCglhdCBvcmcuYXBh Y2hlLmphc3Blci5jb21waWxlci5EZWZhdWx0RXJyb3JIYW5kbGVyLmphdmFjRXJyb3IoRGVmYXVs dEVycm9ySGFuZGxlci5qYXZhOjEyMCkNCglhdCBvcmcuYXBhY2hlLmphc3Blci5jb21waWxlci5F cnJvckRpc3BhdGNoZXIuamF2YWNFcnJvcihFcnJvckRpc3BhdGNoZXIuamF2YToyOTMpDQoJYXQg b3JnLmFwYWNoZS5qYXNwZXIuY29tcGlsZXIuQ29tcGlsZXIuZ2VuZXJhdGVDbGFzcyhDb21waWxl ci5qYXZhOjMxNSkNCglhdCBvcmcuYXBhY2hlLmphc3Blci5jb21waWxlci5Db21waWxlci5jb21w aWxlKENvbXBpbGVyLmphdmE6MzI2KQ0KCWF0IG9yZy5hcGFjaGUuamFzcGVyLkpzcENvbXBpbGF0 aW9uQ29udGV4dC5jb21waWxlKEpzcENvbXBpbGF0aW9uQ29udGV4dC5qYXZhOjQ3NCkNCglhdCBv cmcuYXBhY2hlLmphc3Blci5zZXJ2bGV0LkpzcFNlcnZsZXRXcmFwcGVyLnNlcnZpY2UoSnNwU2Vy dmxldFdyYXBwZXIuamF2YToxODIpDQoJYXQgb3JnLmFwYWNoZS5qYXNwZXIuc2VydmxldC5Kc3BT ZXJ2bGV0LnNlcnZpY2VKc3BGaWxlKEpzcFNlcnZsZXQuamF2YToyODkpDQoJYXQgb3JnLmFwYWNo ZS5qYXNwZXIuc2VydmxldC5Kc3BTZXJ2bGV0LnNlcnZpY2UoSnNwU2VydmxldC5qYXZhOjI0MCkN CglhdCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXQuc2VydmljZShIdHRwU2VydmxldC5q YXZhOjg1MykNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQXBwbGljYXRpb25GaWx0ZXJD aGFpbi5pbnRlcm5hbERvRmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uamF2YToyNDcpDQoJ YXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uZG9GaWx0 ZXIoQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5qYXZhOjE5MykNCglhdCBvcmcuYXBhY2hlLmNhdGFs aW5hLmNvcmUuU3RhbmRhcmRXcmFwcGVyVmFsdmUuaW52b2tlKFN0YW5kYXJkV3JhcHBlclZhbHZl LmphdmE6MjYwKQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5l JFN0YW5kYXJkUGlwZWxpbmVWYWx2ZUNvbnRleHQuaW52b2tlTmV4dChTdGFuZGFyZFBpcGVsaW5l LmphdmE6NjQzKQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5l Lmludm9rZShTdGFuZGFyZFBpcGVsaW5lLmphdmE6NDgwKQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxp bmEuY29yZS5Db250YWluZXJCYXNlLmludm9rZShDb250YWluZXJCYXNlLmphdmE6OTk1KQ0KCWF0 IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZENvbnRleHRWYWx2ZS5pbnZva2UoU3Rh bmRhcmRDb250ZXh0VmFsdmUuamF2YToxOTEpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3Jl LlN0YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQaXBlbGluZVZhbHZlQ29udGV4dC5pbnZva2VOZXh0 KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2NDMpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5hdXRo ZW50aWNhdG9yLkF1dGhlbnRpY2F0b3JCYXNlLmludm9rZShBdXRoZW50aWNhdG9yQmFzZS5qYXZh OjQ3MSkNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZSRTdGFu ZGFyZFBpcGVsaW5lVmFsdmVDb250ZXh0Lmludm9rZU5leHQoU3RhbmRhcmRQaXBlbGluZS5qYXZh OjY0MSkNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZS5pbnZv a2UoU3RhbmRhcmRQaXBlbGluZS5qYXZhOjQ4MCkNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNv cmUuQ29udGFpbmVyQmFzZS5pbnZva2UoQ29udGFpbmVyQmFzZS5qYXZhOjk5NSkNCglhdCBvcmcu YXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRDb250ZXh0Lmludm9rZShTdGFuZGFyZENvbnRl eHQuamF2YToyMzk3KQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZEhvc3RW YWx2ZS5pbnZva2UoU3RhbmRhcmRIb3N0VmFsdmUuamF2YToxODApDQoJYXQgb3JnLmFwYWNoZS5j YXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQaXBlbGluZVZhbHZlQ29udGV4 dC5pbnZva2VOZXh0KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2NDMpDQoJYXQgb3JnLmFwYWNoZS5j YXRhbGluYS52YWx2ZXMuRXJyb3JEaXNwYXRjaGVyVmFsdmUuaW52b2tlKEVycm9yRGlzcGF0Y2hl clZhbHZlLmphdmE6MTcwKQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBp cGVsaW5lJFN0YW5kYXJkUGlwZWxpbmVWYWx2ZUNvbnRleHQuaW52b2tlTmV4dChTdGFuZGFyZFBp cGVsaW5lLmphdmE6NjQxKQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEudmFsdmVzLkVycm9yUmVw b3J0VmFsdmUuaW52b2tlKEVycm9yUmVwb3J0VmFsdmUuamF2YToxNzEpDQoJYXQgb3JnLmFwYWNo ZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQaXBlbGluZVZhbHZlQ29u dGV4dC5pbnZva2VOZXh0KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2NDEpDQoJYXQgb3JnLmFwYWNo ZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUuaW52b2tlKFN0YW5kYXJkUGlwZWxpbmUu amF2YTo0ODApDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2UuaW52 b2tlKENvbnRhaW5lckJhc2UuamF2YTo5OTUpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3Jl LlN0YW5kYXJkRW5naW5lVmFsdmUuaW52b2tlKFN0YW5kYXJkRW5naW5lVmFsdmUuamF2YToxNzQp DQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQ aXBlbGluZVZhbHZlQ29udGV4dC5pbnZva2VOZXh0KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2NDMp DQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUuaW52b2tlKFN0 YW5kYXJkUGlwZWxpbmUuamF2YTo0ODApDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNv bnRhaW5lckJhc2UuaW52b2tlKENvbnRhaW5lckJhc2UuamF2YTo5OTUpDQoJYXQgb3JnLmFwYWNo ZS5jb3lvdGUudG9tY2F0NC5Db3lvdGVBZGFwdGVyLnNlcnZpY2UoQ295b3RlQWRhcHRlci5qYXZh OjIyMykNCglhdCBvcmcuYXBhY2hlLmNveW90ZS5odHRwMTEuSHR0cDExUHJvY2Vzc29yLnByb2Nl c3MoSHR0cDExUHJvY2Vzc29yLmphdmE6NDA1KQ0KCWF0IG9yZy5hcGFjaGUuY295b3RlLmh0dHAx MS5IdHRwMTFQcm90b2NvbCRIdHRwMTFDb25uZWN0aW9uSGFuZGxlci5wcm9jZXNzQ29ubmVjdGlv bihIdHRwMTFQcm90b2NvbC5qYXZhOjM4MCkNCglhdCBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLm5l dC5UY3BXb3JrZXJUaHJlYWQucnVuSXQoUG9vbFRjcEVuZHBvaW50LmphdmE6NTA4KQ0KCWF0IG9y Zy5hcGFjaGUudG9tY2F0LnV0aWwudGhyZWFkcy5UaHJlYWRQb29sJENvbnRyb2xSdW5uYWJsZS5y dW4oVGhyZWFkUG9vbC5qYXZhOjUzMykNCglhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQu amF2YTo1MzYpDQo= --=_mixed 002E48E1C1256C32_= Content-Type: application/octet-stream; name="BodyEnteteContratSuite.jsp" Content-Disposition: attachment; filename="BodyEnteteContratSuite.jsp" Content-Transfer-Encoding: base64 PEhUTUw+DQo8SEVBRD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPg0KPE1FVEEgaHR0cC1lcXVpdj0iQ2FjaGUt Q29udHJvbCIgY29udGVudD0ibm8tY2FjaGUiPg0KPE1FVEEgSFRUUC1FUVVJVj0icHJhZ21hIiBD T05URU5UPSJuby1jYWNoZSI+DQo8VElUTEU+QXBwbGljYXRpb24gVHJhZGluZyA8L1RJVExFPg0K PHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSIuLi9TY3JpcHQvTGlzdGUuanMiPjwv c2NyaXB0Pg0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9TdHlsZS9sZWN1cmV1ci5j c3MiPg0KDQo8c3R5bGUgaWQ9ImJpZG9uIiB0eXBlPSJ0ZXh0L2NzcyI+DQoudGRibHVlICAgICAg eyBjb2xvcjogIzAwMDAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0M4RDlGQjsgYmFja2dyb3VuZC1y ZXBlYXQ6IHJlcGVhdDsgDQogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNj cm9sbDsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgfQ0KLmNhY2hlckJvdXRvbjEJe2Rpc3BsYXk6 IGxpc3QtaXRlbX0NCi5jYWNoZXJCb3V0b24yCXtkaXNwbGF5OiBub25lfQ0KPC9zdHlsZT4NCg0K PC9oZWFkPg0KDQo8JQ0KU3RyaW5nIGNoZW1pbiA9ICIvbGVjdXJldXIvc2VydmxldC9sZWN1cmV1 ci5DcmVhdEVudGV0ZUNvbnRyYXRTdWl0ZVNlcnZsZXQiOw0KU3RyaW5nIGNoZW1pbjEgPSAiL2xl Y3VyZXVyL3NlcnZsZXQvbGVjdXJldXIuQ3JlYXRFbnRldGVDb250cmF0U3VpdGVNQUpTZXJ2bGV0 IjsNClN0cmluZyB0b2RvID0gcmVxdWVzdC5nZXRQYXJhbWV0ZXIoInRvZG8iKTsNClN0cmluZyBj bGVFbnRldGVDb250cmF0ID0gcmVxdWVzdC5nZXRQYXJhbWV0ZXIoImNsZUVudGV0ZUNvbnRyYXQi KTsNClN0cmluZyB2YWxldXJFbnRldGVDb250cmF0ID0gcmVxdWVzdC5nZXRQYXJhbWV0ZXIoInZh bGV1ckVudGV0ZUNvbnRyYXQiKTsNCiU+DQoNCjwlIC8vIEdlbmVyYXRpb24gZGUgbGEgY29uZGl0 aW9uIFdIRVJFIGRlIGxhIHJlcXVldHRlDQpTdHJpbmcgY29uZGl0aW9uID0gIiBXSEVSRSBDT05T VEE8PidDJyI7DQppZiAodG9kby5lcXVhbHMoIlNlYXJjaCIpKXsNCglpZiAoY2xlRW50ZXRlQ29u dHJhdC5lcXVhbHMoIlRZUEVDT05UIikpIGNvbmRpdGlvbiA9ICIgV0hFUkUgQ09OVENPPSIgKyB2 YWxldXJFbnRldGVDb250cmF0ICsiIEFORCBDT05TVEE8PidDJyI7DQoJaWYgKGNsZUVudGV0ZUNv bnRyYXQuZXF1YWxzKCJUSUVSUyIpKSBjb25kaXRpb24gPSAiIFdIRVJFIENPTlRJRT0iICsgdmFs ZXVyRW50ZXRlQ29udHJhdCArIiBBTkQgQ09OU1RBPD4nQyciOw0KCWlmIChjbGVFbnRldGVDb250 cmF0LmVxdWFscygiUFJPRFVJVCIpKSBjb25kaXRpb24gPSAiIFdIRVJFIENPTlBSTz0iICsgdmFs ZXVyRW50ZXRlQ29udHJhdCArIiBBTkQgQ09OU1RBPD4nQyciOw0KCWlmIChjbGVFbnRldGVDb250 cmF0LmVxdWFscygiREFURSIpKSBjb25kaXRpb24gPSAiIFdIRVJFIENPTkRBVD0nIiArIHZhbGV1 ckVudGV0ZUNvbnRyYXQgKyAiJyIrIiBBTkQgQ09OU1RBPD4nQyciOw0KfQ0KJT4NCg0KPCVAcGFn ZSBpbXBvcnQ9ImphdmEudXRpbC4qIiU+DQo8JUBwYWdlIGltcG9ydD0iamF2YS5sYW5nLioiJT4N CjwlQHBhZ2UgaW1wb3J0PSJsZWN1cmV1ci4qIiU+DQo8JUBwYWdlIGltcG9ydD0ib3V0aWxzLioi JT4NCg0KPCUgLy8gQ0hBUkdFTUVOVCAlPg0KPCUNCiAgIHNlc3Npb24ucmVtb3ZlQXR0cmlidXRl KCJGSUVDT05KVjFTIik7DQogICBWZWN0b3IgRklFQ09OSlYxUyA9IChWZWN0b3Ipc2Vzc2lvbi5n ZXRBdHRyaWJ1dGUoIkZJRUNPTkpWMVMiKTsNCiAgIGlmIChGSUVDT05KVjFTPT1udWxsKSB7DQoJ QmVhblNlbGVjdCByZXN1bHRhdCA9IG5ldyBCZWFuU2VsZWN0KCJGSUVDT05KVjEiLCBjb25kaXRp b24gKyAiIE9SREVSIEJZIENPTk5VTSIpOw0KCUZJRUNPTkpWMVMgPSByZXN1bHRhdC5nZXRUYWJs ZSgpOw0KCXNlc3Npb24uc2V0QXR0cmlidXRlKCJGSUVDT05KVjFTIixGSUVDT05KVjFTKTsNCgly ZXN1bHRhdCA9IG51bGw7DQogICB9DQogICBCZWFuRklFQ09OSlYxIEZJRUNPTkpWMSA9IG5ldyBC ZWFuRklFQ09OSlYxKCk7DQogICBFbnVtZXJhdGlvbiBlID0gRklFQ09OSlYxUy5lbGVtZW50cygp Ow0KJT4NCjwlIC8vIEJvdWNsZSBkZSByZW1wbGlzc2FnZSAlPg0KPCUgIFZlY3RvciB2ZWN0ID0g bnVsbDsNCiU+DQoNCjxTQ1JJUFQgTEFOR1VBR0U9ImphdmFTY3JpcHQiPg0KZnVuY3Rpb24gZGVt bygpew0KICAJYm9keXdhaXQuc3R5bGUuY3Vyc29yID0gIndhaXQiOw0KICAJZG9jdW1lbnQuY2Fs Zm9ybS5iVmguZGlzYWJsZWQ9dHJ1ZTsNCiAgCWRvY3VtZW50LmNhbGZvcm0uYlZiLmRpc2FibGVk PXRydWU7DQoJZG9jdW1lbnQuc3R5bGVTaGVldHNbImJpZG9uIl0uYWRkUnVsZSgiLmNhY2hlckJv dXRvbjEiLCAiZGlzcGxheTogbm9uZSIpOw0KCWRvY3VtZW50LnN0eWxlU2hlZXRzWyJiaWRvbiJd LmFkZFJ1bGUoIi5jYWNoZXJCb3V0b24yIiwgImRpc3BsYXk6IGxpc3QtaXRlbSIpOw0KfQ0KDQpm dW5jdGlvbiB0b2RvQWN0MShBY3Rpb25WYWx1ZTEsIE51bWVyb0NvbnRyYXQpew0KCSBkb2N1bWVu dC5jYWxmb3JtLnJlY2hUeXBlLnZhbHVlPSI8JT10b2RvJT4iOw0KCSBkb2N1bWVudC5jYWxmb3Jt LnJlY2hDbGUudmFsdWU9IjwlPWNsZUVudGV0ZUNvbnRyYXQlPiI7DQoJIGRvY3VtZW50LmNhbGZv cm0ucmVjaFZhbGV1ci52YWx1ZT0iPCU9dmFsZXVyRW50ZXRlQ29udHJhdCU+IjsNCgkgZG9jdW1l bnQuY2FsZm9ybS50YXJnZXQ9Il90b3AiOw0KCSBkb2N1bWVudC5jYWxmb3JtLmFjdGlvbj0iPCU9 Y2hlbWluJT4iOw0KCSBkb2N1bWVudC5jYWxmb3JtLnRvZG8udmFsdWU9QWN0aW9uVmFsdWUxOw0K CSBkb2N1bWVudC5jYWxmb3JtLmNsZUVudGV0ZUNvbnRyYXQudmFsdWU9TnVtZXJvQ29udHJhdDsN CgkgZG9jdW1lbnQuY2FsZm9ybS5zdWJtaXQoKTsNCn0NCg0KZnVuY3Rpb24gdG9kb0FjdDMoQWN0 aW9uVmFsdWUzLEFjdGlvblZhbHVlNCkgew0KIGRvY3VtZW50LmNhbGZvcm0udGFyZ2V0PSJfdG9w IjsNCiBkb2N1bWVudC5jYWxmb3JtLmFjdGlvbj0iPCU9Y2hlbWluMSU+IjsNCiBkb2N1bWVudC5j YWxmb3JtLnJlY2hUeXBlLnZhbHVlPSI8JT10b2RvJT4iOw0KIGRvY3VtZW50LmNhbGZvcm0ucmVj aENsZS52YWx1ZT0iPCU9Y2xlRW50ZXRlQ29udHJhdCU+IjsNCiBkb2N1bWVudC5jYWxmb3JtLnJl Y2hWYWxldXIudmFsdWU9IjwlPXZhbGV1ckVudGV0ZUNvbnRyYXQlPiI7IA0KIGRvY3VtZW50LmNh bGZvcm0udG9kby52YWx1ZT1BY3Rpb25WYWx1ZTM7DQogZG9jdW1lbnQuY2FsZm9ybS5tb2RlLnZh bHVlPUFjdGlvblZhbHVlNDsNCiBkb2N1bWVudC5jYWxmb3JtLmNsZUVudGV0ZUNvbnRyYXQudmFs dWU9JzwlPWNsZUVudGV0ZUNvbnRyYXQlPic7DQogZG9jdW1lbnQuY2FsZm9ybS52YWxldXJFbnRl dGVDb250cmF0LnZhbHVlPSc8JT12YWxldXJFbnRldGVDb250cmF0JT4nOw0KIGRvY3VtZW50LmNh bGZvcm0uc3VibWl0KCk7DQp9DQoNCmZ1bmN0aW9uIGlzTWVzc2FnZVNlbGVjdGVkKCkNCnsNCiAg dmFyIGUgPSBkb2N1bWVudC5jYWxmb3JtLmVsZW1lbnRzOw0KICB2YXIgZiA9IGRvY3VtZW50LmNh bGZvcm0uZWxlbWVudHM7DQogIHZhciBnID0gZG9jdW1lbnQuY2FsZm9ybS5lbGVtZW50czsNCiAg dmFyIGJOb25lID0gdHJ1ZTsNCiAgdmFyIGJGb3VuZE9uZSA9IGZhbHNlOw0KICB6ID0gIiI7DQog IHZhciB0ZXN0c3VwPTA7DQogIHZhciB0ZXN0cGc9MDsNCiAgdmFyIHRlc3RjdHI9MDsNCiAgICAN CiAgej0iIjsNCiAgZm9yICh2YXIgaT0wOyBpIDwgZi5sZW5ndGg7IGkrKykgew0KICAgIGlmIChm W2ldLm5hbWUgPT0gIm1zZ2lkW11QRyIpIHsNCiAgICAgIGJOb25lID0gZmFsc2U7DQogICAgICBp ZiAoZltpXS5jaGVja2VkID09IHRydWUpew0KCXogPSB6KyIsIitmW2ldLnZhbHVlOw0KLy8JYWxl cnQoJ1BhZ2UgZGUgZ2FyZGUnK3opOw0KCWRvY3VtZW50LmNhbGZvcm0ucGdab25lcy52YWx1ZT16 KyIsKiI7DQogICAgICAgIGJGb3VuZE9uZSA9IHRydWU7DQogICAgICAgIHRlc3RwZz0xOyAgICAg ICAgICAgDQogICAgICB9DQogICAgfQ0KICB9DQogIGlmIChiTm9uZSkgew0KICAgIGFsZXJ0KCJU aGVyZSBhcmUgbm8gbWVzc2FnZXMuIik7DQoJYm9keXdhaXQuc3R5bGUuY3Vyc29yID0gImRlZmF1 bHQiOw0KIAlkb2N1bWVudC5jYWxmb3JtLmJWaC5kaXNhYmxlZD1mYWxzZTsNCiAJZG9jdW1lbnQu Y2FsZm9ybS5iVmIuZGlzYWJsZWQ9ZmFsc2U7DQoJZG9jdW1lbnQuc3R5bGVTaGVldHNbImJpZG9u Il0uYWRkUnVsZSgiLmNhY2hlckJvdXRvbjEiLCAiZGlzcGxheTogbGlzdC1pdGVtIik7DQoJZG9j dW1lbnQuc3R5bGVTaGVldHNbImJpZG9uIl0uYWRkUnVsZSgiLmNhY2hlckJvdXRvbjIiLCAiZGlz cGxheTogbm9uZSIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICAgaWYgKGJGb3VuZE9uZSl7 DQoJLy9hbGVydCgiRWRpdGlvbiBkZXMgcGFnZXMgZGUgZ2FyZGUgc+lsZWN0aW9ubullcyBlbiBj b3Vycy4uLiIpOwkNCiAgIH0NCgkNCiAgPCEtLXJldHVybiB0cnVlOy0tPg0KICB6PSIiOw0KICBm b3IgKHZhciBpPTA7IGkgPCBnLmxlbmd0aDsgaSsrKSB7DQogICAgaWYgKGdbaV0ubmFtZSA9PSAi bXNnaWRbXUN0ciIpIHsNCiAgICAgIGJOb25lID0gZmFsc2U7DQogICAgICBpZiAoZ1tpXS5jaGVj a2VkID09IHRydWUpew0KICAgIA0KCXogPSB6KyIsIitnW2ldLnZhbHVlOw0KLy8JYWxlcnQoJ2Nv bnRyYXQnK3opOw0KCWRvY3VtZW50LmNhbGZvcm0uY3RyWm9uZXMudmFsdWU9eisiLCoiOw0KICAg ICAgICBiRm91bmRPbmUgPSB0cnVlOw0KICAgICAgICB0ZXN0Y3RyPTE7ICAgDQogICAgICB9DQog ICAgfQ0KICAgICAgICANCiAgfQ0KICBpZiAoYk5vbmUpIHsNCiAgICBhbGVydCgiVGhlcmUgYXJl IG5vIG1lc3NhZ2VzLiIpOw0KCWJvZHl3YWl0LnN0eWxlLmN1cnNvciA9ICJkZWZhdWx0IjsNCiAg CWRvY3VtZW50LmNhbGZvcm0uYlZoLmRpc2FibGVkPWZhbHNlOw0KICAJZG9jdW1lbnQuY2FsZm9y bS5iVmIuZGlzYWJsZWQ9ZmFsc2U7DQoJZG9jdW1lbnQuc3R5bGVTaGVldHNbImJpZG9uIl0uYWRk UnVsZSgiLmNhY2hlckJvdXRvbjEiLCAiZGlzcGxheTogbGlzdC1pdGVtIik7DQoJZG9jdW1lbnQu c3R5bGVTaGVldHNbImJpZG9uIl0uYWRkUnVsZSgiLmNhY2hlckJvdXRvbjIiLCAiZGlzcGxheTog bm9uZSIpOw0KIAkNCiAgICByZXR1cm4gZmFsc2U7DQogIH1lbHNlewkNCiAgIGlmIChiRm91bmRP bmUpew0KCS8vYWxlcnQoIkVkaXRpb24gZGVzIHBhZ2VzIGRlIGdhcmRlIHPpbGVjdGlvbm7pZXMg ZW4gY291cnMuLi4iKTsJDQogICAgfQ0KfQ0KDQogIHo9IiI7DQogIGZvciAodmFyIGk9MDsgaSA8 IGUubGVuZ3RoOyBpKyspIHsNCiAgICBpZiAoZVtpXS5uYW1lID09ICJtc2dpZFtdU3VwcCIpIHsN CiAgICAgIGJOb25lID0gZmFsc2U7DQogICAgICBpZiAoZVtpXS5jaGVja2VkID09IHRydWUpew0K CXogPSB6KyIsIitlW2ldLnZhbHVlOw0KCS8vYWxlcnQoJ3N1cHByZXNzaW9uJyt6KTsNCglkb2N1 bWVudC5jYWxmb3JtLnN1cHBab25lcy52YWx1ZT16KyIsKiI7DQogICAgICAgIGJGb3VuZE9uZSA9 IHRydWU7DQogICAgICAgIHRlc3RzdXA9MTsgICAgIA0KICAgICAgfQ0KICAgIH0NCiAgfQ0KICBp ZiAoYk5vbmUpIHsNCiAgICBhbGVydCgiVGhlcmUgYXJlIG5vIG1lc3NhZ2VzLiIpOw0KICAgCWJv ZHl3YWl0LnN0eWxlLmN1cnNvciA9ICJkZWZhdWx0IjsNCiAgCWRvY3VtZW50LmNhbGZvcm0uYlZo LmRpc2FibGVkPWZhbHNlOw0KICAJZG9jdW1lbnQuY2FsZm9ybS5iVmIuZGlzYWJsZWQ9ZmFsc2U7 DQoJZG9jdW1lbnQuc3R5bGVTaGVldHNbImJpZG9uIl0uYWRkUnVsZSgiLmNhY2hlckJvdXRvbjEi LCAiZGlzcGxheTogbGlzdC1pdGVtIik7DQoJZG9jdW1lbnQuc3R5bGVTaGVldHNbImJpZG9uIl0u YWRkUnVsZSgiLmNhY2hlckJvdXRvbjIiLCAiZGlzcGxheTogbm9uZSIpOw0KIAkNCiAgICByZXR1 cm4gZmFsc2U7DQogIH0NCiAgIGlmICghYkZvdW5kT25lKXsNCiAgICBhbGVydCgiVmV1aWxsZXog Y29jaGVyIHVuZSBvdSBwbHVzaWV1cnMgY2FzZXMgIS4iKTsNCiAgIAlib2R5d2FpdC5zdHlsZS5j dXJzb3IgPSAiZGVmYXVsdCI7DQogIAlkb2N1bWVudC5jYWxmb3JtLmJWaC5kaXNhYmxlZD1mYWxz ZTsNCiAgCWRvY3VtZW50LmNhbGZvcm0uYlZiLmRpc2FibGVkPWZhbHNlOw0KCWRvY3VtZW50LnN0 eWxlU2hlZXRzWyJiaWRvbiJdLmFkZFJ1bGUoIi5jYWNoZXJCb3V0b24xIiwgImRpc3BsYXk6IGxp c3QtaXRlbSIpOw0KCWRvY3VtZW50LnN0eWxlU2hlZXRzWyJiaWRvbiJdLmFkZFJ1bGUoIi5jYWNo ZXJCb3V0b24yIiwgImRpc3BsYXk6IG5vbmUiKTsNCiAJDQogICAgcmV0dXJuIGZhbHNlOw0KICAg fQ0KICAgICBpZih0ZXN0c3VwPT0xIHx8IHRlc3RwZz09MSB8fCB0ZXN0Y3RyPT0xKXtyZXR1cm4g dHJ1ZTt9DQp9DQoNCmZ1bmN0aW9uIGRvVmFsaWRhdGlvbigpew0KICBpZiAoaXNNZXNzYWdlU2Vs ZWN0ZWQoKSkgew0KICB2YXIgZSA9IGRvY3VtZW50LmNhbGZvcm0uZWxlbWVudHM7DQogIHZhciBm ID0gZG9jdW1lbnQuY2FsZm9ybS5lbGVtZW50czsNCiAgdmFyIGcgPSBkb2N1bWVudC5jYWxmb3Jt LmVsZW1lbnRzOw0KCXJlc3VsdGF0ID0gY29uZmlybSgnQ29uZmlybWV6ID8nKTsNCglpZihyZXN1 bHRhdD09IjEiKXsNCgkJLy9hbGVydCgnZG9jdW1lbnQuY2FsZm9ybS5zdXBwWm9uZXMudmFsdWU9 ICcrZG9jdW1lbnQuY2FsZm9ybS5zdXBwWm9uZXMudmFsdWUpOw0KCQl0b2RvQWN0MygndmFsaWRl cicsJ3ZhbGlkYXRpb24nKTsNCgl9DQogIH0NCn0NCg0KZnVuY3Rpb24gY2xlYXJBbGwoVHlwZUNh c2UpDQp7DQogIHZhciBlID0gZG9jdW1lbnQuY2FsZm9ybS5lbGVtZW50czsNCiAgZm9yICh2YXIg aT0wOyBpIDwgZS5sZW5ndGg7IGkrKykgDQogICAgaWYgKGVbaV0ubmFtZSA9PSBUeXBlQ2FzZSkN CiAgICAgIGVbaV0uY2hlY2tlZCA9IGZhbHNlOw0KfQ0KDQpmdW5jdGlvbiBjaGVja0FsbChUeXBl Q2FzZSkNCnsNCiAgdmFyIGUgPSBkb2N1bWVudC5jYWxmb3JtLmVsZW1lbnRzOw0KICBmb3IgKHZh ciBpPTA7IGkgPCBlLmxlbmd0aDsgaSsrKQ0KICAgIGlmIChlW2ldLm5hbWUgPT0gVHlwZUNhc2Up DQogICAgICBlW2ldLmNoZWNrZWQgPSB0cnVlOw0KICAgICANCn0NCg0KDQoNCjwvU0NSSVBUPg0K DQo8Ym9keSAgY2xhc3M9ImJvZHkiIGlkPSJib2R5d2FpdCIgbGluaz0iIzAwMDAzMyIgYWxpbms9 IiM5OTk5ZmYiIHZsaW5rPSIjMDAwMDMzIiBsZWZ0bWFyZ2luPTAgbWFyZ2lud2lkdGg9MCB0b3Bt YXJnaW49MTAgbWFyZ2luaGVpZ2h0PTEwPg0KDQo8ZGl2IElEPSJ3YWl0RGl2IiBzdHlsZT0icG9z aXRpb246YWJzb2x1dGU7bGVmdDo1MDt0b3A6NTA7dmlzaWJpbGl0eTpoaWRkZW4iPg0KCTxjZW50 ZXI+DQoJPHA+PGZvbnQgY29sb3I9IiMwMDAwMDAiIGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNh bnMtc2VyaWYiIHNpemU9IjMiPjxiPkZpY2hpZXJzIGVuIGNvdXJzIGRlIGNoYXJnZW1lbnQuLi48 L2I+PC9wPg0KCTxwPjxmb250IHNpemU9IjIiPk1lcmNpIGRlIHBhdGllbnRlcjwvZm9udD48L3A+ DQoJPGltZyBzcmM9Ii4uL0ltYWdlcy9zYWJsaWVyLmdpZiI+DQoJPC9jZW50ZXI+DQo8L2Rpdj4N CjxzY3JpcHQ+DQogPCEtLSANCnZhciBESFRNTCA9IChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCB8 fCBkb2N1bWVudC5hbGwgfHwgZG9jdW1lbnQubGF5ZXJzKTsNCmZ1bmN0aW9uIGFwX2dldE9iaihu YW1lKSB7IGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCkgeyByZXR1cm4gZG9jdW1lbnQuZ2V0 RWxlbWVudEJ5SWQobmFtZSkuc3R5bGU7IH0gZWxzZSBpZiAoZG9jdW1lbnQuYWxsKSB7IHJldHVy biBkb2N1bWVudC5hbGxbbmFtZV0uc3R5bGU7DQp9IGVsc2UgaWYgKGRvY3VtZW50LmxheWVycykg eyByZXR1cm4gZG9jdW1lbnQubGF5ZXJzW25hbWVdOyB9IH0gZnVuY3Rpb24gYXBfc2hvd1dhaXRN ZXNzYWdlKGRpdixmbGFnKSAgeyBpZiAoIURIVE1MKSByZXR1cm47IHZhciB4ID0gYXBfZ2V0T2Jq KGRpdik7IHgudmlzaWJpbGl0eSA9IChmbGFnKSA/ICd2aXNpYmxlJzonaGlkZGVuJw0KaWYoISBk b2N1bWVudC5nZXRFbGVtZW50QnlJZCkgaWYoZG9jdW1lbnQubGF5ZXJzKSB4LmxlZnQ9MjgwLzI7 IHJldHVybiB0cnVlOyB9IGFwX3Nob3dXYWl0TWVzc2FnZSgnd2FpdERpdicsIDEpOyANCiAvLy0t Pg0KPC9zY3JpcHQ+DQoNCjxGT1JNIE5BTUU9ImNhbGZvcm0iIEFDVElPTj0iIiBNRVRIT0Q9UE9T VD4NCiAgPElOUFVUIFRZUEU9SElEREVOIE5BTUU9InRvZG8iIFZBTFVFPSIiPg0KICA8SU5QVVQg VFlQRT1ISURERU4gTkFNRT0ibW9kZSIgVkFMVUU9IiI+DQogIDxJTlBVVCBUWVBFPUhJRERFTiBO QU1FPSJjbGVFbnRldGVDb250cmF0IiBWQUxVRT0iIj4NCiAgPElOUFVUIFRZUEU9SElEREVOIE5B TUU9InZhbGV1ckVudGV0ZUNvbnRyYXQiIFZBTFVFPSIiPg0KICA8SU5QVVQgVFlQRT1ISURERU4g TkFNRT0icmVjaFR5cGUiIFZBTFVFPSIiPg0KICA8SU5QVVQgVFlQRT1ISURERU4gTkFNRT0icmVj aENsZSIgVkFMVUU9IiI+DQogIDxJTlBVVCBUWVBFPUhJRERFTiBOQU1FPSJyZWNoVmFsZXVyIiBW QUxVRT0iIj4NCiAgPElOUFVUIFRZUEU9SElEREVOIE5BTUU9InN1cHBab25lcyIgVkFMVUU9IiI+ ICAgIA0KICA8SU5QVVQgVFlQRT1ISURERU4gTkFNRT0icGdab25lcyIgVkFMVUU9IiI+ICAgICAN CiAgPElOUFVUIFRZUEU9SElEREVOIE5BTUU9ImN0clpvbmVzIiBWQUxVRT0iIj4gICAgIA0KICAN CjxkaXYgYWxpZ249ImNlbnRlciI+DQogICAgICAgIDx0YWJsZSB3aWR0aD0iOTglIiBib3JkZXI9 MCBjZWxscGFkZGluZz0xIGNlbGxzcGFjaW5nPTE+DQogICAgICAgIDx0cj4NCgkJPHRkIGFsaWdu PSJjZW50ZXIiPg0KCQkJPGZvbnQgZmFjZT0idmVyZGFuYSx0YWhvbWEsaGVsdmV0aWNhIiBjb2xv cj0iIzAwMDAwMCIgc2l6ZT0xPg0KCQkJPGEgaHJlZj1qYXZhc2NyaXB0OmNvbnRyb2xlQ2hlY2tQ RygpOz48Zm9udCBjb2xvcj0iIzAwMDAwMCI+VG91dDwvZm9udD48L2E+IC8gPGEgaHJlZj1qYXZh c2NyaXB0OmNvbnRyb2xlQ2hlY2tDdHIoKTs+PGZvbnQgY29sb3I9IiMwMDAwMDAiPlRvdXQ8L2Zv bnQ+PC9hPjxicj4gDQoJCQk8L2ZvbnQ+DQoJCTwvdGQ+DQogICAgICAgIAk8dGQgY29sc3Bhbj0z IGFsaWduPSJsZWZ0Pg0KCQkJPGZvbnQgZmFjZT0idmVyZGFuYSx0YWhvbWEsaGVsdmV0aWNhIiBj b2xvcj0iIzAwMDAwMCIgc2l6ZT0zPg0KCQkJCTx0YWJsZSBib3JkZXI9IjAiPg0KCQkJCSAgICA8 dHI+DQoJCQkJICAgICAgPHRkIGJnY29sb3I9IiNGRkZGRkYiPjxmb250IGZhY2U9InZlcmRhbmEs dGFob21hLGhlbHZldGljYSIgY29sb3I9IiMwMDAwMDAiIHNpemU9MT4mbmJzcDsmbmJzcDs8L3Rk Pg0KCQkJCSAgICAgIDx0ZD48Zm9udCBmYWNlPSJ2ZXJkYW5hLHRhaG9tYSxoZWx2ZXRpY2EiIGNv bG9yPSIjMDAwMDAwIiBzaXplPTE+IENvbnRyYXQgQWN0aWYmbmJzcDsmbmJzcDs8L3RkPg0KCQkJ CSAgICAgIDx0ZCBiZ2NvbG9yPSIjQ0NDQ0ZGIj48Zm9udCBmYWNlPSJ2ZXJkYW5hLHRhaG9tYSxo ZWx2ZXRpY2EiIGNvbG9yPSIjMDAwMDAwIiBzaXplPTE+Jm5ic3A7Jm5ic3A7PC90ZD4NCgkJCQkg ICAgICA8dGQ+PGZvbnQgZmFjZT0idmVyZGFuYSx0YWhvbWEsaGVsdmV0aWNhIiBjb2xvcj0iIzAw MDAwMCIgc2l6ZT0xPiBDb250cmF0IFZhbGlk6TwvdGQ+DQoJCQkJICAgIDwvdHI+DQoJCQkJPC90 YWJsZT4NCgkJCTwvZm9udD4gICAgICAgIAkNCiAgICAgICAgCTwvdGQ+CQkNCiAgICAgICAgCTx0 ZCBjb2xzcGFuPTQgYWxpZ249ImxlZnQiPiAmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7ICZuYnNw OyZuYnNwOyAmbmJzcDsmbmJzcDsNCgkJCQk8aW5wdXQgY2xhc3M9ImJ1dHRvbiIgdHlwZT0iYnV0 dG9uIiBuYW1lPSJiVmgiIHZhbHVlPSIgICBWYWxpZGVyICAgIiBvbmNsaWNrPSJkZW1vKCk7IGRv VmFsaWRhdGlvbigpIj4NCiAgICAgICAgCTwvdGQ+DQoJCTx0ZCBhbGlnbj0iY2VudGVyIj4NCgkJ CTxmb250IGZhY2U9InZlcmRhbmEsdGFob21hLGhlbHZldGljYSIgY29sb3I9IiMwMDAwMDAiIHNp emU9MT4NCgkJCQk8YSBocmVmPWphdmFzY3JpcHQ6Y29udHJvbGVDaGVja1N1cHAoKTs+PGZvbnQg Y29sb3I9IiMwMDAwMDAiPlRvdXQ8L2ZvbnQ+PC9hPg0KCQkJPC9mb250Pg0KCQk8L3RkPg0KICAg ICAgICA8L3RyPgkJDQoJICAgIDx0cj48dGQgY29sc3Bhbj04PjwvdGQ+PC90cj4JICANCiAgICAg ICAgPFRSPg0KCQkJPHRkIGNsYXNzPSJ0YWJsZTEiIHZhbGlnbj0iYm90dG9tIj48Zm9udCBjbGFz cz0iZm9udGIiIGNvbG9yPSIjRkZGRkZGIiA+PGI+RWRpdGlvbjxicj5QLkcuL0N0ci48L3RkPg0K ICAgICAgICAJPHRkIGNsYXNzPSJ0YWJsZTEiIHZhbGlnbj0iYm90dG9tIj48Zm9udCBjbGFzcz0i Zm9udGIiIGNvbG9yPSIjRkZGRkZGIiA+PGI+TrA8YnI+Q3RyLjwvZm9udD48L3RkPg0KICAgICAg ICAJPHRkIGNsYXNzPSJ0YWJsZTEiIHZhbGlnbj0iYm90dG9tIj48Zm9udCBjbGFzcz0iZm9udGIi IGNvbG9yPSIjRkZGRkZGIiA+PGI+VHlwZTwvdGQ+DQogICAgICAgIAk8dGQgY2xhc3M9InRhYmxl MSIgdmFsaWduPSJib3R0b20iPjxmb250IGNsYXNzPSJmb250YiIgY29sb3I9IiNGRkZGRkYiID48 Yj5EYXRlPC90ZD4NCiAgICAgICAgICAgCTx0ZCBjbGFzcz0idGFibGUxIiB2YWxpZ249ImJvdHRv bSI+PGZvbnQgY2xhc3M9ImZvbnRiIiBjb2xvcj0iI0ZGRkZGRiIgPjxiPlRpZXJzPC90ZD4NCgkJ CTx0ZCBjbGFzcz0idGFibGUxIiB2YWxpZ249ImJvdHRvbSI+PGZvbnQgY2xhc3M9ImZvbnRiIiBj b2xvcj0iI0ZGRkZGRiIgPjxiPlF0ZSAodG0pPC90ZD4NCgkJCTx0ZCBjbGFzcz0idGFibGUxIiB2 YWxpZ249ImJvdHRvbSI+PGZvbnQgY2xhc3M9ImZvbnRiIiBjb2xvcj0iI0ZGRkZGRiIgPjxiPlJl Y29sdGU8L3RkPg0KCQkJPHRkIGNsYXNzPSJ0YWJsZTEiIHZhbGlnbj0iYm90dG9tIj48Zm9udCBj bGFzcz0iZm9udGIiIGNvbG9yPSIjRkZGRkZGIiA+PGI+UHJvZHVpdDwvdGQ+DQoJCQk8dGQgY2xh c3M9InRhYmxlMSIgdmFsaWduPSJib3R0b20iPjx0YWJsZSB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIx MDAlIj48dHI+PHRkIHdpZHRoPSIxMDAlIj48Zm9udCBjbGFzcz0iZm9udGIiIGNvbG9yPSIjRkZG RkZGIiA+PGI+T3B0aW9uczwvdGQ+PC90cj4NCgkJCTx0cj48dGQgYWxpZ249ImNlbnRlciIgd2lk dGg9IjEwMCUiPjxmb250IGNsYXNzPSJmb250YiIgY29sb3I9IiNGRkZGRkYiPjxiPlZpc3UuL1N1 cHAuPC90ZD48L3RyPjwvdGFibGU+PC90ZD4NCgkJPC9UUj4NCjwlDQogICAgaW50IENvbXB0ZXVy ID0gMDsNCnRyeSB7DQogICAgU3RyaW5nIENvbG9yVGFibGU9IiI7DQoJd2hpbGUoZS5oYXNNb3Jl RWxlbWVudHMoKSkgew0KCQl2ZWN0ID0gKFZlY3RvcillLm5leHRFbGVtZW50KCk7IA0KCQkNCgkJ aWYgKEZJRUNPTkpWMS5nZXRDT05TVEEodmVjdCkuZXF1YWxzKCJWIikpew0KCQkJQ29sb3JUYWJs ZT0iI0NDQ0NGRiI7DQoJCX1lbHNlew0KCQkJQ29sb3JUYWJsZT0iI0ZGRkZGRiI7DQoJCX0NCgkJ Q29tcHRldXIgPSAxOw0KCQklPg0KICAgICAgIAkgICAgIDxUUiBBTElHTj1DRU5URVIgVkFMSUdO PU1JRERMRT4NCiAgICAgICAgICAgICAgICAgICAgPFREIEJHQ09MT1I9IjwlPUNvbG9yVGFibGUl PiIgQUxJR049Q0VOVEVSPjxmb250IGNsYXNzPSJmb250ZCIgY29sb3I9IzAwMDA2Nj48aW5wdXQg dHlwZT0iY2hlY2tib3giIG5hbWU9Im1zZ2lkW11QRyIgdmFsdWU9IjwlPUZJRUNPTkpWMS5nZXRD T05OVU0odmVjdCklPiIgc3R5bGU9ImZvbnQ6IHh4LXNtYWxsIj4mbmJzcDsmbmJzcDs8aW5wdXQg dHlwZT0iY2hlY2tib3giIG5hbWU9Im1zZ2lkW11DdHIiIHZhbHVlPSI8JT1GSUVDT05KVjEuZ2V0 Q09OTlVNKHZlY3QpJT4iIHN0eWxlPSJmb250OiB4eC1zbWFsbCI+PC9URD4gICAgICAgICAgICAg ICAgICAgIA0KICAgICAgICAgICAgICAgICAgICA8VEQgQkdDT0xPUj0iPCU9Q29sb3JUYWJsZSU+ IiBBTElHTj1DRU5URVI+DQoJCQkJCTx0YWJsZSBXSURUSD0iMTAwJSI+PHRyPg0KCQkJCQk8dGQg Y2xhc3M9ImNhY2hlckJvdXRvbjEiPjxhIGNsYXNzPSJsaWVuQSIgb25jbGljaz0iZGVtbygpOyIg aHJlZj0iamF2YXNjcmlwdDp0b2RvQWN0MSgnbW9kaWZpY2F0aW9ucycsIDwlPUZJRUNPTkpWMS5n ZXRDT05OVU0odmVjdCklPikiPjxiPjwlPUZJRUNPTkpWMS5nZXRDT05OVU0odmVjdCklPjwvYj48 L0E+PC90ZD4NCgkJCQkJPHRkIGNsYXNzPSJjYWNoZXJCb3V0b24yIj48Zm9udCBjbGFzcz0iZm9u dGQiIGNvbG9yPSMwMDAwNjY+PGI+PCU9RklFQ09OSlYxLmdldENPTk5VTSh2ZWN0KSU+PC9iPjwv dGQ+DQoJCQkJCTwvdHI+PC90YWJsZT4NCiAgICAgICAgICAgICAgICAgICAgPC9URD4NCiAgICAg ICAgICAgICAgICAgICAgPFREIEJHQ09MT1I9IjwlPUNvbG9yVGFibGUlPiIgQUxJR049TEVGVD48 Zm9udCBjbGFzcz0iZm9udGQiIGNvbG9yPSMwMDAwNjY+DQoNCgkJCTxqc3A6aW5jbHVkZSBwYWdl PSIuLi9MaXN0ZURlcm91bGFudGUvTGlzdGVEZXJvdWxhbnRlX1BUWVBFQ09OVC5qc3AiIGZsdXNo PSJ0cnVlIj4NCgkJCQk8anNwOnBhcmFtIG5hbWU9ImFmZmljaGFnZSIgdmFsdWU9IjIiIC8+DQoJ CQkJPGpzcDpwYXJhbSBuYW1lPSJ2YWxldXIiIHZhbHVlPSI8JT1GSUVDT05KVjEuZ2V0Q09OVENP KHZlY3QpJT4iIC8+DQoJCQkJPGpzcDpwYXJhbSBuYW1lPSJ6b25lUmV0b3VyIiB2YWx1ZT0iUFRZ UEVDT05UIiAvPg0KCQkJCTxqc3A6cGFyYW0gbmFtZT0iZm9ybXVsYWlyZSIgdmFsdWU9ImNhbGZv cm0iIC8+DQoJCQkJPGpzcDpwYXJhbSBuYW1lPSJwb3NpdGlvbiIgdmFsdWU9InRleHQiIC8+CQ0K CQkJCTxqc3A6cGFyYW0gbmFtZT0ic2NyaXB0IiB2YWx1ZT0iICIgLz4NCgkJCQk8anNwOnBhcmFt IG5hbWU9InN0eWxlQ2xhc3MiIHZhbHVlPSJzZWxlY3QiIC8+DQoJCQk8L2pzcDppbmNsdWRlPgkJ CQ0KCQkJDQogICAgICAgICAgICAgICAgICAgIDwvRk9OVD48L1REPg0KICAgICAgICAgICAgICAg ICAgICA8VEQgQkdDT0xPUj0iPCU9Q29sb3JUYWJsZSU+Ij48Zm9udCBjbGFzcz0iZm9udGQiIGNv bG9yPSMwMDAwNjY+PCU9RklFQ09OSlYxLmdldENPTkRBVCh2ZWN0KS5zdWJzdHJpbmcoNiw4KSU+ LzwlPUZJRUNPTkpWMS5nZXRDT05EQVQodmVjdCkuc3Vic3RyaW5nKDQsNiklPi88JT1GSUVDT05K VjEuZ2V0Q09OREFUKHZlY3QpLnN1YnN0cmluZygwLDQpJT48L0ZPTlQ+PC9URD4NCiAgICAgICAg ICAgICAgICAgICAgPFREIEJHQ09MT1I9IjwlPUNvbG9yVGFibGUlPiIgQUxJR049TEVGVD48Zm9u dCBjbGFzcz0iZm9udGQiIGNvbG9yPSMwMDAwNjY+DQoNCgkJCTxqc3A6aW5jbHVkZSBwYWdlPSIu Li9MaXN0ZURlcm91bGFudGUvTGlzdGVEZXJvdWxhbnRlX1RJRVJTLmpzcCIgZmx1c2g9InRydWUi Pg0KCQkJCTxqc3A6cGFyYW0gbmFtZT0iYWZmaWNoYWdlIiB2YWx1ZT0iMiIgLz4NCgkJCQk8anNw OnBhcmFtIG5hbWU9InZhbGV1ciIgdmFsdWU9IjwlPUZJRUNPTkpWMS5nZXRDT05USUUodmVjdCkl PiIgLz4NCgkJCQk8anNwOnBhcmFtIG5hbWU9InpvbmVSZXRvdXIiIHZhbHVlPSJUSUVSUyIgLz4N CgkJCQk8anNwOnBhcmFtIG5hbWU9ImZvcm11bGFpcmUiIHZhbHVlPSJjYWxmb3JtIiAvPg0KCQkJ CTxqc3A6cGFyYW0gbmFtZT0icG9zaXRpb24iIHZhbHVlPSJ0ZXh0IiAvPgkNCgkJCQk8anNwOnBh cmFtIG5hbWU9InNjcmlwdCIgdmFsdWU9IiAiIC8+DQoJCQkJPGpzcDpwYXJhbSBuYW1lPSJ0eXBl VGllcnMiIHZhbHVlPSIgIiAvPg0KCQkJCTxqc3A6cGFyYW0gbmFtZT0ic3R5bGVDbGFzcyIgdmFs dWU9InNlbGVjdCIgLz4NCgkJCTwvanNwOmluY2x1ZGU+DQogICAgICAgICAgICAgICAgICAgIA0K ICAgICAgICAgICAgICAgICAgICA8L0ZPTlQ+PC9URD4NCiAgICAgICAgICAgICAgICAgICAgPFRE IEJHQ09MT1I9IjwlPUNvbG9yVGFibGUlPiIgQUxJR049UklHSFQ+PGZvbnQgY2xhc3M9ImZvbnRk IiBjb2xvcj0jMDAwMDY2PjwlU3RyaW5nIFF0ZTEgPSAiIitGSUVDT05KVjEuZ2V0Q09OUVVDKHZl Y3QpO2ludCBsb25ndWV1ckRlY2ltYWxlID0gUXRlMS5pbmRleE9mKCcuJyk7aWYgKChRdGUxLnN1 YnN0cmluZyhsb25ndWV1ckRlY2ltYWxlLCBRdGUxLmxlbmd0aCgpKSkubGVuZ3RoKCk8MylRdGUx ID0gUXRlMSsiMCI7aWYgKChRdGUxLnN1YnN0cmluZyhsb25ndWV1ckRlY2ltYWxlLCBRdGUxLmxl bmd0aCgpKSkubGVuZ3RoKCk8NClRdGUxID0gUXRlMSsiMCI7JT48JT1RdGUxJT48L0ZPTlQ+PC9U RD4NCiAgICAgICAgICAgICAgICAgICAgPFREIEJHQ09MT1I9IjwlPUNvbG9yVGFibGUlPiIgQUxJ R049Q0VOVEVSPjxmb250IGNsYXNzPSJmb250ZCIgY29sb3I9IzAwMDA2Nj4NCg0KCQkJPGpzcDpp bmNsdWRlIHBhZ2U9Ii4uL0xpc3RlRGVyb3VsYW50ZS9MaXN0ZURlcm91bGFudGVfUFJFQ09MVEVT LmpzcCIgZmx1c2g9InRydWUiPg0KCQkJCTxqc3A6cGFyYW0gbmFtZT0iYWZmaWNoYWdlIiB2YWx1 ZT0iMiIgLz4NCgkJCQk8anNwOnBhcmFtIG5hbWU9InZhbGV1ciIgdmFsdWU9IjwlPUZJRUNPTkpW MS5nZXRDT05DQU0odmVjdCklPiIgLz4NCgkJCQk8anNwOnBhcmFtIG5hbWU9InpvbmVSZXRvdXIi IHZhbHVlPSJQUkVDT0xURVMiIC8+DQoJCQkJPGpzcDpwYXJhbSBuYW1lPSJmb3JtdWxhaXJlIiB2 YWx1ZT0iY2FsZm9ybSIgLz4NCgkJCQk8anNwOnBhcmFtIG5hbWU9InBvc2l0aW9uIiB2YWx1ZT0i dGV4dCIgLz4JDQoJCQkJPGpzcDpwYXJhbSBuYW1lPSJzY3JpcHQiIHZhbHVlPSIgIiAvPg0KCQkJ CTxqc3A6cGFyYW0gbmFtZT0ic3R5bGVDbGFzcyIgdmFsdWU9InNlbGVjdCIgLz4NCgkJCTwvanNw OmluY2x1ZGU+DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICA8L0ZP TlQ+PC9URD4NCiAgICAgICAgICAgICAgICAgICAgPFREIEJHQ09MT1I9IjwlPUNvbG9yVGFibGUl PiIgQUxJR049TEVGVD48Zm9udCBjbGFzcz0iZm9udGQiIGNvbG9yPSMwMDAwNjY+DQoNCgkJCTxq c3A6aW5jbHVkZSBwYWdlPSIuLi9MaXN0ZURlcm91bGFudGUvTGlzdGVEZXJvdWxhbnRlX1BST0RV SVQuanNwIiBmbHVzaD0idHJ1ZSI+DQoJCQkJPGpzcDpwYXJhbSBuYW1lPSJhZmZpY2hhZ2UiIHZh bHVlPSIyIiAvPg0KCQkJCTxqc3A6cGFyYW0gbmFtZT0idmFsZXVyIiB2YWx1ZT0iPCU9RklFQ09O SlYxLmdldENPTlBSTyh2ZWN0KSU+IiAvPg0KCQkJCTxqc3A6cGFyYW0gbmFtZT0iem9uZVJldG91 ciIgdmFsdWU9IlBST0RVSVQiIC8+DQoJCQkJPGpzcDpwYXJhbSBuYW1lPSJmb3JtdWxhaXJlIiB2 YWx1ZT0iY2FsZm9ybSIgLz4NCgkJCQk8anNwOnBhcmFtIG5hbWU9InBvc2l0aW9uIiB2YWx1ZT0i dGV4dCIgLz4JDQoJCQkJPGpzcDpwYXJhbSBuYW1lPSJzY3JpcHQiIHZhbHVlPSIgIiAvPg0KCQkJ CTxqc3A6cGFyYW0gbmFtZT0iZmFtaWxsZSIgdmFsdWU9IiAiIC8+DQoJCQkJPGpzcDpwYXJhbSBu YW1lPSJzdHlsZUNsYXNzIiB2YWx1ZT0ic2VsZWN0IiAvPg0KCQkJPC9qc3A6aW5jbHVkZT4NCiAg ICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgPC9GT05UPjwvVEQ+DQogICAg ICAgICAgICAgICAgICAgIDxURCBCR0NPTE9SPSI8JT1Db2xvclRhYmxlJT4iIEFMSUdOPUNFTlRF UiBWQUxJR049TUlERExFPg0KICAgICAgICAgICAgICAgICAgICAJPGZvbnQgY2xhc3M9ImZvbnRk IiBjb2xvcj0jMDAwMDY2PjxhIGhyZWY9ImphdmFzY3JpcHQ6IHRvZG9BY3QxKCd2aXN1YWxpc2F0 aW9uJywgPCU9RklFQ09OSlYxLmdldENPTk5VTSh2ZWN0KSU+KTsiIHN0eWxlPSJ0ZXh0LWRlY29y YXRpb246IG5vbmU7Ij48Zm9udCBjb2xvcj0iIzMzMzM5OSIgZmFjZT0iV2ViZGluZ3MiIHNpemU9 IjQiPk48L2ZvbnQ+PC9hPiAvIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibXNnaWRbXVN1 cHAiIHZhbHVlPSI8JT1GSUVDT05KVjEuZ2V0Q09OTlVNKHZlY3QpJT4iIHN0eWxlPSJmb250OiB4 eC1zbWFsbCI+DQogICAgICAgICAgICAgICAgICAgIDwvVEQ+DQogICAgICAgCSAgICA8L1RSPg0K ICAgICAgIAkgICAgDQo8JQkgIHZlY3QucmVtb3ZlQWxsRWxlbWVudHMoKTsNCgl9DQoJZSA9IG51 bGw7DQoJRklFQ09OSlYxID0gbnVsbDsNCglGSUVDT05KVjFTLnJlbW92ZUFsbEVsZW1lbnRzKCk7 DQp9Y2F0Y2goRXhjZXB0aW9uIHQpe30NCiU+CTwlIGlmIChDb21wdGV1cj09MCl7JT4NCgk8dHI+ PHRkIGNvbHNwYW49OD48Zm9udCBjbGFzcz0iZm9udGQiIGNvbG9yPSMwMDAwNjY+KEF1Y3VuIGVu cmVnaXN0cmVtZW50IG5lIHLpcG9uZCBhdXggY3JpdOhyZXMpPC90ZD48L3RyPg0KCTwlfSU+DQoJ PHRyPjx0ZCBjb2xzcGFuPTg+PC90ZD48L3RyPgkgIA0KICAgICAgICA8dHI+DQoJCTx0ZCBhbGln bj0iY2VudGVyIj4NCgkJCTxmb250IGZhY2U9InZlcmRhbmEsdGFob21hLGhlbHZldGljYSIgY29s b3I9IiMwMDAwMDAiIHNpemU9MT4NCgkJCTxhIGhyZWY9amF2YXNjcmlwdDpjb250cm9sZUNoZWNr UEcoKTs+PGZvbnQgY29sb3I9IiMwMDAwMDAiPlRvdXQ8L2ZvbnQ+PC9hPiAvIDxhIGhyZWY9amF2 YXNjcmlwdDpjb250cm9sZUNoZWNrQ3RyKCk7Pjxmb250IGNvbG9yPSIjMDAwMDAwIj5Ub3V0PC9m b250PjwvYT48YnI+IA0KCQkJPC9mb250Pg0KCQk8L3RkPg0KICAgICAgICAJPHRkIGNvbHNwYW49 MyBhbGlnbj0ibGVmdD4NCgkJCTxmb250IGZhY2U9InZlcmRhbmEsdGFob21hLGhlbHZldGljYSIg Y29sb3I9IiMwMDAwMDAiIHNpemU9Mz4NCgkJCQk8dGFibGUgYm9yZGVyPSIwIj4NCgkJCQkgICAg PHRyPg0KCQkJCSAgICAgIDx0ZCBiZ2NvbG9yPSIjRkZGRkZGIj48Zm9udCBmYWNlPSJ2ZXJkYW5h LHRhaG9tYSxoZWx2ZXRpY2EiIGNvbG9yPSIjMDAwMDAwIiBzaXplPTE+Jm5ic3A7Jm5ic3A7PC90 ZD4NCgkJCQkgICAgICA8dGQ+PGZvbnQgZmFjZT0idmVyZGFuYSx0YWhvbWEsaGVsdmV0aWNhIiBj b2xvcj0iIzAwMDAwMCIgc2l6ZT0xPiBDb250cmF0IEFjdGlmJm5ic3A7Jm5ic3A7PC90ZD4NCgkJ CQkgICAgICA8dGQgYmdjb2xvcj0iI0NDQ0NGRiI+PGZvbnQgZmFjZT0idmVyZGFuYSx0YWhvbWEs aGVsdmV0aWNhIiBjb2xvcj0iIzAwMDAwMCIgc2l6ZT0xPiZuYnNwOyZuYnNwOzwvdGQ+DQoJCQkJ ICAgICAgPHRkPjxmb250IGZhY2U9InZlcmRhbmEsdGFob21hLGhlbHZldGljYSIgY29sb3I9IiMw MDAwMDAiIHNpemU9MT4gQ29udHJhdCBWYWxpZOk8L3RkPg0KCQkJCSAgICA8L3RyPg0KCQkJCTwv dGFibGU+DQoJCQk8L2ZvbnQ+ICAgICAgICAJDQogICAgICAgIAk8L3RkPgkJDQogICAgICAgIAk8 dGQgY29sc3Bhbj00IGFsaWduPSJsZWZ0Ij4gJm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyAmbmJz cDsmbmJzcDsgJm5ic3A7Jm5ic3A7DQoJCQkJPGlucHV0IGNsYXNzPSJidXR0b24iIHR5cGU9ImJ1 dHRvbiIgbmFtZT0iYlZiIiB2YWx1ZT0iICAgVmFsaWRlciAgICIgb25jbGljaz0iZGVtbygpOyBk b1ZhbGlkYXRpb24oKSI+DQogICAgICAgIAk8L3RkPg0KCQkJPHRkIGFsaWduPSJjZW50ZXIiPg0K CQkJCTxmb250IGZhY2U9InZlcmRhbmEsdGFob21hLGhlbHZldGljYSIgY29sb3I9IiMwMDAwMDAi IHNpemU9MT4NCgkJCQkJPGEgaHJlZj1qYXZhc2NyaXB0OmNvbnRyb2xlQ2hlY2tTdXBwKCk7Pjxm b250IGNvbG9yPSIjMDAwMDAwIj5Ub3V0PC9mb250PjwvYT4NCgkJCQk8L2ZvbnQ+DQoJCQk8L3Rk Pg0KICAgICAgICA8L3RyPg0KPC90YWJsZT4NCjwvZGl2Pg0KICA8SU5QVVQgVFlQRT1oaWRkZW4g TkFNRT0iY2hla1pvbmVQRyI+IA0KICA8SU5QVVQgVFlQRT1oaWRkZW4gTkFNRT0iY2hla1pvbmVD dHIiPiANCiAgPElOUFVUIFRZUEU9aGlkZGVuIE5BTUU9ImNoZWtab25lU3VwcCI+IA0KPC9mb3Jt Pg0KPGJyPg0KPC9ib2R5Pg0KPHNjcmlwdD4NCmZ1bmN0aW9uIGNvbnRyb2xlQ2hlY2tQRygpeyAN CiBpZiAoZG9jdW1lbnQuY2FsZm9ybS5jaGVrWm9uZVBHLnZhbHVlPT0nTicpew0KIAlkb2N1bWVu dC5jYWxmb3JtLmNoZWtab25lUEcudmFsdWU9J08nOw0KIAljbGVhckFsbCgnbXNnaWRbXVBHJyk7 DQogfWVsc2V7IA0KIAlkb2N1bWVudC5jYWxmb3JtLmNoZWtab25lUEcudmFsdWU9J04nOw0KIAlj aGVja0FsbCgnbXNnaWRbXVBHJyk7DQogfQ0KfQ0KZnVuY3Rpb24gY29udHJvbGVDaGVja0N0cigp eyANCiBpZiAoZG9jdW1lbnQuY2FsZm9ybS5jaGVrWm9uZUN0ci52YWx1ZT09J04nKXsNCiAJZG9j dW1lbnQuY2FsZm9ybS5jaGVrWm9uZUN0ci52YWx1ZT0nTyc7DQogCWNsZWFyQWxsKCdtc2dpZFtd Q3RyJyk7DQogfWVsc2V7IA0KIAlkb2N1bWVudC5jYWxmb3JtLmNoZWtab25lQ3RyLnZhbHVlPSdO JzsNCiAJY2hlY2tBbGwoJ21zZ2lkW11DdHInKTsNCiB9DQp9DQpmdW5jdGlvbiBjb250cm9sZUNo ZWNrU3VwcCgpeyANCiBpZiAoZG9jdW1lbnQuY2FsZm9ybS5jaGVrWm9uZVN1cHAudmFsdWU9PSdO Jyl7DQogCWRvY3VtZW50LmNhbGZvcm0uY2hla1pvbmVTdXBwLnZhbHVlPSdPJzsNCiAJY2xlYXJB bGwoJ21zZ2lkW11TdXBwJyk7DQogfWVsc2V7IA0KIAlkb2N1bWVudC5jYWxmb3JtLmNoZWtab25l U3VwcC52YWx1ZT0nTic7DQogCWNoZWNrQWxsKCdtc2dpZFtdU3VwcCcpOw0KIH0NCn0NCjwvc2Ny aXB0Pg0KPHA+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4NCiA8IS0tIA0KICBhcF9z aG93V2FpdE1lc3NhZ2UoJ3dhaXREaXYnLCAwKTsNCiAvLy0tPg0KPC9zY3JpcHQ+DQo8L3A+DQo8 c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4NCglwYXJlbnQuZnJhbWVzWyJCb2R5RW50ZXRl Q29udHJhdFRvcCJdLmJvZHl3YWl0LnN0eWxlLmN1cnNvciA9ICJkZWZhdWx0IjsNCglwYXJlbnQu ZnJhbWVzWyJCb2R5RW50ZXRlQ29udHJhdFRvcCJdLmRvY3VtZW50LmNhbGZvcm0uYlIuZGlzYWJs ZWQ9ZmFsc2U7DQoJcGFyZW50LmZyYW1lc1siQm9keUVudGV0ZUNvbnRyYXRUb3AiXS5kb2N1bWVu dC5jYWxmb3JtLmJULmRpc2FibGVkPWZhbHNlOw0KPC9zY3JpcHQ+DQoJPCUgaWYgKENvbXB0ZXVy PT0wKXslPg0KCTxzY3JpcHQ+DQoJICAJYm9keXdhaXQuc3R5bGUuY3Vyc29yID0gImRlZmF1bHQi Ow0KICAJCWRvY3VtZW50LmNhbGZvcm0uYlZoLmRpc2FibGVkPXRydWU7DQogIAkJZG9jdW1lbnQu Y2FsZm9ybS5iVmIuZGlzYWJsZWQ9dHJ1ZTsNCgk8L3NjcmlwdD4NCgk8JX0lPg0KPC9IVE1MPg== --=_mixed 002E48E1C1256C32_= Content-Type: application/octet-stream; name="BodyEnteteContratSuite_jsp.java" Content-Disposition: attachment; filename="BodyEnteteContratSuite_jsp.java" Content-Transfer-Encoding: base64 cGFja2FnZSBvcmcuYXBhY2hlLmpzcDsNCg0KaW1wb3J0IGphdmF4LnNlcnZsZXQuKjsNCmltcG9y dCBqYXZheC5zZXJ2bGV0Lmh0dHAuKjsNCmltcG9ydCBqYXZheC5zZXJ2bGV0LmpzcC4qOw0KaW1w b3J0IG9yZy5hcGFjaGUuamFzcGVyLnJ1bnRpbWUuKjsNCmltcG9ydCBqYXZhLnV0aWwuKjsNCmlt cG9ydCBqYXZhLmxhbmcuKjsNCmltcG9ydCBsZWN1cmV1ci4qOw0KaW1wb3J0IG91dGlscy4qOw0K DQpwdWJsaWMgY2xhc3MgQm9keUVudGV0ZUNvbnRyYXRTdWl0ZV9qc3AgZXh0ZW5kcyBIdHRwSnNw QmFzZSB7DQoNCg0KICBwcml2YXRlIHN0YXRpYyBqYXZhLnV0aWwuVmVjdG9yIF9qc3B4X2luY2x1 ZGVzOw0KDQogIHB1YmxpYyBqYXZhLnV0aWwuTGlzdCBnZXRJbmNsdWRlcygpIHsNCiAgICByZXR1 cm4gX2pzcHhfaW5jbHVkZXM7DQogIH0NCg0KICBwdWJsaWMgdm9pZCBfanNwU2VydmljZShIdHRw U2VydmxldFJlcXVlc3QgcmVxdWVzdCwgSHR0cFNlcnZsZXRSZXNwb25zZSByZXNwb25zZSkNCiAg ICAgICAgdGhyb3dzIGphdmEuaW8uSU9FeGNlcHRpb24sIFNlcnZsZXRFeGNlcHRpb24gew0KDQog ICAgSnNwRmFjdG9yeSBfanNweEZhY3RvcnkgPSBudWxsOw0KICAgIGphdmF4LnNlcnZsZXQuanNw LlBhZ2VDb250ZXh0IHBhZ2VDb250ZXh0ID0gbnVsbDsNCiAgICBIdHRwU2Vzc2lvbiBzZXNzaW9u ID0gbnVsbDsNCiAgICBTZXJ2bGV0Q29udGV4dCBhcHBsaWNhdGlvbiA9IG51bGw7DQogICAgU2Vy dmxldENvbmZpZyBjb25maWcgPSBudWxsOw0KICAgIEpzcFdyaXRlciBvdXQgPSBudWxsOw0KICAg IE9iamVjdCBwYWdlID0gdGhpczsNCiAgICBKc3BXcml0ZXIgX2pzcHhfb3V0ID0gbnVsbDsNCg0K DQogICAgdHJ5IHsNCiAgICAgIF9qc3B4RmFjdG9yeSA9IEpzcEZhY3RvcnkuZ2V0RGVmYXVsdEZh Y3RvcnkoKTsNCiAgICAgIHJlc3BvbnNlLnNldENvbnRlbnRUeXBlKCJ0ZXh0L2h0bWw7Y2hhcnNl dD1JU08tODg1OS0xIik7DQogICAgICBwYWdlQ29udGV4dCA9IF9qc3B4RmFjdG9yeS5nZXRQYWdl Q29udGV4dCh0aGlzLCByZXF1ZXN0LCByZXNwb25zZSwNCiAgICAgIAkJCW51bGwsIHRydWUsIDgx OTIsIHRydWUpOw0KICAgICAgYXBwbGljYXRpb24gPSBwYWdlQ29udGV4dC5nZXRTZXJ2bGV0Q29u dGV4dCgpOw0KICAgICAgY29uZmlnID0gcGFnZUNvbnRleHQuZ2V0U2VydmxldENvbmZpZygpOw0K ICAgICAgc2Vzc2lvbiA9IHBhZ2VDb250ZXh0LmdldFNlc3Npb24oKTsNCiAgICAgIG91dCA9IHBh Z2VDb250ZXh0LmdldE91dCgpOw0KICAgICAgX2pzcHhfb3V0ID0gb3V0Ow0KDQogICAgICBvdXQu d3JpdGUoIjxIVE1MPlxyXG4iKTsNCiAgICAgIG91dC53cml0ZSgiPEhFQUQ+XHJcbiIpOw0KICAg ICAgb3V0LndyaXRlKCI8bWV0YSBodHRwLWVxdWl2PVwiQ29udGVudC1UeXBlXCIgY29udGVudD1c InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xXCI+XHJcbiIpOw0KICAgICAgb3V0LndyaXRl KCI8TUVUQSBodHRwLWVxdWl2PVwiQ2FjaGUtQ29udHJvbFwiIGNvbnRlbnQ9XCJuby1jYWNoZVwi PlxyXG4iKTsNCiAgICAgIG91dC53cml0ZSgiPE1FVEEgSFRUUC1FUVVJVj1cInByYWdtYVwiIENP TlRFTlQ9XCJuby1jYWNoZVwiPlxyXG4iKTsNCiAgICAgIG91dC53cml0ZSgiPFRJVExFPkFwcGxp Y2F0aW9uIFRyYWRpbmcgIik7DQogICAgICBvdXQud3JpdGUoIjwvVElUTEU+XHJcbiIpOw0KICAg ICAgb3V0LndyaXRlKCI8c2NyaXB0IGxhbmd1YWdlPVwiamF2YXNjcmlwdFwiIHNyYz1cIi4uL1Nj cmlwdC9MaXN0ZS5qc1wiPiIpOw0KICAgICAgb3V0LndyaXRlKCI8L3NjcmlwdD5cclxuIik7DQog ICAgICBvdXQud3JpdGUoIjxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiBocmVmPVwiLi4vU3R5bGUv bGVjdXJldXIuY3NzXCI+XHJcblxyXG4iKTsNCiAgICAgIG91dC53cml0ZSgiPHN0eWxlIGlkPVwi Ymlkb25cIiB0eXBlPVwidGV4dC9jc3NcIj5cclxuLnRkYmx1ZSAgICAgIHsgY29sb3I6ICMwMDAw MDA7IGJhY2tncm91bmQtY29sb3I6ICNDOEQ5RkI7IGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7 IFxyXG4gICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDsgYmFja2dy b3VuZC1wb3NpdGlvbjogMCUgfVxyXG4uY2FjaGVyQm91dG9uMVx0e2Rpc3BsYXk6IGxpc3QtaXRl bX1cclxuLmNhY2hlckJvdXRvbjJcdHtkaXNwbGF5OiBub25lfVxyXG4iKTsNCiAgICAgIG91dC53 cml0ZSgiPC9zdHlsZT5cclxuXHJcbiIpOw0KICAgICAgb3V0LndyaXRlKCI8L2hlYWQ+XHJcblxy XG4iKTsNCg0KU3RyaW5nIGNoZW1pbiA9ICIvbGVjdXJldXIvc2VydmxldC9sZWN1cmV1ci5DcmVh dEVudGV0ZUNvbnRyYXRTdWl0ZVNlcnZsZXQiOw0KU3RyaW5nIGNoZW1pbjEgPSAiL2xlY3VyZXVy L3NlcnZsZXQvbGVjdXJldXIuQ3JlYXRFbnRldGVDb250cmF0U3VpdGVNQUpTZXJ2bGV0IjsNClN0 cmluZyB0b2RvID0gcmVxdWVzdC5nZXRQYXJhbWV0ZXIoInRvZG8iKTsNClN0cmluZyBjbGVFbnRl dGVDb250cmF0ID0gcmVxdWVzdC5nZXRQYXJhbWV0ZXIoImNsZUVudGV0ZUNvbnRyYXQiKTsNClN0 cmluZyB2YWxldXJFbnRldGVDb250cmF0ID0gcmVxdWVzdC5nZXRQYXJhbWV0ZXIoInZhbGV1ckVu dGV0ZUNvbnRyYXQiKTsNCiAgICAgIG91dC53cml0ZSgiXHJcblxyXG4iKTsNCiAvLyBHZW5lcmF0 aW9uIGRlIGxhIGNvbmRpdGlvbiBXSEVSRSBkZSBsYSByZXF1ZXR0ZQ0KU3RyaW5nIGNvbmRpdGlv biA9ICIgV0hFUkUgQ09OU1RBPD4nQyciOw0KaWYgKHRvZG8uZXF1YWxzKCJTZWFyY2giKSl7DQoJ aWYgKGNsZUVudGV0ZUNvbnRyYXQuZXF1YWxzKCJUWVBFQ09OVCIpKSBjb25kaXRpb24gPSAiIFdI RVJFIENPTlRDTz0iICsgdmFsZXVyRW50ZXRlQ29udHJhdCArIiBBTkQgQ09OU1RBPD4nQyciOw0K CWlmIChjbGVFbnRldGVDb250cmF0LmVxdWFscygiVElFUlMiKSkgY29uZGl0aW9uID0gIiBXSEVS RSBDT05USUU9IiArIHZhbGV1ckVudGV0ZUNvbnRyYXQgKyIgQU5EIENPTlNUQTw+J0MnIjsNCglp ZiAoY2xlRW50ZXRlQ29udHJhdC5lcXVhbHMoIlBST0RVSVQiKSkgY29uZGl0aW9uID0gIiBXSEVS RSBDT05QUk89IiArIHZhbGV1ckVudGV0ZUNvbnRyYXQgKyIgQU5EIENPTlNUQTw+J0MnIjsNCglp ZiAoY2xlRW50ZXRlQ29udHJhdC5lcXVhbHMoIkRBVEUiKSkgY29uZGl0aW9uID0gIiBXSEVSRSBD T05EQVQ9JyIgKyB2YWxldXJFbnRldGVDb250cmF0ICsgIiciKyIgQU5EIENPTlNUQTw+J0MnIjsN Cn0NCiAgICAgIG91dC53cml0ZSgiXHJcblxyXG4iKTsNCiAgICAgIG91dC53cml0ZSgiXHJcbiIp Ow0KICAgICAgb3V0LndyaXRlKCJcclxuIik7DQogICAgICBvdXQud3JpdGUoIlxyXG4iKTsNCiAg ICAgIG91dC53cml0ZSgiXHJcblxyXG4iKTsNCiAvLyBDSEFSR0VNRU5UICAgICAgIG91dC53cml0 ZSgiXHJcbiIpOw0KDQogICBzZXNzaW9uLnJlbW92ZUF0dHJpYnV0ZSgiRklFQ09OSlYxUyIpOw0K ICAgVmVjdG9yIEZJRUNPTkpWMVMgPSAoVmVjdG9yKXNlc3Npb24uZ2V0QXR0cmlidXRlKCJGSUVD T05KVjFTIik7DQogICBpZiAoRklFQ09OSlYxUz09bnVsbCkgew0KCUJlYW5TZWxlY3QgcmVzdWx0 YXQgPSBuZXcgQmVhblNlbGVjdCgiRklFQ09OSlYxIiwgY29uZGl0aW9uICsgIiBPUkRFUiBCWSBD T05OVU0iKTsNCglGSUVDT05KVjFTID0gcmVzdWx0YXQuZ2V0VGFibGUoKTsNCglzZXNzaW9uLnNl dEF0dHJpYnV0ZSgiRklFQ09OSlYxUyIsRklFQ09OSlYxUyk7DQoJcmVzdWx0YXQgPSBudWxsOw0K ICAgfQ0KICAgQmVhbkZJRUNPTkpWMSBGSUVDT05KVjEgPSBuZXcgQmVhbkZJRUNPTkpWMSgpOw0K ICAgRW51bWVyYXRpb24gZSA9IEZJRUNPTkpWMVMuZWxlbWVudHMoKTsNCiAgICAgIG91dC53cml0 ZSgiXHJcbiIpOw0KIC8vIEJvdWNsZSBkZSByZW1wbGlzc2FnZSAgICAgICBvdXQud3JpdGUoIlxy XG4iKTsNCiAgVmVjdG9yIHZlY3QgPSBudWxsOw0KICAgICAgb3V0LndyaXRlKCJcclxuXHJcbiIp Ow0KICAgICAgb3V0LndyaXRlKCI8U0NSSVBUIExBTkdVQUdFPVwiamF2YVNjcmlwdFwiPlxyXG5m dW5jdGlvbiBkZW1vKCl7XHJcbiAgXHRib2R5d2FpdC5zdHlsZS5jdXJzb3IgPSBcIndhaXRcIjtc clxuICBcdGRvY3VtZW50LmNhbGZvcm0uYlZoLmRpc2FibGVkPXRydWU7XHJcbiAgXHRkb2N1bWVu dC5jYWxmb3JtLmJWYi5kaXNhYmxlZD10cnVlO1xyXG5cdGRvY3VtZW50LnN0eWxlU2hlZXRzW1wi Ymlkb25cIl0uYWRkUnVsZShcIi5jYWNoZXJCb3V0b24xXCIsIFwiZGlzcGxheTogbm9uZVwiKTtc clxuXHRkb2N1bWVudC5zdHlsZVNoZWV0c1tcImJpZG9uXCJdLmFkZFJ1bGUoXCIuY2FjaGVyQm91 dG9uMlwiLCBcImRpc3BsYXk6IGxpc3QtaXRlbVwiKTtcclxufVxyXG5cclxuZnVuY3Rpb24gdG9k b0FjdDEoQWN0aW9uVmFsdWUxLCBOdW1lcm9Db250cmF0KXtcclxuXHQgZG9jdW1lbnQuY2FsZm9y bS5yZWNoVHlwZS52YWx1ZT1cIiIpOw0KICAgICAgb3V0LnByaW50KHRvZG8pOw0KICAgICAgb3V0 LndyaXRlKCJcIjtcclxuXHQgZG9jdW1lbnQuY2FsZm9ybS5yZWNoQ2xlLnZhbHVlPVwiIik7DQog ICAgICBvdXQucHJpbnQoY2xlRW50ZXRlQ29udHJhdCk7DQogICAgICBvdXQud3JpdGUoIlwiO1xy XG5cdCBkb2N1bWVudC5jYWxmb3JtLnJlY2hWYWxldXIudmFsdWU9XCIiKTsNCiAgICAgIG91dC5w cmludCh2YWxldXJFbnRldGVDb250cmF0KTsNCiAgICAgIG91dC53cml0ZSgiXCI7XHJcblx0IGRv Y3VtZW50LmNhbGZvcm0udGFyZ2V0PVwiX3RvcFwiO1xyXG5cdCBkb2N1bWVudC5jYWxmb3JtLmFj dGlvbj1cIiIpOw0KICAgICAgb3V0LnByaW50KGNoZW1pbik7DQogICAgICBvdXQud3JpdGUoIlwi O1xyXG5cdCBkb2N1bWVudC5jYWxmb3JtLnRvZG8udmFsdWU9QWN0aW9uVmFsdWUxO1xyXG5cdCBk b2N1bWVudC5jYWxmb3JtLmNsZUVudGV0ZUNvbnRyYXQudmFsdWU9TnVtZXJvQ29udHJhdDtcclxu XHQgZG9jdW1lbnQuY2FsZm9ybS5zdWJtaXQoKTtcclxufVxyXG5cclxuZnVuY3Rpb24gdG9kb0Fj dDMoQWN0aW9uVmFsdWUzLEFjdGlvblZhbHVlNCkge1xyXG4gZG9jdW1lbnQuY2FsZm9ybS50YXJn ZXQ9XCJfdG9wXCI7XHJcbiBkb2N1bWVudC5jYWxmb3JtLmFjdGlvbj1cIiIpOw0KICAgICAgb3V0 LnByaW50KGNoZW1pbjEpOw0KICAgICAgb3V0LndyaXRlKCJcIjtcclxuIGRvY3VtZW50LmNhbGZv cm0ucmVjaFR5cGUudmFsdWU9XCIiKTsNCiAgICAgIG91dC5wcmludCh0b2RvKTsNCiAgICAgIG91 dC53cml0ZSgiXCI7XHJcbiBkb2N1bWVudC5jYWxmb3JtLnJlY2hDbGUudmFsdWU9XCIiKTsNCiAg ICAgIG91dC5wcmludChjbGVFbnRldGVDb250cmF0KTsNCiAgICAgIG91dC53cml0ZSgiXCI7XHJc biBkb2N1bWVudC5jYWxmb3JtLnJlY2hWYWxldXIudmFsdWU9XCIiKTsNCiAgICAgIG91dC5wcmlu dCh2YWxldXJFbnRldGVDb250cmF0KTsNCiAgICAgIG91dC53cml0ZSgiXCI7IFxyXG4gZG9jdW1l bnQuY2FsZm9ybS50b2RvLnZhbHVlPUFjdGlvblZhbHVlMztcclxuIGRvY3VtZW50LmNhbGZvcm0u bW9kZS52YWx1ZT1BY3Rpb25WYWx1ZTQ7XHJcbiBkb2N1bWVudC5jYWxmb3JtLmNsZUVudGV0ZUNv bnRyYXQudmFsdWU9JyIpOw0KICAgICAgb3V0LnByaW50KGNsZUVudGV0ZUNvbnRyYXQpOw0KICAg ICAgb3V0LndyaXRlKCInO1xyXG4gZG9jdW1lbnQuY2FsZm9ybS52YWxldXJFbnRldGVDb250cmF0 LnZhbHVlPSciKTsNCiAgICAgIG91dC5wcmludCh2YWxldXJFbnRldGVDb250cmF0KTsNCiAgICAg IG91dC53cml0ZSgiJztcclxuIGRvY3VtZW50LmNhbGZvcm0uc3VibWl0KCk7XHJcbn1cclxuXHJc bmZ1bmN0aW9uIGlzTWVzc2FnZVNlbGVjdGVkKClcclxue1xyXG4gIHZhciBlID0gZG9jdW1lbnQu Y2FsZm9ybS5lbGVtZW50cztcclxuICB2YXIgZiA9IGRvY3VtZW50LmNhbGZvcm0uZWxlbWVudHM7 XHJcbiAgdmFyIGcgPSBkb2N1bWVudC5jYWxmb3JtLmVsZW1lbnRzO1xyXG4gIHZhciBiTm9uZSA9 IHRydWU7XHJcbiAgdmFyIGJGb3VuZE9uZSA9IGZhbHNlO1xyXG4gIHogPSBcIlwiO1xyXG4gIHZh ciB0ZXN0c3VwPTA7XHJcbiAgdmFyIHRlc3RwZz0wO1xyXG4gIHZhciB0ZXN0Y3RyPTA7XHJcbiAg ICBcclxuICB6PVwiXCI7XHJcbiAgZm9yICh2YXIgaT0wOyBpICIpOw0KICAgICAgb3V0LndyaXRl KCI8IGYubGVuZ3RoOyBpKyspIHtcclxuICAgIGlmIChmW2ldLm5hbWUgPT0gXCJtc2dpZFtdUEdc Iikge1xyXG4gICAgICBiTm9uZSA9IGZhbHNlO1xyXG4gICAgICBpZiAoZltpXS5jaGVja2VkID09 IHRydWUpe1xyXG5cdHogPSB6K1wiLFwiK2ZbaV0udmFsdWU7XHJcbi8vXHRhbGVydCgnUGFnZSBk ZSBnYXJkZScreik7XHJcblx0ZG9jdW1lbnQuY2FsZm9ybS5wZ1pvbmVzLnZhbHVlPXorXCIsKlwi O1xyXG4gICAgICAgIGJGb3VuZE9uZSA9IHRydWU7XHJcbiAgICAgICAgdGVzdHBnPTE7ICAgICAg ICAgICBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBpZiAoYk5vbmUpIHtcclxuICAg IGFsZXJ0KFwiVGhlcmUgYXJlIG5vIG1lc3NhZ2VzLlwiKTtcclxuXHRib2R5d2FpdC5zdHlsZS5j dXJzb3IgPSBcImRlZmF1bHRcIjtcclxuIFx0ZG9jdW1lbnQuY2FsZm9ybS5iVmguZGlzYWJsZWQ9 ZmFsc2U7XHJcbiBcdGRvY3VtZW50LmNhbGZvcm0uYlZiLmRpc2FibGVkPWZhbHNlO1xyXG5cdGRv Y3VtZW50LnN0eWxlU2hlZXRzW1wiYmlkb25cIl0uYWRkUnVsZShcIi5jYWNoZXJCb3V0b24xXCIs IFwiZGlzcGxheTogbGlzdC1pdGVtXCIpO1xyXG5cdGRvY3VtZW50LnN0eWxlU2hlZXRzW1wiYmlk b25cIl0uYWRkUnVsZShcIi5jYWNoZXJCb3V0b24yXCIsIFwiZGlzcGxheTogbm9uZVwiKTtcclxu ICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgIGlmIChiRm91bmRPbmUpe1xyXG5cdC8vYWxl cnQoXCJFZGl0aW9uIGRlcyBwYWdlcyBkZSBnYXJkZSBzw6lsZWN0aW9ubsOpZXMgZW4gY291cnMu Li5cIik7XHRcclxuICAgfVxyXG5cdFxyXG4gICIpOw0KICAgICAgb3V0LndyaXRlKCI8IS0tcmV0 dXJuIHRydWU7LS0+XHJcbiAgej1cIlwiO1xyXG4gIGZvciAodmFyIGk9MDsgaSAiKTsNCiAgICAg IG91dC53cml0ZSgiPCBnLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBpZiAoZ1tpXS5uYW1lID09IFwi bXNnaWRbXUN0clwiKSB7XHJcbiAgICAgIGJOb25lID0gZmFsc2U7XHJcbiAgICAgIGlmIChnW2ld LmNoZWNrZWQgPT0gdHJ1ZSl7XHJcbiAgICBcclxuXHR6ID0geitcIixcIitnW2ldLnZhbHVlO1xy XG4vL1x0YWxlcnQoJ2NvbnRyYXQnK3opO1xyXG5cdGRvY3VtZW50LmNhbGZvcm0uY3RyWm9uZXMu dmFsdWU9eitcIiwqXCI7XHJcbiAgICAgICAgYkZvdW5kT25lID0gdHJ1ZTtcclxuICAgICAgICB0 ZXN0Y3RyPTE7ICAgXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICAgICBcclxuICB9XHJcbiAg aWYgKGJOb25lKSB7XHJcbiAgICBhbGVydChcIlRoZXJlIGFyZSBubyBtZXNzYWdlcy5cIik7XHJc blx0Ym9keXdhaXQuc3R5bGUuY3Vyc29yID0gXCJkZWZhdWx0XCI7XHJcbiAgXHRkb2N1bWVudC5j YWxmb3JtLmJWaC5kaXNhYmxlZD1mYWxzZTtcclxuICBcdGRvY3VtZW50LmNhbGZvcm0uYlZiLmRp c2FibGVkPWZhbHNlO1xyXG5cdGRvY3VtZW50LnN0eWxlU2hlZXRzW1wiYmlkb25cIl0uYWRkUnVs ZShcIi5jYWNoZXJCb3V0b24xXCIsIFwiZGlzcGxheTogbGlzdC1pdGVtXCIpO1xyXG5cdGRvY3Vt ZW50LnN0eWxlU2hlZXRzW1wiYmlkb25cIl0uYWRkUnVsZShcIi5jYWNoZXJCb3V0b24yXCIsIFwi ZGlzcGxheTogbm9uZVwiKTtcclxuIFx0XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfWVsc2V7 XHRcclxuICAgaWYgKGJGb3VuZE9uZSl7XHJcblx0Ly9hbGVydChcIkVkaXRpb24gZGVzIHBhZ2Vz IGRlIGdhcmRlIHPDqWxlY3Rpb25uw6llcyBlbiBjb3Vycy4uLlwiKTtcdFxyXG4gICAgfVxyXG59 XHJcblxyXG4gIHo9XCJcIjtcclxuICBmb3IgKHZhciBpPTA7IGkgIik7DQogICAgICBvdXQud3Jp dGUoIjwgZS5sZW5ndGg7IGkrKykge1xyXG4gICAgaWYgKGVbaV0ubmFtZSA9PSBcIm1zZ2lkW11T dXBwXCIpIHtcclxuICAgICAgYk5vbmUgPSBmYWxzZTtcclxuICAgICAgaWYgKGVbaV0uY2hlY2tl ZCA9PSB0cnVlKXtcclxuXHR6ID0geitcIixcIitlW2ldLnZhbHVlO1xyXG5cdC8vYWxlcnQoJ3N1 cHByZXNzaW9uJyt6KTtcclxuXHRkb2N1bWVudC5jYWxmb3JtLnN1cHBab25lcy52YWx1ZT16K1wi LCpcIjtcclxuICAgICAgICBiRm91bmRPbmUgPSB0cnVlO1xyXG4gICAgICAgIHRlc3RzdXA9MTsg ICAgIFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGlmIChiTm9uZSkge1xyXG4gICAg YWxlcnQoXCJUaGVyZSBhcmUgbm8gbWVzc2FnZXMuXCIpO1xyXG4gICBcdGJvZHl3YWl0LnN0eWxl LmN1cnNvciA9IFwiZGVmYXVsdFwiO1xyXG4gIFx0ZG9jdW1lbnQuY2FsZm9ybS5iVmguZGlzYWJs ZWQ9ZmFsc2U7XHJcbiAgXHRkb2N1bWVudC5jYWxmb3JtLmJWYi5kaXNhYmxlZD1mYWxzZTtcclxu XHRkb2N1bWVudC5zdHlsZVNoZWV0c1tcImJpZG9uXCJdLmFkZFJ1bGUoXCIuY2FjaGVyQm91dG9u MVwiLCBcImRpc3BsYXk6IGxpc3QtaXRlbVwiKTtcclxuXHRkb2N1bWVudC5zdHlsZVNoZWV0c1tc ImJpZG9uXCJdLmFkZFJ1bGUoXCIuY2FjaGVyQm91dG9uMlwiLCBcImRpc3BsYXk6IG5vbmVcIik7 XHJcbiBcdFxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICAgaWYgKCFiRm91bmRPbmUp e1xyXG4gICAgYWxlcnQoXCJWZXVpbGxleiBjb2NoZXIgdW5lIG91IHBsdXNpZXVycyBjYXNlcyAh LlwiKTtcclxuICAgXHRib2R5d2FpdC5zdHlsZS5jdXJzb3IgPSBcImRlZmF1bHRcIjtcclxuICBc dGRvY3VtZW50LmNhbGZvcm0uYlZoLmRpc2FibGVkPWZhbHNlO1xyXG4gIFx0ZG9jdW1lbnQuY2Fs Zm9ybS5iVmIuZGlzYWJsZWQ9ZmFsc2U7XHJcblx0ZG9jdW1lbnQuc3R5bGVTaGVldHNbXCJiaWRv blwiXS5hZGRSdWxlKFwiLmNhY2hlckJvdXRvbjFcIiwgXCJkaXNwbGF5OiBsaXN0LWl0ZW1cIik7 XHJcblx0ZG9jdW1lbnQuc3R5bGVTaGVldHNbXCJiaWRvblwiXS5hZGRSdWxlKFwiLmNhY2hlckJv dXRvbjJcIiwgXCJkaXNwbGF5OiBub25lXCIpO1xyXG4gXHRcclxuICAgIHJldHVybiBmYWxzZTtc clxuICAgfVxyXG4iKTsNCiAgICAgIG91dC53cml0ZSgiICAgICBpZih0ZXN0c3VwPT0xIHx8IHRl c3RwZz09MSB8fCB0ZXN0Y3RyPT0xKXtyZXR1cm4gdHJ1ZTt9XHJcbn1cclxuXHJcbmZ1bmN0aW9u IGRvVmFsaWRhdGlvbigpe1xyXG4gIGlmIChpc01lc3NhZ2VTZWxlY3RlZCgpKSB7XHJcbiAgdmFy IGUgPSBkb2N1bWVudC5jYWxmb3JtLmVsZW1lbnRzO1xyXG4gIHZhciBmID0gZG9jdW1lbnQuY2Fs Zm9ybS5lbGVtZW50cztcclxuICB2YXIgZyA9IGRvY3VtZW50LmNhbGZvcm0uZWxlbWVudHM7XHJc blx0cmVzdWx0YXQgPSBjb25maXJtKCdDb25maXJtZXogPycpO1xyXG5cdGlmKHJlc3VsdGF0PT1c IjFcIil7XHJcblx0XHQvL2FsZXJ0KCdkb2N1bWVudC5jYWxmb3JtLnN1cHBab25lcy52YWx1ZT0g Jytkb2N1bWVudC5jYWxmb3JtLnN1cHBab25lcy52YWx1ZSk7XHJcblx0XHR0b2RvQWN0MygndmFs aWRlcicsJ3ZhbGlkYXRpb24nKTtcclxuXHR9XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBj bGVhckFsbChUeXBlQ2FzZSlcclxue1xyXG4gIHZhciBlID0gZG9jdW1lbnQuY2FsZm9ybS5lbGVt ZW50cztcclxuICBmb3IgKHZhciBpPTA7IGkgIik7DQogICAgICBvdXQud3JpdGUoIjwgZS5sZW5n dGg7IGkrKykgXHJcbiAgICBpZiAoZVtpXS5uYW1lID09IFR5cGVDYXNlKVxyXG4gICAgICBlW2ld LmNoZWNrZWQgPSBmYWxzZTtcclxufVxyXG5cclxuZnVuY3Rpb24gY2hlY2tBbGwoVHlwZUNhc2Up XHJcbntcclxuICB2YXIgZSA9IGRvY3VtZW50LmNhbGZvcm0uZWxlbWVudHM7XHJcbiAgZm9yICh2 YXIgaT0wOyBpICIpOw0KICAgICAgb3V0LndyaXRlKCI8IGUubGVuZ3RoOyBpKyspXHJcbiAgICBp ZiAoZVtpXS5uYW1lID09IFR5cGVDYXNlKVxyXG4gICAgICBlW2ldLmNoZWNrZWQgPSB0cnVlO1xy XG4gICAgIFxyXG59XHJcblxyXG5cclxuXHJcbiIpOw0KICAgICAgb3V0LndyaXRlKCI8L1NDUklQ VD5cclxuXHJcbiIpOw0KICAgICAgb3V0LndyaXRlKCI8Ym9keSAgY2xhc3M9XCJib2R5XCIgaWQ9 XCJib2R5d2FpdFwiIGxpbms9XCIjMDAwMDMzXCIgYWxpbms9XCIjOTk5OWZmXCIgdmxpbms9XCIj MDAwMDMzXCIgbGVmdG1hcmdpbj0wIG1hcmdpbndpZHRoPTAgdG9wbWFyZ2luPTEwIG1hcmdpbmhl aWdodD0xMD5cclxuXHJcbiIpOw0KICAgICAgb3V0LndyaXRlKCI8ZGl2IElEPVwid2FpdERpdlwi IHN0eWxlPVwicG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MDt0b3A6NTA7dmlzaWJpbGl0eTpoaWRk ZW5cIj5cclxuXHQiKTsNCiAgICAgIG91dC53cml0ZSgiPGNlbnRlcj5cclxuXHQiKTsNCiAgICAg IG91dC53cml0ZSgiPHA+Iik7DQogICAgICBvdXQud3JpdGUoIjxmb250IGNvbG9yPVwiIzAwMDAw MFwiIGZhY2U9XCJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmXCIgc2l6ZT1cIjNcIj4iKTsN CiAgICAgIG91dC53cml0ZSgiPGI+RmljaGllcnMgZW4gY291cnMgZGUgY2hhcmdlbWVudC4uLiIp Ow0KICAgICAgb3V0LndyaXRlKCI8L2I+Iik7DQogICAgICBvdXQud3JpdGUoIjwvcD5cclxuXHQi KTsNCiAgICAgIG91dC53cml0ZSgiPHA+Iik7DQogICAgICBvdXQud3JpdGUoIjxmb250IHNpemU9 XCIyXCI+TWVyY2kgZGUgcGF0aWVudGVyIik7DQogICAgICBvdXQud3JpdGUoIjwvZm9udD4iKTsN CiAgICAgIG91dC53cml0ZSgiPC9wPlxyXG5cdCIpOw0KICAgICAgb3V0LndyaXRlKCI8aW1nIHNy Yz1cIi4uL0ltYWdlcy9zYWJsaWVyLmdpZlwiPlxyXG5cdCIpOw0KICAgICAgb3V0LndyaXRlKCI8 L2NlbnRlcj5cclxuIik7DQogICAgICBvdXQud3JpdGUoIjwvZGl2PlxyXG4iKTsNCiAgICAgIG91 dC53cml0ZSgiPHNjcmlwdD5cclxuICIpOw0KICAgICAgb3V0LndyaXRlKCI8IS0tIFxyXG52YXIg REhUTUwgPSAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQgfHwgZG9jdW1lbnQuYWxsIHx8IGRvY3Vt ZW50LmxheWVycyk7XHJcbmZ1bmN0aW9uIGFwX2dldE9iaihuYW1lKSB7IGlmIChkb2N1bWVudC5n ZXRFbGVtZW50QnlJZCkgeyByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobmFtZSkuc3R5 bGU7IH0gZWxzZSBpZiAoZG9jdW1lbnQuYWxsKSB7IHJldHVybiBkb2N1bWVudC5hbGxbbmFtZV0u c3R5bGU7XHJcbn0gZWxzZSBpZiAoZG9jdW1lbnQubGF5ZXJzKSB7IHJldHVybiBkb2N1bWVudC5s YXllcnNbbmFtZV07IH0gfSBmdW5jdGlvbiBhcF9zaG93V2FpdE1lc3NhZ2UoZGl2LGZsYWcpICB7 IGlmICghREhUTUwpIHJldHVybjsgdmFyIHggPSBhcF9nZXRPYmooZGl2KTsgeC52aXNpYmlsaXR5 ID0gKGZsYWcpID8gJ3Zpc2libGUnOidoaWRkZW4nXHJcbmlmKCEgZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQpIGlmKGRvY3VtZW50LmxheWVycykgeC5sZWZ0PTI4MC8yOyByZXR1cm4gdHJ1ZTsgfSBh cF9zaG93V2FpdE1lc3NhZ2UoJ3dhaXREaXYnLCAxKTsgXHJcbiAvLy0tPlxyXG4iKTsNCiAgICAg IG91dC53cml0ZSgiPC9zY3JpcHQ+XHJcblxyXG4iKTsNCiAgICAgIG91dC53cml0ZSgiPEZPUk0g TkFNRT1cImNhbGZvcm1cIiBBQ1RJT049XCJcIiBNRVRIT0Q9UE9TVD5cclxuICAiKTsNCiAgICAg IG91dC53cml0ZSgiPElOUFVUIFRZUEU9SElEREVOIE5BTUU9XCJ0b2RvXCIgVkFMVUU9XCJcIj5c clxuICAiKTsNCiAgICAgIG91dC53cml0ZSgiPElOUFVUIFRZUEU9SElEREVOIE5BTUU9XCJtb2Rl XCIgVkFMVUU9XCJcIj5cclxuICAiKTsNCiAgICAgIG91dC53cml0ZSgiPElOUFVUIFRZUEU9SElE REVOIE5BTUU9XCJjbGVFbnRldGVDb250cmF0XCIgVkFMVUU9XCJcIj5cclxuICAiKTsNCiAgICAg IG91dC53cml0ZSgiPElOUFVUIFRZUEU9SElEREVOIE5BTUU9XCJ2YWxldXJFbnRldGVDb250cmF0 XCIgVkFMVUU9XCJcIj5cclxuICAiKTsNCiAgICAgIG91dC53cml0ZSgiPElOUFVUIFRZUEU9SElE REVOIE5BTUU9XCJyZWNoVHlwZVwiIFZBTFVFPVwiXCI+XHJcbiAgIik7DQogICAgICBvdXQud3Jp dGUoIjxJTlBVVCBUWVBFPUhJRERFTiBOQU1FPVwicmVjaENsZVwiIFZBTFVFPVwiXCI+XHJcbiAg Iik7DQogICAgICBvdXQud3JpdGUoIjxJTlBVVCBUWVBFPUhJRERFTiBOQU1FPVwicmVjaFZhbGV1 clwiIFZBTFVFPVwiXCI+XHJcbiAgIik7DQogICAgICBvdXQud3JpdGUoIjxJTlBVVCBUWVBFPUhJ RERFTiBOQU1FPVwic3VwcFpvbmVzXCIgVkFMVUU9XCJcIj4gICAgXHJcbiAgIik7DQogICAgICBv dXQud3JpdGUoIjxJTlBVVCBUWVBFPUhJRERFTiBOQU1FPVwicGdab25lc1wiIFZBTFVFPVwiXCI+ ICAgICBcclxuICAiKTsNCiAgICAgIG91dC53cml0ZSgiPElOUFVUIFRZUEU9SElEREVOIE5BTUU9 XCJjdHJab25lc1wiIFZBTFVFPVwiXCI+ICAgICBcclxuICBcclxuIik7DQogICAgICBvdXQud3Jp dGUoIjxkaXYgYWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgICAiKTsNCiAgICAgIG91dC53cml0 ZSgiPHRhYmxlIHdpZHRoPVwiOTglXCIgYm9yZGVyPTAgY2VsbHBhZGRpbmc9MSBjZWxsc3BhY2lu Zz0xPlxyXG4gICAgICAgICIpOw0KICAgICAgb3V0LndyaXRlKCI8dHI+XHJcblx0XHQiKTsNCiAg ICAgIG91dC53cml0ZSgiPHRkIGFsaWduPVwiY2VudGVyXCI+XHJcblx0XHRcdCIpOw0KICAgICAg b3V0LndyaXRlKCI8Zm9udCBmYWNlPVwidmVyZGFuYSx0YWhvbWEsaGVsdmV0aWNhXCIgY29sb3I9 XCIjMDAwMDAwXCIgc2l6ZT0xPlxyXG5cdFx0XHQiKTsNCiAgICAgIG91dC53cml0ZSgiPGEgaHJl Zj1qYXZhc2NyaXB0OmNvbnRyb2xlQ2hlY2tQRygpOz4iKTsNCiAgICAgIG91dC53cml0ZSgiPGZv bnQgY29sb3I9XCIjMDAwMDAwXCI+VG91dCIpOw0KICAgICAgb3V0LndyaXRlKCI8L2ZvbnQ+Iik7 DQogICAgICBvdXQud3JpdGUoIjwvYT4gLyAiKTsNCiAgICAgIG91dC53cml0ZSgiPGEgaHJlZj1q YXZhc2NyaXB0OmNvbnRyb2xlQ2hlY2tDdHIoKTs+Iik7DQogICAgICBvdXQud3JpdGUoIjxmb250 IGNvbG9yPVwiIzAwMDAwMFwiPlRvdXQiKTsNCiAgICAgIG91dC53cml0ZSgiPC9mb250PiIpOw0K ICAgICAgb3V0LndyaXRlKCI8L2E+Iik7DQogICAgICBvdXQud3JpdGUoIjxicj4gXHJcblx0XHRc dCIpOw0KICAgICAgb3V0LndyaXRlKCI8L2ZvbnQ+XHJcblx0XHQiKTsNCiAgICAgIG91dC53cml0 ZSgiPC90ZD5cclxuICAgICAgICBcdCIpOw0KICAgICAgb3V0LndyaXRlKCI8dGQgY29sc3Bhbj0z IGFsaWduPVwibGVmdD5cclxuXHRcdFx0Iik7DQogICAgICBvdXQud3JpdGUoIjxmb250IGZhY2U9 XCJ2ZXJkYW5hLHRhaG9tYSxoZWx2ZXRpY2FcIiBjb2xvcj1cIiMwMDAwMDBcIiBzaXplPTM+XHJc blx0XHRcdFx0Iik7DQogICAgICBvdXQud3JpdGUoIjx0YWJsZSBib3JkZXI9XCIwXCI+XHJcblx0 XHRcdFx0ICAgICIpOw0KICAgICAgb3V0LndyaXRlKCI8dHI+XHJcblx0XHRcdFx0ICAgICAgIik7 DQogICAgICBvdXQud3JpdGUoIjx0ZCBiZ2NvbG9yPVwiI0ZGRkZGRlwiPiIpOw0KICAgICAgb3V0 LndyaXRlKCI8Zm9udCBmYWNlPVwidmVyZGFuYSx0YWhvbWEsaGVsdmV0aWNhXCIgY29sb3I9XCIj MDAwMDAwXCIgc2l6ZT0xPiZuYnNwOyZuYnNwOyIpOw0KICAgICAgb3V0LndyaXRlKCI8L3RkPlxy XG5cdFx0XHRcdCAgICAgICIpOw0KICAgICAgb3V0LndyaXRlKCI8dGQ+Iik7DQogICAgICBvdXQu d3JpdGUoIjxmb250IGZhY2U9XCJ2ZXJkYW5hLHRhaG9tYSxoZWx2ZXRpY2FcIiBjb2xvcj1cIiMw MDAwMDBcIiBzaXplPTE+IENvbnRyYXQgQWN0aWYmbmJzcDsmbmJzcDsiKTsNCiAgICAgIG91dC53 cml0ZSgiPC90ZD5cclxuXHRcdFx0XHQgICAgICAiKTsNCiAgICAgIG91dC53cml0ZSgiPHRkIGJn Y29sb3I9XCIjQ0NDQ0ZGXCI+Iik7DQogICAgICBvdXQud3JpdGUoIjxmb250IGZhY2U9XCJ2ZXJk YW5hLHRhaG9tYSxoZWx2ZXRpY2FcIiBjb2xvcj1cIiMwMDAwMDBcIiBzaXplPTE+Jm5ic3A7Jm5i c3A7Iik7DQogICAgICBvdXQud3JpdGUoIjwvdGQ+XHJcblx0XHRcdFx0ICAgICAgIik7DQogICAg ICBvdXQud3JpdGUoIjx0ZD4iKTsNCiAgICAgIG91dC53cml0ZSgiPGZvbnQgZmFjZT1cInZlcmRh bmEsdGFob21hLGhlbHZldGljYVwiIGNvbG9yPVwiIzAwMDAwMFwiIHNpemU9MT4gQ29udHJhdCBW YWxpZMOpIik7DQogICAgICBvdXQud3JpdGUoIjwvdGQ+XHJcblx0XHRcdFx0ICAgICIpOw0KICAg ICAgb3V0LndyaXRlKCI8L3RyPlxyXG5cdFx0XHRcdCIpOw0KICAgICAgb3V0LndyaXRlKCI8L3Rh YmxlPlxyXG5cdFx0XHQiKTsNCiAgICAgIG91dC53cml0ZSgiPC9mb250PiAgICAgICAgXHRcclxu ICAgICAgICBcdCIpOw0KICAgICAgb3V0LndyaXRlKCI8L3RkPlx0XHRcclxuICAgICAgICBcdCIp Ow0KICAgICAgb3V0LndyaXRlKCI8dGQgY29sc3Bhbj00IGFsaWduPVwibGVmdFwiPiAmbmJzcDsm bmJzcDsgJm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDtcclxuXHRcdFx0XHQi KTsNCiAgICAgIG91dC53cml0ZSgiPGlucHV0IGNsYXNzPVwiYnV0dG9uXCIgdHlwZT1cImJ1dHRv blwiIG5hbWU9XCJiVmhcIiB2YWx1ZT1cIiAgIFZhbGlkZXIgICBcIiBvbmNsaWNrPVwiZGVtbygp OyBkb1ZhbGlkYXRpb24oKVwiPlxyXG4gICAgICAgIFx0Iik7DQogICAgICBvdXQud3JpdGUoIjwv dGQ+XHJcblx0XHQiKTsNCiAgICAgIG91dC53cml0ZSgiPHRkIGFsaWduPVwiY2VudGVyXCI+XHJc blx0XHRcdCIpOw0KICAgICAgb3V0LndyaXRlKCI8Zm9udCBmYWNlPVwidmVyZGFuYSx0YWhvbWEs aGVsdmV0aWNhXCIgY29sb3I9XCIjMDAwMDAwXCIgc2l6ZT0xPlxyXG5cdFx0XHRcdCIpOw0KICAg ICAgb3V0LndyaXRlKCI8YSBocmVmPWphdmFzY3JpcHQ6Y29udHJvbGVDaGVja1N1cHAoKTs+Iik7 DQogICAgICBvdXQud3JpdGUoIjxmb250IGNvbG9yPVwiIzAwMDAwMFwiPlRvdXQiKTsNCiAgICAg IG91dC53cml0ZSgiPC9mb250PiIpOw0KICAgICAgb3V0LndyaXRlKCI8L2E+XHJcblx0XHRcdCIp Ow0KICAgICAgb3V0LndyaXRlKCI8L2ZvbnQ+XHJcblx0XHQiKTsNCiAgICAgIG91dC53cml0ZSgi PC90ZD5cclxuICAgICAgICAiKTsNCiAgICAgIG91dC53cml0ZSgiPC90cj5cdFx0XHJcblx0ICAg ICIpOw0KICAgICAgb3V0LndyaXRlKCI8dHI+Iik7DQogICAgICBvdXQud3JpdGUoIjx0ZCBjb2xz cGFuPTg+Iik7DQogICAgICBvdXQud3JpdGUoIjwvdGQ+Iik7DQogICAgICBvdXQud3JpdGUoIjwv dHI+XHQgIFxyXG4gICAgICAgICIpOw0KICAgICAgb3V0LndyaXRlKCI8VFI+XHJcblx0XHRcdCIp Ow0KICAgICAgb3V0LndyaXRlKCI8dGQgY2xhc3M9XCJ0YWJsZTFcIiB2YWxpZ249XCJib3R0b21c Ij4iKTsNCiAgICAgIG91dC53cml0ZSgiPGZvbnQgY2xhc3M9XCJmb250YlwiIGNvbG9yPVwiI0ZG RkZGRlwiID4iKTsNCiAgICAgIG91dC53cml0ZSgiPGI+RWRpdGlvbiIpOw0KICAgICAgb3V0Lndy aXRlKCI8YnI+UC5HLi9DdHIuIik7DQogICAgICBvdXQud3JpdGUoIjwvdGQ+XHJcbiAgICAgICAg XHQiKTsNCiAgICAgIG91dC53cml0ZSgiPHRkIGNsYXNzPVwidGFibGUxXCIgdmFsaWduPVwiYm90 dG9tXCI+Iik7DQogICAgICBvdXQud3JpdGUoIjxmb250IGNsYXNzPVwiZm9udGJcIiBjb2xvcj1c IiNGRkZGRkZcIiA+Iik7DQogICAgICBvdXQud3JpdGUoIjxiPk7CsCIpOw0KICAgICAgb3V0Lndy aXRlKCI8YnI+Q3RyLiIpOw0KICAgICAgb3V0LndyaXRlKCI8L2ZvbnQ+Iik7DQogICAgICBvdXQu d3JpdGUoIjwvdGQ+XHJcbiAgICAgICAgXHQiKTsNCiAgICAgIG91dC53cml0ZSgiPHRkIGNsYXNz PVwidGFibGUxXCIgdmFsaWduPVwiYm90dG9tXCI+Iik7DQogICAgICBvdXQud3JpdGUoIjxmb250 IGNsYXNzPVwiZm9udGJcIiBjb2xvcj1cIiNGRkZGRkZcIiA+Iik7DQogICAgICBvdXQud3JpdGUo IjxiPlR5cGUiKTsNCiAgICAgIG91dC53cml0ZSgiPC90ZD5cclxuICAgICAgICBcdCIpOw0KICAg ICAgb3V0LndyaXRlKCI8dGQgY2xhc3M9XCJ0YWJsZTFcIiB2YWxpZ249XCJib3R0b21cIj4iKTsN CiAgICAgIG91dC53cml0ZSgiPGZvbnQgY2xhc3M9XCJmb250YlwiIGNvbG9yPVwiI0ZGRkZGRlwi ID4iKTsNCiAgICAgIG91dC53cml0ZSgiPGI+RGF0ZSIpOw0KICAgICAgb3V0LndyaXRlKCI8L3Rk PlxyXG4gICAgICAgICAgIFx0Iik7DQogICAgICBvdXQud3JpdGUoIjx0ZCBjbGFzcz1cInRhYmxl MVwiIHZhbGlnbj1cImJvdHRvbVwiPiIpOw0KICAgICAgb3V0LndyaXRlKCI8Zm9udCBjbGFzcz1c ImZvbnRiXCIgY29sb3I9XCIjRkZGRkZGXCIgPiIpOw0KICAgICAgb3V0LndyaXRlKCI8Yj5UaWVy cyIpOw0KICAgICAgb3V0LndyaXRlKCI8L3RkPlxyXG5cdFx0XHQiKTsNCiAgICAgIG91dC53cml0 ZSgiPHRkIGNsYXNzPVwidGFibGUxXCIgdmFsaWduPVwiYm90dG9tXCI+Iik7DQogICAgICBvdXQu d3JpdGUoIjxmb250IGNsYXNzPVwiZm9udGJcIiBjb2xvcj1cIiNGRkZGRkZcIiA+Iik7DQogICAg ICBvdXQud3JpdGUoIjxiPlF0ZSAodG0pIik7DQogICAgICBvdXQud3JpdGUoIjwvdGQ+XHJcblx0 XHRcdCIpOw0KICAgICAgb3V0LndyaXRlKCI8dGQgY2xhc3M9XCJ0YWJsZTFcIiB2YWxpZ249XCJi b3R0b21cIj4iKTsNCiAgICAgIG91dC53cml0ZSgiPGZvbnQgY2xhc3M9XCJmb250YlwiIGNvbG9y PVwiI0ZGRkZGRlwiID4iKTsNCiAgICAgIG91dC53cml0ZSgiPGI+UmVjb2x0ZSIpOw0KICAgICAg b3V0LndyaXRlKCI8L3RkPlxyXG5cdFx0XHQiKTsNCiAgICAgIG91dC53cml0ZSgiPHRkIGNsYXNz PVwidGFibGUxXCIgdmFsaWduPVwiYm90dG9tXCI+Iik7DQogICAgICBvdXQud3JpdGUoIjxmb250 IGNsYXNzPVwiZm9udGJcIiBjb2xvcj1cIiNGRkZGRkZcIiA+Iik7DQogICAgICBvdXQud3JpdGUo IjxiPlByb2R1aXQiKTsNCiAgICAgIG91dC53cml0ZSgiPC90ZD5cclxuXHRcdFx0Iik7DQogICAg ICBvdXQud3JpdGUoIjx0ZCBjbGFzcz1cInRhYmxlMVwiIHZhbGlnbj1cImJvdHRvbVwiPiIpOw0K ICAgICAgb3V0LndyaXRlKCI8dGFibGUgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiPiIp Ow0KICAgICAgb3V0LndyaXRlKCI8dHI+Iik7DQogICAgICBvdXQud3JpdGUoIjx0ZCB3aWR0aD1c IjEwMCVcIj4iKTsNCiAgICAgIG91dC53cml0ZSgiPGZvbnQgY2xhc3M9XCJmb250YlwiIGNvbG9y PVwiI0ZGRkZGRlwiID4iKTsNCiAgICAgIG91dC53cml0ZSgiPGI+T3B0aW9ucyIpOw0KICAgICAg b3V0LndyaXRlKCI8L3RkPiIpOw0KICAgICAgb3V0LndyaXRlKCI8L3RyPlxyXG5cdFx0XHQiKTsN CiAgICAgIG91dC53cml0ZSgiPHRyPiIpOw0KICAgICAgb3V0LndyaXRlKCI8dGQgYWxpZ249XCJj ZW50ZXJcIiB3aWR0aD1cIjEwMCVcIj4iKTsNCiAgICAgIG91dC53cml0ZSgiPGZvbnQgY2xhc3M9 XCJmb250YlwiIGNvbG9yPVwiI0ZGRkZGRlwiPiIpOw0KICAgICAgb3V0LndyaXRlKCI8Yj5WaXN1 Li9TdXBwLiIpOw0KICAgICAgb3V0LndyaXRlKCI8L3RkPiIpOw0KICAgICAgb3V0LndyaXRlKCI8 L3RyPiIpOw0KICAgICAgb3V0LndyaXRlKCI8L3RhYmxlPiIpOw0KICAgICAgb3V0LndyaXRlKCI8 L3RkPlxyXG5cdFx0Iik7DQogICAgICBvdXQud3JpdGUoIjwvVFI+XHJcbiIpOw0KDQogICAgaW50 IENvbXB0ZXVyID0gMDsNCnRyeSB7DQogICAgU3RyaW5nIENvbG9yVGFibGU9IiI7DQoJd2hpbGUo ZS5oYXNNb3JlRWxlbWVudHMoKSkgew0KCQl2ZWN0ID0gKFZlY3RvcillLm5leHRFbGVtZW50KCk7 IA0KCQkNCgkJaWYgKEZJRUNPTkpWMS5nZXRDT05TVEEodmVjdCkuZXF1YWxzKCJWIikpew0KCQkJ Q29sb3JUYWJsZT0iI0NDQ0NGRiI7DQoJCX1lbHNlew0KCQkJQ29sb3JUYWJsZT0iI0ZGRkZGRiI7 DQoJCX0NCgkJQ29tcHRldXIgPSAxOw0KCQkgICAgICBvdXQud3JpdGUoIlxyXG4gICAgICAgXHQg ICAgICIpOw0KICAgICAgb3V0LndyaXRlKCI8VFIgQUxJR049Q0VOVEVSIFZBTElHTj1NSURETEU+ XHJcbiAgICAgICAgICAgICAgICAgICAgIik7DQogICAgICBvdXQud3JpdGUoIjxURCBCR0NPTE9S PVwiIik7DQogICAgICBvdXQucHJpbnQoQ29sb3JUYWJsZSk7DQogICAgICBvdXQud3JpdGUoIlwi IEFMSUdOPUNFTlRFUj4iKTsNCiAgICAgIG91dC53cml0ZSgiPGZvbnQgY2xhc3M9XCJmb250ZFwi IGNvbG9yPSMwMDAwNjY+Iik7DQogICAgICBvdXQud3JpdGUoIjxpbnB1dCB0eXBlPVwiY2hlY2ti b3hcIiBuYW1lPVwibXNnaWRbXVBHXCIgdmFsdWU9XCIiKTsNCiAgICAgIG91dC5wcmludChGSUVD T05KVjEuZ2V0Q09OTlVNKHZlY3QpKTsNCiAgICAgIG91dC53cml0ZSgiXCIgc3R5bGU9XCJmb250 OiB4eC1zbWFsbFwiPiZuYnNwOyZuYnNwOyIpOw0KICAgICAgb3V0LndyaXRlKCI8aW5wdXQgdHlw ZT1cImNoZWNrYm94XCIgbmFtZT1cIm1zZ2lkW11DdHJcIiB2YWx1ZT1cIiIpOw0KICAgICAgb3V0 LnByaW50KEZJRUNPTkpWMS5nZXRDT05OVU0odmVjdCkpOw0KICAgICAgb3V0LndyaXRlKCJcIiBz dHlsZT1cImZvbnQ6IHh4LXNtYWxsXCI+Iik7DQogICAgICBvdXQud3JpdGUoIjwvVEQ+ICAgICAg ICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAiKTsNCiAgICAgIG91dC53cml0 ZSgiPFREIEJHQ09MT1I9XCIiKTsNCiAgICAgIG91dC5wcmludChDb2xvclRhYmxlKTsNCiAgICAg IG91dC53cml0ZSgiXCIgQUxJR049Q0VOVEVSPlxyXG5cdFx0XHRcdFx0Iik7DQogICAgICBvdXQu d3JpdGUoIjx0YWJsZSBXSURUSD1cIjEwMCVcIj4iKTsNCiAgICAgIG91dC53cml0ZSgiPHRyPlxy XG5cdFx0XHRcdFx0Iik7DQogICAgICBvdXQud3JpdGUoIjx0ZCBjbGFzcz1cImNhY2hlckJvdXRv bjFcIj4iKTsNCiAgICAgIG91dC53cml0ZSgiPGEgY2xhc3M9XCJsaWVuQVwiIG9uY2xpY2s9XCJk ZW1vKCk7XCIgaHJlZj1cImphdmFzY3JpcHQ6dG9kb0FjdDEoJ21vZGlmaWNhdGlvbnMnLCAiKTsN CiAgICAgIG91dC5wcmludChGSUVDT05KVjEuZ2V0Q09OTlVNKHZlY3QpKTsNCiAgICAgIG91dC53 cml0ZSgiKVwiPiIpOw0KICAgICAgb3V0LndyaXRlKCI8Yj4iKTsNCiAgICAgIG91dC5wcmludChG SUVDT05KVjEuZ2V0Q09OTlVNKHZlY3QpKTsNCiAgICAgIG91dC53cml0ZSgiPC9iPiIpOw0KICAg ICAgb3V0LndyaXRlKCI8L0E+Iik7DQogICAgICBvdXQud3JpdGUoIjwvdGQ+XHJcblx0XHRcdFx0 XHQiKTsNCiAgICAgIG91dC53cml0ZSgiPHRkIGNsYXNzPVwiY2FjaGVyQm91dG9uMlwiPiIpOw0K ICAgICAgb3V0LndyaXRlKCI8Zm9udCBjbGFzcz1cImZvbnRkXCIgY29sb3I9IzAwMDA2Nj4iKTsN CiAgICAgIG91dC53cml0ZSgiPGI+Iik7DQogICAgICBvdXQucHJpbnQoRklFQ09OSlYxLmdldENP Tk5VTSh2ZWN0KSk7DQogICAgICBvdXQud3JpdGUoIjwvYj4iKTsNCiAgICAgIG91dC53cml0ZSgi PC90ZD5cclxuXHRcdFx0XHRcdCIpOw0KICAgICAgb3V0LndyaXRlKCI8L3RyPiIpOw0KICAgICAg b3V0LndyaXRlKCI8L3RhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICIpOw0KICAgICAgb3V0 LndyaXRlKCI8L1REPlxyXG4gICAgICAgICAgICAgICAgICAgICIpOw0KICAgICAgb3V0LndyaXRl KCI8VEQgQkdDT0xPUj1cIiIpOw0KICAgICAgb3V0LnByaW50KENvbG9yVGFibGUpOw0KICAgICAg b3V0LndyaXRlKCJcIiBBTElHTj1MRUZUPiIpOw0KICAgICAgb3V0LndyaXRlKCI8Zm9udCBjbGFz cz1cImZvbnRkXCIgY29sb3I9IzAwMDA2Nj5cclxuXHJcblx0XHRcdCIpOw0KICAgICAgSnNwUnVu dGltZUxpYnJhcnkuaW5jbHVkZShyZXF1ZXN0LCByZXNwb25zZSwgIi4uL0xpc3RlRGVyb3VsYW50 ZS9MaXN0ZURlcm91bGFudGVfUFRZUEVDT05ULmpzcCIgKyAiPyIgKyAiYWZmaWNoYWdlPSIgKyAi MiIgKyAiJiIgKyAidmFsZXVyPSIgKyBqYXZhLm5ldC5VUkxFbmNvZGVyLmVuY29kZShGSUVDT05K VjEuZ2V0Q09OVENPKHZlY3QpKSArICImIiArICJ6b25lUmV0b3VyPSIgKyAiUFRZUEVDT05UIiAr ICImIiArICJmb3JtdWxhaXJlPSIgKyAiY2FsZm9ybSIgKyAiJiIgKyAicG9zaXRpb249IiArICJ0 ZXh0IiArICImIiArICJzY3JpcHQ9IiArICIrIiArICImIiArICJzdHlsZUNsYXNzPSIgKyAic2Vs ZWN0Iiwgb3V0LCB0cnVlKTsNCiAgICAgIG91dC53cml0ZSgiXHRcdFx0XHJcblx0XHRcdFxyXG4g ICAgICAgICAgICAgICAgICAgICIpOw0KICAgICAgb3V0LndyaXRlKCI8L0ZPTlQ+Iik7DQogICAg ICBvdXQud3JpdGUoIjwvVEQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIik7DQogICAgICBvdXQu d3JpdGUoIjxURCBCR0NPTE9SPVwiIik7DQogICAgICBvdXQucHJpbnQoQ29sb3JUYWJsZSk7DQog ICAgICBvdXQud3JpdGUoIlwiPiIpOw0KICAgICAgb3V0LndyaXRlKCI8Zm9udCBjbGFzcz1cImZv bnRkXCIgY29sb3I9IzAwMDA2Nj4iKTsNCiAgICAgIG91dC5wcmludChGSUVDT05KVjEuZ2V0Q09O REFUKHZlY3QpLnN1YnN0cmluZyg2LDgpKTsNCiAgICAgIG91dC53cml0ZSgiLyIpOw0KICAgICAg b3V0LnByaW50KEZJRUNPTkpWMS5nZXRDT05EQVQodmVjdCkuc3Vic3RyaW5nKDQsNikpOw0KICAg ICAgb3V0LndyaXRlKCIvIik7DQogICAgICBvdXQucHJpbnQoRklFQ09OSlYxLmdldENPTkRBVCh2 ZWN0KS5zdWJzdHJpbmcoMCw0KSk7DQogICAgICBvdXQud3JpdGUoIjwvRk9OVD4iKTsNCiAgICAg IG91dC53cml0ZSgiPC9URD5cclxuICAgICAgICAgICAgICAgICAgICAiKTsNCiAgICAgIG91dC53 cml0ZSgiPFREIEJHQ09MT1I9XCIiKTsNCiAgICAgIG91dC5wcmludChDb2xvclRhYmxlKTsNCiAg ICAgIG91dC53cml0ZSgiXCIgQUxJR049TEVGVD4iKTsNCiAgICAgIG91dC53cml0ZSgiPGZvbnQg Y2xhc3M9XCJmb250ZFwiIGNvbG9yPSMwMDAwNjY+XHJcblxyXG5cdFx0XHQiKTsNCiAgICAgIEpz cFJ1bnRpbWVMaWJyYXJ5LmluY2x1ZGUocmVxdWVzdCwgcmVzcG9uc2UsICIuLi9MaXN0ZURlcm91 bGFudGUvTGlzdGVEZXJvdWxhbnRlX1RJRVJTLmpzcCIgKyAiPyIgKyAiYWZmaWNoYWdlPSIgKyAi MiIgKyAiJiIgKyAidmFsZXVyPSIgKyBqYXZhLm5ldC5VUkxFbmNvZGVyLmVuY29kZShGSUVDT05K VjEuZ2V0Q09OVElFKHZlY3QpKSArICImIiArICJ6b25lUmV0b3VyPSIgKyAiVElFUlMiICsgIiYi ICsgImZvcm11bGFpcmU9IiArICJjYWxmb3JtIiArICImIiArICJwb3NpdGlvbj0iICsgInRleHQi ICsgIiYiICsgInNjcmlwdD0iICsgIisiICsgIiYiICsgInR5cGVUaWVycz0iICsgIisiICsgIiYi ICsgInN0eWxlQ2xhc3M9IiArICJzZWxlY3QiLCBvdXQsIHRydWUpOw0KICAgICAgb3V0LndyaXRl KCJcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAiKTsNCiAg ICAgIG91dC53cml0ZSgiPC9GT05UPiIpOw0KICAgICAgb3V0LndyaXRlKCI8L1REPlxyXG4gICAg ICAgICAgICAgICAgICAgICIpOw0KICAgICAgb3V0LndyaXRlKCI8VEQgQkdDT0xPUj1cIiIpOw0K ICAgICAgb3V0LnByaW50KENvbG9yVGFibGUpOw0KICAgICAgb3V0LndyaXRlKCJcIiBBTElHTj1S SUdIVD4iKTsNCiAgICAgIG91dC53cml0ZSgiPGZvbnQgY2xhc3M9XCJmb250ZFwiIGNvbG9yPSMw MDAwNjY+Iik7DQpTdHJpbmcgUXRlMSA9ICIiK0ZJRUNPTkpWMS5nZXRDT05RVUModmVjdCk7aW50 IGxvbmd1ZXVyRGVjaW1hbGUgPSBRdGUxLmluZGV4T2YoJy4nKTtpZiAoKFF0ZTEuc3Vic3RyaW5n KGxvbmd1ZXVyRGVjaW1hbGUsIFF0ZTEubGVuZ3RoKCkpKS5sZW5ndGgoKTwzKVF0ZTEgPSBRdGUx KyIwIjtpZiAoKFF0ZTEuc3Vic3RyaW5nKGxvbmd1ZXVyRGVjaW1hbGUsIFF0ZTEubGVuZ3RoKCkp KS5sZW5ndGgoKTw0KVF0ZTEgPSBRdGUxKyIwIjsgICAgICBvdXQucHJpbnQoUXRlMSk7DQogICAg ICBvdXQud3JpdGUoIjwvRk9OVD4iKTsNCiAgICAgIG91dC53cml0ZSgiPC9URD5cclxuICAgICAg ICAgICAgICAgICAgICAiKTsNCiAgICAgIG91dC53cml0ZSgiPFREIEJHQ09MT1I9XCIiKTsNCiAg ICAgIG91dC5wcmludChDb2xvclRhYmxlKTsNCiAgICAgIG91dC53cml0ZSgiXCIgQUxJR049Q0VO VEVSPiIpOw0KICAgICAgb3V0LndyaXRlKCI8Zm9udCBjbGFzcz1cImZvbnRkXCIgY29sb3I9IzAw MDA2Nj5cclxuXHJcblx0XHRcdCIpOw0KICAgICAgSnNwUnVudGltZUxpYnJhcnkuaW5jbHVkZShy ZXF1ZXN0LCByZXNwb25zZSwgIi4uL0xpc3RlRGVyb3VsYW50ZS9MaXN0ZURlcm91bGFudGVfUFJF Q09MVEVTLmpzcCIgKyAiPyIgKyAiYWZmaWNoYWdlPSIgKyAiMiIgKyAiJiIgKyAidmFsZXVyPSIg KyBqYXZhLm5ldC5VUkxFbmNvZGVyLmVuY29kZShGSUVDT05KVjEuZ2V0Q09OQ0FNKHZlY3QpKSAr ICImIiArICJ6b25lUmV0b3VyPSIgKyAiUFJFQ09MVEVTIiArICImIiArICJmb3JtdWxhaXJlPSIg KyAiY2FsZm9ybSIgKyAiJiIgKyAicG9zaXRpb249IiArICJ0ZXh0IiArICImIiArICJzY3JpcHQ9 IiArICIrIiArICImIiArICJzdHlsZUNsYXNzPSIgKyAic2VsZWN0Iiwgb3V0LCB0cnVlKTsNCiAg ICAgIG91dC53cml0ZSgiXHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAg ICAgICAgIik7DQogICAgICBvdXQud3JpdGUoIjwvRk9OVD4iKTsNCiAgICAgIG91dC53cml0ZSgi PC9URD5cclxuICAgICAgICAgICAgICAgICAgICAiKTsNCiAgICAgIG91dC53cml0ZSgiPFREIEJH Q09MT1I9XCIiKTsNCiAgICAgIG91dC5wcmludChDb2xvclRhYmxlKTsNCiAgICAgIG91dC53cml0 ZSgiXCIgQUxJR049TEVGVD4iKTsNCiAgICAgIG91dC53cml0ZSgiPGZvbnQgY2xhc3M9XCJmb250 ZFwiIGNvbG9yPSMwMDAwNjY+XHJcblxyXG5cdFx0XHQiKTsNCiAgICAgIEpzcFJ1bnRpbWVMaWJy YXJ5LmluY2x1ZGUocmVxdWVzdCwgcmVzcG9uc2UsICIuLi9MaXN0ZURlcm91bGFudGUvTGlzdGVE ZXJvdWxhbnRlX1BST0RVSVQuanNwIiArICI/IiArICJhZmZpY2hhZ2U9IiArICIyIiArICImIiAr ICJ2YWxldXI9IiArIGphdmEubmV0LlVSTEVuY29kZXIuZW5jb2RlKEZJRUNPTkpWMS5nZXRDT05Q Uk8odmVjdCkpICsgIiYiICsgInpvbmVSZXRvdXI9IiArICJQUk9EVUlUIiArICImIiArICJmb3Jt dWxhaXJlPSIgKyAiY2FsZm9ybSIgKyAiJiIgKyAicG9zaXRpb249IiArICJ0ZXh0IiArICImIiAr ICJzY3JpcHQ9IiArICIrIiArICImIiArICJmYW1pbGxlPSIgKyAiKyIgKyAiJiIgKyAic3R5bGVD bGFzcz0iICsgInNlbGVjdCIsIG91dCwgdHJ1ZSk7DQogICAgICBvdXQud3JpdGUoIlxyXG4gICAg ICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgIik7DQogICAgICBvdXQud3Jp dGUoIjwvRk9OVD4iKTsNCiAgICAgIG91dC53cml0ZSgiPC9URD5cclxuICAgICAgICAgICAgICAg ICAgICAiKTsNCiAgICAgIG91dC53cml0ZSgiPFREIEJHQ09MT1I9XCIiKTsNCiAgICAgIG91dC5w cmludChDb2xvclRhYmxlKTsNCiAgICAgIG91dC53cml0ZSgiXCIgQUxJR049Q0VOVEVSIFZBTElH Tj1NSURETEU+XHJcbiAgICAgICAgICAgICAgICAgICAgXHQiKTsNCiAgICAgIG91dC53cml0ZSgi PGZvbnQgY2xhc3M9XCJmb250ZFwiIGNvbG9yPSMwMDAwNjY+Iik7DQogICAgICBvdXQud3JpdGUo IjxhIGhyZWY9XCJqYXZhc2NyaXB0OiB0b2RvQWN0MSgndmlzdWFsaXNhdGlvbicsICIpOw0KICAg ICAgb3V0LnByaW50KEZJRUNPTkpWMS5nZXRDT05OVU0odmVjdCkpOw0KICAgICAgb3V0LndyaXRl KCIpO1wiIHN0eWxlPVwidGV4dC1kZWNvcmF0aW9uOiBub25lO1wiPiIpOw0KICAgICAgb3V0Lndy aXRlKCI8Zm9udCBjb2xvcj1cIiMzMzMzOTlcIiBmYWNlPVwiV2ViZGluZ3NcIiBzaXplPVwiNFwi Pk4iKTsNCiAgICAgIG91dC53cml0ZSgiPC9mb250PiIpOw0KICAgICAgb3V0LndyaXRlKCI8L2E+ IC8gIik7DQogICAgICBvdXQud3JpdGUoIjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBuYW1lPVwi bXNnaWRbXVN1cHBcIiB2YWx1ZT1cIiIpOw0KICAgICAgb3V0LnByaW50KEZJRUNPTkpWMS5nZXRD T05OVU0odmVjdCkpOw0KICAgICAgb3V0LndyaXRlKCJcIiBzdHlsZT1cImZvbnQ6IHh4LXNtYWxs XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIik7DQogICAgICBvdXQud3JpdGUoIjwvVEQ+XHJc biAgICAgICBcdCAgICAiKTsNCiAgICAgIG91dC53cml0ZSgiPC9UUj5cclxuICAgICAgIFx0ICAg IFxyXG4iKTsNCgkgIHZlY3QucmVtb3ZlQWxsRWxlbWVudHMoKTsNCgl9DQoJZSA9IG51bGw7DQoJ RklFQ09OSlYxID0gbnVsbDsNCglGSUVDT05KVjFTLnJlbW92ZUFsbEVsZW1lbnRzKCk7DQp9Y2F0 Y2goRXhjZXB0aW9uIHQpe30NCiAgICAgIG91dC53cml0ZSgiXHQiKTsNCiBpZiAoQ29tcHRldXI9 PTApeyAgICAgIG91dC53cml0ZSgiXHJcblx0Iik7DQogICAgICBvdXQud3JpdGUoIjx0cj4iKTsN CiAgICAgIG91dC53cml0ZSgiPHRkIGNvbHNwYW49OD4iKTsNCiAgICAgIG91dC53cml0ZSgiPGZv bnQgY2xhc3M9XCJmb250ZFwiIGNvbG9yPSMwMDAwNjY+KEF1Y3VuIGVucmVnaXN0cmVtZW50IG5l IHLDqXBvbmQgYXV4IGNyaXTDqHJlcykiKTsNCiAgICAgIG91dC53cml0ZSgiPC90ZD4iKTsNCiAg ICAgIG91dC53cml0ZSgiPC90cj5cclxuXHQiKTsNCn0gICAgICBvdXQud3JpdGUoIlxyXG5cdCIp Ow0KICAgICAgb3V0LndyaXRlKCI8dHI+Iik7DQogICAgICBvdXQud3JpdGUoIjx0ZCBjb2xzcGFu PTg+Iik7DQogICAgICBvdXQud3JpdGUoIjwvdGQ+Iik7DQogICAgICBvdXQud3JpdGUoIjwvdHI+ XHQgIFxyXG4gICAgICAgICIpOw0KICAgICAgb3V0LndyaXRlKCI8dHI+XHJcblx0XHQiKTsNCiAg ICAgIG91dC53cml0ZSgiPHRkIGFsaWduPVwiY2VudGVyXCI+XHJcblx0XHRcdCIpOw0KICAgICAg b3V0LndyaXRlKCI8Zm9udCBmYWNlPVwidmVyZGFuYSx0YWhvbWEsaGVsdmV0aWNhXCIgY29sb3I9 XCIjMDAwMDAwXCIgc2l6ZT0xPlxyXG5cdFx0XHQiKTsNCiAgICAgIG91dC53cml0ZSgiPGEgaHJl Zj1qYXZhc2NyaXB0OmNvbnRyb2xlQ2hlY2tQRygpOz4iKTsNCiAgICAgIG91dC53cml0ZSgiPGZv bnQgY29sb3I9XCIjMDAwMDAwXCI+VG91dCIpOw0KICAgICAgb3V0LndyaXRlKCI8L2ZvbnQ+Iik7 DQogICAgICBvdXQud3JpdGUoIjwvYT4gLyAiKTsNCiAgICAgIG91dC53cml0ZSgiPGEgaHJlZj1q YXZhc2NyaXB0OmNvbnRyb2xlQ2hlY2tDdHIoKTs+Iik7DQogICAgICBvdXQud3JpdGUoIjxmb250 IGNvbG9yPVwiIzAwMDAwMFwiPlRvdXQiKTsNCiAgICAgIG91dC53cml0ZSgiPC9mb250PiIpOw0K ICAgICAgb3V0LndyaXRlKCI8L2E+Iik7DQogICAgICBvdXQud3JpdGUoIjxicj4gXHJcblx0XHRc dCIpOw0KICAgICAgb3V0LndyaXRlKCI8L2ZvbnQ+XHJcblx0XHQiKTsNCiAgICAgIG91dC53cml0 ZSgiPC90ZD5cclxuICAgICAgICBcdCIpOw0KICAgICAgb3V0LndyaXRlKCI8dGQgY29sc3Bhbj0z IGFsaWduPVwibGVmdD5cclxuXHRcdFx0Iik7DQogICAgICBvdXQud3JpdGUoIjxmb250IGZhY2U9 XCJ2ZXJkYW5hLHRhaG9tYSxoZWx2ZXRpY2FcIiBjb2xvcj1cIiMwMDAwMDBcIiBzaXplPTM+XHJc blx0XHRcdFx0Iik7DQogICAgICBvdXQud3JpdGUoIjx0YWJsZSBib3JkZXI9XCIwXCI+XHJcblx0 XHRcdFx0ICAgICIpOw0KICAgICAgb3V0LndyaXRlKCI8dHI+XHJcblx0XHRcdFx0ICAgICAgIik7 DQogICAgICBvdXQud3JpdGUoIjx0ZCBiZ2NvbG9yPVwiI0ZGRkZGRlwiPiIpOw0KICAgICAgb3V0 LndyaXRlKCI8Zm9udCBmYWNlPVwidmVyZGFuYSx0YWhvbWEsaGVsdmV0aWNhXCIgY29sb3I9XCIj MDAwMDAwXCIgc2l6ZT0xPiZuYnNwOyZuYnNwOyIpOw0KICAgICAgb3V0LndyaXRlKCI8L3RkPlxy XG5cdFx0XHRcdCAgICAgICIpOw0KICAgICAgb3V0LndyaXRlKCI8dGQ+Iik7DQogICAgICBvdXQu d3JpdGUoIjxmb250IGZhY2U9XCJ2ZXJkYW5hLHRhaG9tYSxoZWx2ZXRpY2FcIiBjb2xvcj1cIiMw MDAwMDBcIiBzaXplPTE+IENvbnRyYXQgQWN0aWYmbmJzcDsmbmJzcDsiKTsNCiAgICAgIG91dC53 cml0ZSgiPC90ZD5cclxuXHRcdFx0XHQgICAgICAiKTsNCiAgICAgIG91dC53cml0ZSgiPHRkIGJn Y29sb3I9XCIjQ0NDQ0ZGXCI+Iik7DQogICAgICBvdXQud3JpdGUoIjxmb250IGZhY2U9XCJ2ZXJk YW5hLHRhaG9tYSxoZWx2ZXRpY2FcIiBjb2xvcj1cIiMwMDAwMDBcIiBzaXplPTE+Jm5ic3A7Jm5i c3A7Iik7DQogICAgICBvdXQud3JpdGUoIjwvdGQ+XHJcblx0XHRcdFx0ICAgICAgIik7DQogICAg ICBvdXQud3JpdGUoIjx0ZD4iKTsNCiAgICAgIG91dC53cml0ZSgiPGZvbnQgZmFjZT1cInZlcmRh bmEsdGFob21hLGhlbHZldGljYVwiIGNvbG9yPVwiIzAwMDAwMFwiIHNpemU9MT4gQ29udHJhdCBW YWxpZMOpIik7DQogICAgICBvdXQud3JpdGUoIjwvdGQ+XHJcblx0XHRcdFx0ICAgICIpOw0KICAg ICAgb3V0LndyaXRlKCI8L3RyPlxyXG5cdFx0XHRcdCIpOw0KICAgICAgb3V0LndyaXRlKCI8L3Rh YmxlPlxyXG5cdFx0XHQiKTsNCiAgICAgIG91dC53cml0ZSgiPC9mb250PiAgICAgICAgXHRcclxu ICAgICAgICBcdCIpOw0KICAgICAgb3V0LndyaXRlKCI8L3RkPlx0XHRcclxuICAgICAgICBcdCIp Ow0KICAgICAgb3V0LndyaXRlKCI8dGQgY29sc3Bhbj00IGFsaWduPVwibGVmdFwiPiAmbmJzcDsm bmJzcDsgJm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDtcclxuXHRcdFx0XHQi KTsNCiAgICAgIG91dC53cml0ZSgiPGlucHV0IGNsYXNzPVwiYnV0dG9uXCIgdHlwZT1cImJ1dHRv blwiIG5hbWU9XCJiVmJcIiB2YWx1ZT1cIiAgIFZhbGlkZXIgICBcIiBvbmNsaWNrPVwiZGVtbygp OyBkb1ZhbGlkYXRpb24oKVwiPlxyXG4gICAgICAgIFx0Iik7DQogICAgICBvdXQud3JpdGUoIjwv dGQ+XHJcblx0XHRcdCIpOw0KICAgICAgb3V0LndyaXRlKCI8dGQgYWxpZ249XCJjZW50ZXJcIj5c clxuXHRcdFx0XHQiKTsNCiAgICAgIG91dC53cml0ZSgiPGZvbnQgZmFjZT1cInZlcmRhbmEsdGFo b21hLGhlbHZldGljYVwiIGNvbG9yPVwiIzAwMDAwMFwiIHNpemU9MT5cclxuXHRcdFx0XHRcdCIp Ow0KICAgICAgb3V0LndyaXRlKCI8YSBocmVmPWphdmFzY3JpcHQ6Y29udHJvbGVDaGVja1N1cHAo KTs+Iik7DQogICAgICBvdXQud3JpdGUoIjxmb250IGNvbG9yPVwiIzAwMDAwMFwiPlRvdXQiKTsN CiAgICAgIG91dC53cml0ZSgiPC9mb250PiIpOw0KICAgICAgb3V0LndyaXRlKCI8L2E+XHJcblx0 XHRcdFx0Iik7DQogICAgICBvdXQud3JpdGUoIjwvZm9udD5cclxuXHRcdFx0Iik7DQogICAgICBv dXQud3JpdGUoIjwvdGQ+XHJcbiAgICAgICAgIik7DQogICAgICBvdXQud3JpdGUoIjwvdHI+XHJc biIpOw0KICAgICAgb3V0LndyaXRlKCI8L3RhYmxlPlxyXG4iKTsNCiAgICAgIG91dC53cml0ZSgi PC9kaXY+XHJcbiAgIik7DQogICAgICBvdXQud3JpdGUoIjxJTlBVVCBUWVBFPWhpZGRlbiBOQU1F PVwiY2hla1pvbmVQR1wiPiBcclxuICAiKTsNCiAgICAgIG91dC53cml0ZSgiPElOUFVUIFRZUEU9 aGlkZGVuIE5BTUU9XCJjaGVrWm9uZUN0clwiPiBcclxuICAiKTsNCiAgICAgIG91dC53cml0ZSgi PElOUFVUIFRZUEU9aGlkZGVuIE5BTUU9XCJjaGVrWm9uZVN1cHBcIj4gXHJcbiIpOw0KICAgICAg b3V0LndyaXRlKCI8L2Zvcm0+XHJcbiIpOw0KICAgICAgb3V0LndyaXRlKCI8YnI+XHJcbiIpOw0K ICAgICAgb3V0LndyaXRlKCI8L2JvZHk+XHJcbiIpOw0KICAgICAgb3V0LndyaXRlKCI8c2NyaXB0 PlxyXG5mdW5jdGlvbiBjb250cm9sZUNoZWNrUEcoKXsgXHJcbiBpZiAoZG9jdW1lbnQuY2FsZm9y bS5jaGVrWm9uZVBHLnZhbHVlPT0nTicpe1xyXG4gXHRkb2N1bWVudC5jYWxmb3JtLmNoZWtab25l UEcudmFsdWU9J08nO1xyXG4gXHRjbGVhckFsbCgnbXNnaWRbXVBHJyk7XHJcbiB9ZWxzZXsgXHJc biBcdGRvY3VtZW50LmNhbGZvcm0uY2hla1pvbmVQRy52YWx1ZT0nTic7XHJcbiBcdGNoZWNrQWxs KCdtc2dpZFtdUEcnKTtcclxuIH1cclxufVxyXG5mdW5jdGlvbiBjb250cm9sZUNoZWNrQ3RyKCl7 IFxyXG4gaWYgKGRvY3VtZW50LmNhbGZvcm0uY2hla1pvbmVDdHIudmFsdWU9PSdOJyl7XHJcbiBc dGRvY3VtZW50LmNhbGZvcm0uY2hla1pvbmVDdHIudmFsdWU9J08nO1xyXG4gXHRjbGVhckFsbCgn bXNnaWRbXUN0cicpO1xyXG4gfWVsc2V7IFxyXG4gXHRkb2N1bWVudC5jYWxmb3JtLmNoZWtab25l Q3RyLnZhbHVlPSdOJztcclxuIFx0Y2hlY2tBbGwoJ21zZ2lkW11DdHInKTtcclxuIH1cclxufVxy XG5mdW5jdGlvbiBjb250cm9sZUNoZWNrU3VwcCgpeyBcclxuIGlmIChkb2N1bWVudC5jYWxmb3Jt LmNoZWtab25lU3VwcC52YWx1ZT09J04nKXtcclxuIFx0ZG9jdW1lbnQuY2FsZm9ybS5jaGVrWm9u ZVN1cHAudmFsdWU9J08nO1xyXG4gXHRjbGVhckFsbCgnbXNnaWRbXVN1cHAnKTtcclxuIH1lbHNl eyBcclxuIFx0ZG9jdW1lbnQuY2FsZm9ybS5jaGVrWm9uZVN1cHAudmFsdWU9J04nO1xyXG4gXHRj aGVja0FsbCgnbXNnaWRbXVN1cHAnKTtcclxuIH1cclxufVxyXG4iKTsNCiAgICAgIG91dC53cml0 ZSgiPC9zY3JpcHQ+XHJcbiIpOw0KICAgICAgb3V0LndyaXRlKCI8cD5cclxuIik7DQogICAgICBv dXQud3JpdGUoIjxzY3JpcHQgbGFuZ3VhZ2U9XCJqYXZhc2NyaXB0XCI+XHJcbiAiKTsNCiAgICAg IG91dC53cml0ZSgiPCEtLSBcclxuICBhcF9zaG93V2FpdE1lc3NhZ2UoJ3dhaXREaXYnLCAwKTtc clxuIC8vLS0+XHJcbiIpOw0KICAgICAgb3V0LndyaXRlKCI8L3NjcmlwdD5cclxuIik7DQogICAg ICBvdXQud3JpdGUoIjwvcD5cclxuIik7DQogICAgICBvdXQud3JpdGUoIjxzY3JpcHQgbGFuZ3Vh Z2U9XCJqYXZhc2NyaXB0XCI+XHJcblx0cGFyZW50LmZyYW1lc1tcIkJvZHlFbnRldGVDb250cmF0 VG9wXCJdLmJvZHl3YWl0LnN0eWxlLmN1cnNvciA9IFwiZGVmYXVsdFwiO1xyXG5cdHBhcmVudC5m cmFtZXNbXCJCb2R5RW50ZXRlQ29udHJhdFRvcFwiXS5kb2N1bWVudC5jYWxmb3JtLmJSLmRpc2Fi bGVkPWZhbHNlO1xyXG5cdHBhcmVudC5mcmFtZXNbXCJCb2R5RW50ZXRlQ29udHJhdFRvcFwiXS5k b2N1bWVudC5jYWxmb3JtLmJULmRpc2FibGVkPWZhbHNlO1xyXG4iKTsNCiAgICAgIG91dC53cml0 ZSgiPC9zY3JpcHQ+XHJcblx0Iik7DQogaWYgKENvbXB0ZXVyPT0wKXsgICAgICBvdXQud3JpdGUo IlxyXG5cdCIpOw0KICAgICAgb3V0LndyaXRlKCI8c2NyaXB0PlxyXG5cdCAgXHRib2R5d2FpdC5z dHlsZS5jdXJzb3IgPSBcImRlZmF1bHRcIjtcclxuICBcdFx0ZG9jdW1lbnQuY2FsZm9ybS5iVmgu ZGlzYWJsZWQ9dHJ1ZTtcclxuICBcdFx0ZG9jdW1lbnQuY2FsZm9ybS5iVmIuZGlzYWJsZWQ9dHJ1 ZTtcclxuXHQiKTsNCiAgICAgIG91dC53cml0ZSgiPC9zY3JpcHQ+XHJcblx0Iik7DQp9ICAgICAg b3V0LndyaXRlKCJcclxuIik7DQogICAgICBvdXQud3JpdGUoIjwvSFRNTD4iKTsNCiAgICB9IGNh dGNoIChUaHJvd2FibGUgdCkgew0KICAgICAgb3V0ID0gX2pzcHhfb3V0Ow0KICAgICAgaWYgKG91 dCAhPSBudWxsICYmIG91dC5nZXRCdWZmZXJTaXplKCkgIT0gMCkNCiAgICAgICAgb3V0LmNsZWFy QnVmZmVyKCk7DQogICAgICBpZiAocGFnZUNvbnRleHQgIT0gbnVsbCkgcGFnZUNvbnRleHQuaGFu ZGxlUGFnZUV4Y2VwdGlvbih0KTsNCiAgICB9IGZpbmFsbHkgew0KICAgICAgaWYgKF9qc3B4RmFj dG9yeSAhPSBudWxsKSBfanNweEZhY3RvcnkucmVsZWFzZVBhZ2VDb250ZXh0KHBhZ2VDb250ZXh0 KTsNCiAgICB9DQogIH0NCn0NCg== --=_mixed 002E48E1C1256C32_= Content-Type: application/octet-stream; name="BodyEnteteContratSuite$jsp.java" Content-Disposition: attachment; filename="BodyEnteteContratSuite$jsp.java" Content-Transfer-Encoding: base64 cGFja2FnZSBvcmcuYXBhY2hlLmpzcDsNCg0KaW1wb3J0IGphdmEudXRpbC4qOw0KaW1wb3J0IGph dmEubGFuZy4qOw0KaW1wb3J0IGxlY3VyZXVyLio7DQppbXBvcnQgb3V0aWxzLio7DQppbXBvcnQg amF2YXguc2VydmxldC4qOw0KaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC4qOw0KaW1wb3J0IGph dmF4LnNlcnZsZXQuanNwLio7DQppbXBvcnQgb3JnLmFwYWNoZS5qYXNwZXIucnVudGltZS4qOw0K DQoNCnB1YmxpYyBjbGFzcyBCb2R5RW50ZXRlQ29udHJhdFN1aXRlJGpzcCBleHRlbmRzIEh0dHBK c3BCYXNlIHsNCg0KDQogICAgc3RhdGljIHsNCiAgICB9DQogICAgcHVibGljIEJvZHlFbnRldGVD b250cmF0U3VpdGUkanNwKCApIHsNCiAgICB9DQoNCiAgICBwcml2YXRlIHN0YXRpYyBib29sZWFu IF9qc3B4X2luaXRlZCA9IGZhbHNlOw0KDQogICAgcHVibGljIGZpbmFsIHZvaWQgX2pzcHhfaW5p dCgpIHRocm93cyBvcmcuYXBhY2hlLmphc3Blci5ydW50aW1lLkpzcEV4Y2VwdGlvbiB7DQogICAg fQ0KDQogICAgcHVibGljIHZvaWQgX2pzcFNlcnZpY2UoSHR0cFNlcnZsZXRSZXF1ZXN0IHJlcXVl c3QsIEh0dHBTZXJ2bGV0UmVzcG9uc2UgIHJlc3BvbnNlKQ0KICAgICAgICB0aHJvd3MgamF2YS5p by5JT0V4Y2VwdGlvbiwgU2VydmxldEV4Y2VwdGlvbiB7DQoNCiAgICAgICAgSnNwRmFjdG9yeSBf anNweEZhY3RvcnkgPSBudWxsOw0KICAgICAgICBQYWdlQ29udGV4dCBwYWdlQ29udGV4dCA9IG51 bGw7DQogICAgICAgIEh0dHBTZXNzaW9uIHNlc3Npb24gPSBudWxsOw0KICAgICAgICBTZXJ2bGV0 Q29udGV4dCBhcHBsaWNhdGlvbiA9IG51bGw7DQogICAgICAgIFNlcnZsZXRDb25maWcgY29uZmln ID0gbnVsbDsNCiAgICAgICAgSnNwV3JpdGVyIG91dCA9IG51bGw7DQogICAgICAgIE9iamVjdCBw YWdlID0gdGhpczsNCiAgICAgICAgU3RyaW5nICBfdmFsdWUgPSBudWxsOw0KICAgICAgICB0cnkg ew0KDQogICAgICAgICAgICBpZiAoX2pzcHhfaW5pdGVkID09IGZhbHNlKSB7DQogICAgICAgICAg ICAgICAgc3luY2hyb25pemVkICh0aGlzKSB7DQogICAgICAgICAgICAgICAgICAgIGlmIChfanNw eF9pbml0ZWQgPT0gZmFsc2UpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIF9qc3B4X2luaXQo KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIF9qc3B4X2luaXRlZCA9IHRydWU7DQogICAgICAg ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAg ICAgICBfanNweEZhY3RvcnkgPSBKc3BGYWN0b3J5LmdldERlZmF1bHRGYWN0b3J5KCk7DQogICAg ICAgICAgICByZXNwb25zZS5zZXRDb250ZW50VHlwZSgidGV4dC9odG1sO0lTTy04ODU5LTEiKTsN CiAgICAgICAgICAgIHBhZ2VDb250ZXh0ID0gX2pzcHhGYWN0b3J5LmdldFBhZ2VDb250ZXh0KHRo aXMsIHJlcXVlc3QsIHJlc3BvbnNlLA0KICAgICAgICAgICAgCQkJIiIsIHRydWUsIDgxOTIsIHRy dWUpOw0KDQogICAgICAgICAgICBhcHBsaWNhdGlvbiA9IHBhZ2VDb250ZXh0LmdldFNlcnZsZXRD b250ZXh0KCk7DQogICAgICAgICAgICBjb25maWcgPSBwYWdlQ29udGV4dC5nZXRTZXJ2bGV0Q29u ZmlnKCk7DQogICAgICAgICAgICBzZXNzaW9uID0gcGFnZUNvbnRleHQuZ2V0U2Vzc2lvbigpOw0K ICAgICAgICAgICAgb3V0ID0gcGFnZUNvbnRleHQuZ2V0T3V0KCk7DQoNCiAgICAgICAgICAgIC8v IEhUTUwgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRl LmpzcCI7ZnJvbT0oMCwwKTt0bz0oMTgsMCldDQogICAgICAgICAgICAgICAgb3V0LndyaXRlKCI8 SFRNTD5cclxuPEhFQUQ+XHJcbjxtZXRhIGh0dHAtZXF1aXY9XCJDb250ZW50LVR5cGVcIiBjb250 ZW50PVwidGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTFcIj5cclxuPE1FVEEgaHR0cC1lcXVp dj1cIkNhY2hlLUNvbnRyb2xcIiBjb250ZW50PVwibm8tY2FjaGVcIj5cclxuPE1FVEEgSFRUUC1F UVVJVj1cInByYWdtYVwiIENPTlRFTlQ9XCJuby1jYWNoZVwiPlxyXG48VElUTEU+QXBwbGljYXRp b24gVHJhZGluZyA8L1RJVExFPlxyXG48c2NyaXB0IGxhbmd1YWdlPVwiamF2YXNjcmlwdFwiIHNy Yz1cIi4uL1NjcmlwdC9MaXN0ZS5qc1wiPjwvc2NyaXB0PlxyXG48bGluayByZWw9XCJzdHlsZXNo ZWV0XCIgaHJlZj1cIi4uL1N0eWxlL2xlY3VyZXVyLmNzc1wiPlxyXG5cclxuPHN0eWxlIGlkPVwi Ymlkb25cIiB0eXBlPVwidGV4dC9jc3NcIj5cclxuLnRkYmx1ZSAgICAgIHsgY29sb3I6ICMwMDAw MDA7IGJhY2tncm91bmQtY29sb3I6ICNDOEQ5RkI7IGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7 IFxyXG4gICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDsgYmFja2dy b3VuZC1wb3NpdGlvbjogMCUgfVxyXG4uY2FjaGVyQm91dG9uMVx0e2Rpc3BsYXk6IGxpc3QtaXRl bX1cclxuLmNhY2hlckJvdXRvbjJcdHtkaXNwbGF5OiBub25lfVxyXG48L3N0eWxlPlxyXG5cclxu PC9oZWFkPlxyXG5cclxuIik7DQoNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8g YmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJv bT0oMTgsMik7dG89KDI0LDApXQ0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIFN0 cmluZyBjaGVtaW4gPSAiL2xlY3VyZXVyL3NlcnZsZXQvbGVjdXJldXIuQ3JlYXRFbnRldGVDb250 cmF0U3VpdGVTZXJ2bGV0IjsNCiAgICAgICAgICAgICAgICBTdHJpbmcgY2hlbWluMSA9ICIvbGVj dXJldXIvc2VydmxldC9sZWN1cmV1ci5DcmVhdEVudGV0ZUNvbnRyYXRTdWl0ZU1BSlNlcnZsZXQi Ow0KICAgICAgICAgICAgICAgIFN0cmluZyB0b2RvID0gcmVxdWVzdC5nZXRQYXJhbWV0ZXIoInRv ZG8iKTsNCiAgICAgICAgICAgICAgICBTdHJpbmcgY2xlRW50ZXRlQ29udHJhdCA9IHJlcXVlc3Qu Z2V0UGFyYW1ldGVyKCJjbGVFbnRldGVDb250cmF0Iik7DQogICAgICAgICAgICAgICAgU3RyaW5n IHZhbGV1ckVudGV0ZUNvbnRyYXQgPSByZXF1ZXN0LmdldFBhcmFtZXRlcigidmFsZXVyRW50ZXRl Q29udHJhdCIpOw0KICAgICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBIVE1MIC8vIGJl Z2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209 KDI0LDIpO3RvPSgyNiwwKV0NCiAgICAgICAgICAgICAgICBvdXQud3JpdGUoIlxyXG5cclxuIik7 DQoNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3Av Q29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJvbT0oMjYsMik7dG89KDM0LDAp XQ0KICAgICAgICAgICAgICAgICAvLyBHZW5lcmF0aW9uIGRlIGxhIGNvbmRpdGlvbiBXSEVSRSBk ZSBsYSByZXF1ZXR0ZQ0KICAgICAgICAgICAgICAgIFN0cmluZyBjb25kaXRpb24gPSAiIFdIRVJF IENPTlNUQTw+J0MnIjsNCiAgICAgICAgICAgICAgICBpZiAodG9kby5lcXVhbHMoIlNlYXJjaCIp KXsNCiAgICAgICAgICAgICAgICAJaWYgKGNsZUVudGV0ZUNvbnRyYXQuZXF1YWxzKCJUWVBFQ09O VCIpKSBjb25kaXRpb24gPSAiIFdIRVJFIENPTlRDTz0iICsgdmFsZXVyRW50ZXRlQ29udHJhdCAr IiBBTkQgQ09OU1RBPD4nQyciOw0KICAgICAgICAgICAgICAgIAlpZiAoY2xlRW50ZXRlQ29udHJh dC5lcXVhbHMoIlRJRVJTIikpIGNvbmRpdGlvbiA9ICIgV0hFUkUgQ09OVElFPSIgKyB2YWxldXJF bnRldGVDb250cmF0ICsiIEFORCBDT05TVEE8PidDJyI7DQogICAgICAgICAgICAgICAgCWlmIChj bGVFbnRldGVDb250cmF0LmVxdWFscygiUFJPRFVJVCIpKSBjb25kaXRpb24gPSAiIFdIRVJFIENP TlBSTz0iICsgdmFsZXVyRW50ZXRlQ29udHJhdCArIiBBTkQgQ09OU1RBPD4nQyciOw0KICAgICAg ICAgICAgICAgIAlpZiAoY2xlRW50ZXRlQ29udHJhdC5lcXVhbHMoIkRBVEUiKSkgY29uZGl0aW9u ID0gIiBXSEVSRSBDT05EQVQ9JyIgKyB2YWxldXJFbnRldGVDb250cmF0ICsgIiciKyIgQU5EIENP TlNUQTw+J0MnIjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAvLyBlbmQNCiAgICAg ICAgICAgIC8vIEhUTUwgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29u dHJhdFN1aXRlLmpzcCI7ZnJvbT0oMzQsMik7dG89KDM2LDApXQ0KICAgICAgICAgICAgICAgIG91 dC53cml0ZSgiXHJcblxyXG4iKTsNCg0KICAgICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAv LyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0 ZS5qc3AiO2Zyb209KDM2LDMwKTt0bz0oMzcsMCldDQogICAgICAgICAgICAgICAgb3V0LndyaXRl KCJcclxuIik7DQoNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gSFRNTCAvLyBi ZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9t PSgzNywzMCk7dG89KDM4LDApXQ0KICAgICAgICAgICAgICAgIG91dC53cml0ZSgiXHJcbiIpOw0K DQogICAgICAgICAgICAvLyBlbmQNCiAgICAgICAgICAgIC8vIEhUTUwgLy8gYmVnaW4gW2ZpbGU9 Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJvbT0oMzgsMjkpO3Rv PSgzOSwwKV0NCiAgICAgICAgICAgICAgICBvdXQud3JpdGUoIlxyXG4iKTsNCg0KICAgICAgICAg ICAgLy8gZW5kDQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRy YXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDM5LDI3KTt0bz0oNDEsMCldDQog ICAgICAgICAgICAgICAgb3V0LndyaXRlKCJcclxuXHJcbiIpOw0KDQogICAgICAgICAgICAvLyBl bmQNCiAgICAgICAgICAgIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVudGV0ZUNv bnRyYXRTdWl0ZS5qc3AiO2Zyb209KDQxLDIpO3RvPSg0MSwxNyldDQogICAgICAgICAgICAgICAg IC8vIENIQVJHRU1FTlQgDQogICAgICAgICAgICAvLyBlbmQNCiAgICAgICAgICAgIC8vIEhUTUwg Ly8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7 ZnJvbT0oNDEsMTkpO3RvPSg0MiwwKV0NCiAgICAgICAgICAgICAgICBvdXQud3JpdGUoIlxyXG4i KTsNCg0KICAgICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBiZWdpbiBbZmlsZT0iL0pz cC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSg0MiwyKTt0bz0oNTMs MCldDQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgc2Vzc2lvbi5yZW1vdmVB dHRyaWJ1dGUoIkZJRUNPTkpWMVMiKTsNCiAgICAgICAgICAgICAgICAgICBWZWN0b3IgRklFQ09O SlYxUyA9IChWZWN0b3Ipc2Vzc2lvbi5nZXRBdHRyaWJ1dGUoIkZJRUNPTkpWMVMiKTsNCiAgICAg ICAgICAgICAgICAgICBpZiAoRklFQ09OSlYxUz09bnVsbCkgew0KICAgICAgICAgICAgICAgIAlC ZWFuU2VsZWN0IHJlc3VsdGF0ID0gbmV3IEJlYW5TZWxlY3QoIkZJRUNPTkpWMSIsIGNvbmRpdGlv biArICIgT1JERVIgQlkgQ09OTlVNIik7DQogICAgICAgICAgICAgICAgCUZJRUNPTkpWMVMgPSBy ZXN1bHRhdC5nZXRUYWJsZSgpOw0KICAgICAgICAgICAgICAgIAlzZXNzaW9uLnNldEF0dHJpYnV0 ZSgiRklFQ09OSlYxUyIsRklFQ09OSlYxUyk7DQogICAgICAgICAgICAgICAgCXJlc3VsdGF0ID0g bnVsbDsNCiAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgQmVhbkZJRUNP TkpWMSBGSUVDT05KVjEgPSBuZXcgQmVhbkZJRUNPTkpWMSgpOw0KICAgICAgICAgICAgICAgICAg IEVudW1lcmF0aW9uIGUgPSBGSUVDT05KVjFTLmVsZW1lbnRzKCk7DQogICAgICAgICAgICAvLyBl bmQNCiAgICAgICAgICAgIC8vIEhUTUwgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5 RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJvbT0oNTMsMik7dG89KDU0LDApXQ0KICAgICAgICAg ICAgICAgIG91dC53cml0ZSgiXHJcbiIpOw0KDQogICAgICAgICAgICAvLyBlbmQNCiAgICAgICAg ICAgIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5q c3AiO2Zyb209KDU0LDIpO3RvPSg1NCwyOCldDQogICAgICAgICAgICAgICAgIC8vIEJvdWNsZSBk ZSByZW1wbGlzc2FnZSANCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gSFRNTCAv LyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtm cm9tPSg1NCwzMCk7dG89KDU1LDApXQ0KICAgICAgICAgICAgICAgIG91dC53cml0ZSgiXHJcbiIp Ow0KDQogICAgICAgICAgICAvLyBlbmQNCiAgICAgICAgICAgIC8vIGJlZ2luIFtmaWxlPSIvSnNw L0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDU1LDIpO3RvPSg1Niww KV0NCiAgICAgICAgICAgICAgICAgIFZlY3RvciB2ZWN0ID0gbnVsbDsNCiAgICAgICAgICAgIC8v IGVuZA0KICAgICAgICAgICAgLy8gSFRNTCAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0Jv ZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSg1NiwyKTt0bz0oNjgsMzUpXQ0KICAgICAg ICAgICAgICAgIG91dC53cml0ZSgiXHJcblxyXG48U0NSSVBUIExBTkdVQUdFPVwiamF2YVNjcmlw dFwiPlxyXG5mdW5jdGlvbiBkZW1vKCl7XHJcbiAgXHRib2R5d2FpdC5zdHlsZS5jdXJzb3IgPSBc IndhaXRcIjtcclxuICBcdGRvY3VtZW50LmNhbGZvcm0uYlZoLmRpc2FibGVkPXRydWU7XHJcbiAg XHRkb2N1bWVudC5jYWxmb3JtLmJWYi5kaXNhYmxlZD10cnVlO1xyXG5cdGRvY3VtZW50LnN0eWxl U2hlZXRzW1wiYmlkb25cIl0uYWRkUnVsZShcIi5jYWNoZXJCb3V0b24xXCIsIFwiZGlzcGxheTog bm9uZVwiKTtcclxuXHRkb2N1bWVudC5zdHlsZVNoZWV0c1tcImJpZG9uXCJdLmFkZFJ1bGUoXCIu Y2FjaGVyQm91dG9uMlwiLCBcImRpc3BsYXk6IGxpc3QtaXRlbVwiKTtcclxufVxyXG5cclxuZnVu Y3Rpb24gdG9kb0FjdDEoQWN0aW9uVmFsdWUxLCBOdW1lcm9Db250cmF0KXtcclxuXHQgZG9jdW1l bnQuY2FsZm9ybS5yZWNoVHlwZS52YWx1ZT1cIiIpOw0KDQogICAgICAgICAgICAvLyBlbmQNCiAg ICAgICAgICAgIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRT dWl0ZS5qc3AiO2Zyb209KDY4LDM4KTt0bz0oNjgsNDIpXQ0KICAgICAgICAgICAgICAgIG91dC5w cmludCh0b2RvKTsNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gSFRNTCAvLyBi ZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9t PSg2OCw0NCk7dG89KDY5LDM0KV0NCiAgICAgICAgICAgICAgICBvdXQud3JpdGUoIlwiO1xyXG5c dCBkb2N1bWVudC5jYWxmb3JtLnJlY2hDbGUudmFsdWU9XCIiKTsNCg0KICAgICAgICAgICAgLy8g ZW5kDQogICAgICAgICAgICAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVD b250cmF0U3VpdGUuanNwIjtmcm9tPSg2OSwzNyk7dG89KDY5LDUzKV0NCiAgICAgICAgICAgICAg ICBvdXQucHJpbnQoY2xlRW50ZXRlQ29udHJhdCk7DQogICAgICAgICAgICAvLyBlbmQNCiAgICAg ICAgICAgIC8vIEhUTUwgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29u dHJhdFN1aXRlLmpzcCI7ZnJvbT0oNjksNTUpO3RvPSg3MCwzNyldDQogICAgICAgICAgICAgICAg b3V0LndyaXRlKCJcIjtcclxuXHQgZG9jdW1lbnQuY2FsZm9ybS5yZWNoVmFsZXVyLnZhbHVlPVwi Iik7DQoNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gYmVnaW4gW2ZpbGU9Ii9K c3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJvbT0oNzAsNDApO3RvPSg3 MCw1OSldDQogICAgICAgICAgICAgICAgb3V0LnByaW50KHZhbGV1ckVudGV0ZUNvbnRyYXQpOw0K ICAgICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIv SnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDcwLDYxKTt0bz0o NzIsMjcpXQ0KICAgICAgICAgICAgICAgIG91dC53cml0ZSgiXCI7XHJcblx0IGRvY3VtZW50LmNh bGZvcm0udGFyZ2V0PVwiX3RvcFwiO1xyXG5cdCBkb2N1bWVudC5jYWxmb3JtLmFjdGlvbj1cIiIp Ow0KDQogICAgICAgICAgICAvLyBlbmQNCiAgICAgICAgICAgIC8vIGJlZ2luIFtmaWxlPSIvSnNw L0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDcyLDMwKTt0bz0oNzIs MzYpXQ0KICAgICAgICAgICAgICAgIG91dC5wcmludChjaGVtaW4pOw0KICAgICAgICAgICAgLy8g ZW5kDQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9k eUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDcyLDM4KTt0bz0oODAsMjYpXQ0KICAgICAg ICAgICAgICAgIG91dC53cml0ZSgiXCI7XHJcblx0IGRvY3VtZW50LmNhbGZvcm0udG9kby52YWx1 ZT1BY3Rpb25WYWx1ZTE7XHJcblx0IGRvY3VtZW50LmNhbGZvcm0uY2xlRW50ZXRlQ29udHJhdC52 YWx1ZT1OdW1lcm9Db250cmF0O1xyXG5cdCBkb2N1bWVudC5jYWxmb3JtLnN1Ym1pdCgpO1xyXG59 XHJcblxyXG5mdW5jdGlvbiB0b2RvQWN0MyhBY3Rpb25WYWx1ZTMsQWN0aW9uVmFsdWU0KSB7XHJc biBkb2N1bWVudC5jYWxmb3JtLnRhcmdldD1cIl90b3BcIjtcclxuIGRvY3VtZW50LmNhbGZvcm0u YWN0aW9uPVwiIik7DQoNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gYmVnaW4g W2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJvbT0oODAs MjkpO3RvPSg4MCwzNildDQogICAgICAgICAgICAgICAgb3V0LnByaW50KGNoZW1pbjEpOw0KICAg ICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNw L0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDgwLDM4KTt0bz0oODEs MzQpXQ0KICAgICAgICAgICAgICAgIG91dC53cml0ZSgiXCI7XHJcbiBkb2N1bWVudC5jYWxmb3Jt LnJlY2hUeXBlLnZhbHVlPVwiIik7DQoNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAg Ly8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7 ZnJvbT0oODEsMzcpO3RvPSg4MSw0MSldDQogICAgICAgICAgICAgICAgb3V0LnByaW50KHRvZG8p Ow0KICAgICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxl PSIvSnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDgxLDQzKTt0 bz0oODIsMzMpXQ0KICAgICAgICAgICAgICAgIG91dC53cml0ZSgiXCI7XHJcbiBkb2N1bWVudC5j YWxmb3JtLnJlY2hDbGUudmFsdWU9XCIiKTsNCg0KICAgICAgICAgICAgLy8gZW5kDQogICAgICAg ICAgICAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUu anNwIjtmcm9tPSg4MiwzNik7dG89KDgyLDUyKV0NCiAgICAgICAgICAgICAgICBvdXQucHJpbnQo Y2xlRW50ZXRlQ29udHJhdCk7DQogICAgICAgICAgICAvLyBlbmQNCiAgICAgICAgICAgIC8vIEhU TUwgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpz cCI7ZnJvbT0oODIsNTQpO3RvPSg4MywzNildDQogICAgICAgICAgICAgICAgb3V0LndyaXRlKCJc IjtcclxuIGRvY3VtZW50LmNhbGZvcm0ucmVjaFZhbGV1ci52YWx1ZT1cIiIpOw0KDQogICAgICAg ICAgICAvLyBlbmQNCiAgICAgICAgICAgIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9k eUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDgzLDM5KTt0bz0oODMsNTgpXQ0KICAgICAg ICAgICAgICAgIG91dC5wcmludCh2YWxldXJFbnRldGVDb250cmF0KTsNCiAgICAgICAgICAgIC8v IGVuZA0KICAgICAgICAgICAgLy8gSFRNTCAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0Jv ZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSg4Myw2MCk7dG89KDg2LDQyKV0NCiAgICAg ICAgICAgICAgICBvdXQud3JpdGUoIlwiOyBcclxuIGRvY3VtZW50LmNhbGZvcm0udG9kby52YWx1 ZT1BY3Rpb25WYWx1ZTM7XHJcbiBkb2N1bWVudC5jYWxmb3JtLm1vZGUudmFsdWU9QWN0aW9uVmFs dWU0O1xyXG4gZG9jdW1lbnQuY2FsZm9ybS5jbGVFbnRldGVDb250cmF0LnZhbHVlPSciKTsNCg0K ICAgICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250 cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSg4Niw0NSk7dG89KDg2LDYxKV0N CiAgICAgICAgICAgICAgICBvdXQucHJpbnQoY2xlRW50ZXRlQ29udHJhdCk7DQogICAgICAgICAg ICAvLyBlbmQNCiAgICAgICAgICAgIC8vIEhUTUwgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJh dC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJvbT0oODYsNjMpO3RvPSg4Nyw0NSldDQog ICAgICAgICAgICAgICAgb3V0LndyaXRlKCInO1xyXG4gZG9jdW1lbnQuY2FsZm9ybS52YWxldXJF bnRldGVDb250cmF0LnZhbHVlPSciKTsNCg0KICAgICAgICAgICAgLy8gZW5kDQogICAgICAgICAg ICAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNw Ijtmcm9tPSg4Nyw0OCk7dG89KDg3LDY3KV0NCiAgICAgICAgICAgICAgICBvdXQucHJpbnQodmFs ZXVyRW50ZXRlQ29udHJhdCk7DQogICAgICAgICAgICAvLyBlbmQNCiAgICAgICAgICAgIC8vIEhU TUwgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpz cCI7ZnJvbT0oODcsNjkpO3RvPSgzMDIsMCldDQogICAgICAgICAgICAgICAgb3V0LndyaXRlKCIn O1xyXG4gZG9jdW1lbnQuY2FsZm9ybS5zdWJtaXQoKTtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNN ZXNzYWdlU2VsZWN0ZWQoKVxyXG57XHJcbiAgdmFyIGUgPSBkb2N1bWVudC5jYWxmb3JtLmVsZW1l bnRzO1xyXG4gIHZhciBmID0gZG9jdW1lbnQuY2FsZm9ybS5lbGVtZW50cztcclxuICB2YXIgZyA9 IGRvY3VtZW50LmNhbGZvcm0uZWxlbWVudHM7XHJcbiAgdmFyIGJOb25lID0gdHJ1ZTtcclxuICB2 YXIgYkZvdW5kT25lID0gZmFsc2U7XHJcbiAgeiA9IFwiXCI7XHJcbiAgdmFyIHRlc3RzdXA9MDtc clxuICB2YXIgdGVzdHBnPTA7XHJcbiAgdmFyIHRlc3RjdHI9MDtcclxuICAgIFxyXG4gIHo9XCJc IjtcclxuICBmb3IgKHZhciBpPTA7IGkgPCBmLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBpZiAoZltp XS5uYW1lID09IFwibXNnaWRbXVBHXCIpIHtcclxuICAgICAgYk5vbmUgPSBmYWxzZTtcclxuICAg ICAgaWYgKGZbaV0uY2hlY2tlZCA9PSB0cnVlKXtcclxuXHR6ID0geitcIixcIitmW2ldLnZhbHVl O1xyXG4vL1x0YWxlcnQoJ1BhZ2UgZGUgZ2FyZGUnK3opO1xyXG5cdGRvY3VtZW50LmNhbGZvcm0u cGdab25lcy52YWx1ZT16K1wiLCpcIjtcclxuICAgICAgICBiRm91bmRPbmUgPSB0cnVlO1xyXG4g ICAgICAgIHRlc3RwZz0xOyAgICAgICAgICAgXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJc biAgaWYgKGJOb25lKSB7XHJcbiAgICBhbGVydChcIlRoZXJlIGFyZSBubyBtZXNzYWdlcy5cIik7 XHJcblx0Ym9keXdhaXQuc3R5bGUuY3Vyc29yID0gXCJkZWZhdWx0XCI7XHJcbiBcdGRvY3VtZW50 LmNhbGZvcm0uYlZoLmRpc2FibGVkPWZhbHNlO1xyXG4gXHRkb2N1bWVudC5jYWxmb3JtLmJWYi5k aXNhYmxlZD1mYWxzZTtcclxuXHRkb2N1bWVudC5zdHlsZVNoZWV0c1tcImJpZG9uXCJdLmFkZFJ1 bGUoXCIuY2FjaGVyQm91dG9uMVwiLCBcImRpc3BsYXk6IGxpc3QtaXRlbVwiKTtcclxuXHRkb2N1 bWVudC5zdHlsZVNoZWV0c1tcImJpZG9uXCJdLmFkZFJ1bGUoXCIuY2FjaGVyQm91dG9uMlwiLCBc ImRpc3BsYXk6IG5vbmVcIik7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gICBpZiAo YkZvdW5kT25lKXtcclxuXHQvL2FsZXJ0KFwiRWRpdGlvbiBkZXMgcGFnZXMgZGUgZ2FyZGUgc8Op bGVjdGlvbm7DqWVzIGVuIGNvdXJzLi4uXCIpO1x0XHJcbiAgIH1cclxuXHRcclxuICA8IS0tcmV0 dXJuIHRydWU7LS0+XHJcbiAgej1cIlwiO1xyXG4gIGZvciAodmFyIGk9MDsgaSA8IGcubGVuZ3Ro OyBpKyspIHtcclxuICAgIGlmIChnW2ldLm5hbWUgPT0gXCJtc2dpZFtdQ3RyXCIpIHtcclxuICAg ICAgYk5vbmUgPSBmYWxzZTtcclxuICAgICAgaWYgKGdbaV0uY2hlY2tlZCA9PSB0cnVlKXtcclxu ICAgIFxyXG5cdHogPSB6K1wiLFwiK2dbaV0udmFsdWU7XHJcbi8vXHRhbGVydCgnY29udHJhdCcr eik7XHJcblx0ZG9jdW1lbnQuY2FsZm9ybS5jdHJab25lcy52YWx1ZT16K1wiLCpcIjtcclxuICAg ICAgICBiRm91bmRPbmUgPSB0cnVlO1xyXG4gICAgICAgIHRlc3RjdHI9MTsgICBcclxuICAgICAg fVxyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gIH1cclxuICBpZiAoYk5vbmUpIHtcclxuICAgIGFs ZXJ0KFwiVGhlcmUgYXJlIG5vIG1lc3NhZ2VzLlwiKTtcclxuXHRib2R5d2FpdC5zdHlsZS5jdXJz b3IgPSBcImRlZmF1bHRcIjtcclxuICBcdGRvY3VtZW50LmNhbGZvcm0uYlZoLmRpc2FibGVkPWZh bHNlO1xyXG4gIFx0ZG9jdW1lbnQuY2FsZm9ybS5iVmIuZGlzYWJsZWQ9ZmFsc2U7XHJcblx0ZG9j dW1lbnQuc3R5bGVTaGVldHNbXCJiaWRvblwiXS5hZGRSdWxlKFwiLmNhY2hlckJvdXRvbjFcIiwg XCJkaXNwbGF5OiBsaXN0LWl0ZW1cIik7XHJcblx0ZG9jdW1lbnQuc3R5bGVTaGVldHNbXCJiaWRv blwiXS5hZGRSdWxlKFwiLmNhY2hlckJvdXRvbjJcIiwgXCJkaXNwbGF5OiBub25lXCIpO1xyXG4g XHRcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9ZWxzZXtcdFxyXG4gICBpZiAoYkZvdW5kT25l KXtcclxuXHQvL2FsZXJ0KFwiRWRpdGlvbiBkZXMgcGFnZXMgZGUgZ2FyZGUgc8OpbGVjdGlvbm7D qWVzIGVuIGNvdXJzLi4uXCIpO1x0XHJcbiAgICB9XHJcbn1cclxuXHJcbiAgej1cIlwiO1xyXG4g IGZvciAodmFyIGk9MDsgaSA8IGUubGVuZ3RoOyBpKyspIHtcclxuICAgIGlmIChlW2ldLm5hbWUg PT0gXCJtc2dpZFtdU3VwcFwiKSB7XHJcbiAgICAgIGJOb25lID0gZmFsc2U7XHJcbiAgICAgIGlm IChlW2ldLmNoZWNrZWQgPT0gdHJ1ZSl7XHJcblx0eiA9IHorXCIsXCIrZVtpXS52YWx1ZTtcclxu XHQvL2FsZXJ0KCdzdXBwcmVzc2lvbicreik7XHJcblx0ZG9jdW1lbnQuY2FsZm9ybS5zdXBwWm9u ZXMudmFsdWU9eitcIiwqXCI7XHJcbiAgICAgICAgYkZvdW5kT25lID0gdHJ1ZTtcclxuICAgICAg ICB0ZXN0c3VwPTE7ICAgICBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBpZiAoYk5v bmUpIHtcclxuICAgIGFsZXJ0KFwiVGhlcmUgYXJlIG5vIG1lc3NhZ2VzLlwiKTtcclxuICAgXHRi b2R5d2FpdC5zdHlsZS5jdXJzb3IgPSBcImRlZmF1bHRcIjtcclxuICBcdGRvY3VtZW50LmNhbGZv cm0uYlZoLmRpc2FibGVkPWZhbHNlO1xyXG4gIFx0ZG9jdW1lbnQuY2FsZm9ybS5iVmIuZGlzYWJs ZWQ9ZmFsc2U7XHJcblx0ZG9jdW1lbnQuc3R5bGVTaGVldHNbXCJiaWRvblwiXS5hZGRSdWxlKFwi LmNhY2hlckJvdXRvbjFcIiwgXCJkaXNwbGF5OiBsaXN0LWl0ZW1cIik7XHJcblx0ZG9jdW1lbnQu c3R5bGVTaGVldHNbXCJiaWRvblwiXS5hZGRSdWxlKFwiLmNhY2hlckJvdXRvbjJcIiwgXCJkaXNw bGF5OiBub25lXCIpO1xyXG4gXHRcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgIGlm ICghYkZvdW5kT25lKXtcclxuICAgIGFsZXJ0KFwiVmV1aWxsZXogY29jaGVyIHVuZSBvdSBwbHVz aWV1cnMgY2FzZXMgIS5cIik7XHJcbiAgIFx0Ym9keXdhaXQuc3R5bGUuY3Vyc29yID0gXCJkZWZh dWx0XCI7XHJcbiAgXHRkb2N1bWVudC5jYWxmb3JtLmJWaC5kaXNhYmxlZD1mYWxzZTtcclxuICBc dGRvY3VtZW50LmNhbGZvcm0uYlZiLmRpc2FibGVkPWZhbHNlO1xyXG5cdGRvY3VtZW50LnN0eWxl U2hlZXRzW1wiYmlkb25cIl0uYWRkUnVsZShcIi5jYWNoZXJCb3V0b24xXCIsIFwiZGlzcGxheTog bGlzdC1pdGVtXCIpO1xyXG5cdGRvY3VtZW50LnN0eWxlU2hlZXRzW1wiYmlkb25cIl0uYWRkUnVs ZShcIi5jYWNoZXJCb3V0b24yXCIsIFwiZGlzcGxheTogbm9uZVwiKTtcclxuIFx0XHJcbiAgICBy ZXR1cm4gZmFsc2U7XHJcbiAgIH1cclxuICAgICBpZih0ZXN0c3VwPT0xIHx8IHRlc3RwZz09MSB8 fCB0ZXN0Y3RyPT0xKXtyZXR1cm4gdHJ1ZTt9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRvVmFsaWRh dGlvbigpe1xyXG4gIGlmIChpc01lc3NhZ2VTZWxlY3RlZCgpKSB7XHJcbiAgdmFyIGUgPSBkb2N1 bWVudC5jYWxmb3JtLmVsZW1lbnRzO1xyXG4gIHZhciBmID0gZG9jdW1lbnQuY2FsZm9ybS5lbGVt ZW50cztcclxuICB2YXIgZyA9IGRvY3VtZW50LmNhbGZvcm0uZWxlbWVudHM7XHJcblx0cmVzdWx0 YXQgPSBjb25maXJtKCdDb25maXJtZXogPycpO1xyXG5cdGlmKHJlc3VsdGF0PT1cIjFcIil7XHJc blx0XHQvL2FsZXJ0KCdkb2N1bWVudC5jYWxmb3JtLnN1cHBab25lcy52YWx1ZT0gJytkb2N1bWVu dC5jYWxmb3JtLnN1cHBab25lcy52YWx1ZSk7XHJcblx0XHR0b2RvQWN0MygndmFsaWRlcicsJ3Zh bGlkYXRpb24nKTtcclxuXHR9XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBjbGVhckFsbChU eXBlQ2FzZSlcclxue1xyXG4gIHZhciBlID0gZG9jdW1lbnQuY2FsZm9ybS5lbGVtZW50cztcclxu ICBmb3IgKHZhciBpPTA7IGkgPCBlLmxlbmd0aDsgaSsrKSBcclxuICAgIGlmIChlW2ldLm5hbWUg PT0gVHlwZUNhc2UpXHJcbiAgICAgIGVbaV0uY2hlY2tlZCA9IGZhbHNlO1xyXG59XHJcblxyXG5m dW5jdGlvbiBjaGVja0FsbChUeXBlQ2FzZSlcclxue1xyXG4gIHZhciBlID0gZG9jdW1lbnQuY2Fs Zm9ybS5lbGVtZW50cztcclxuICBmb3IgKHZhciBpPTA7IGkgPCBlLmxlbmd0aDsgaSsrKVxyXG4g ICAgaWYgKGVbaV0ubmFtZSA9PSBUeXBlQ2FzZSlcclxuICAgICAgZVtpXS5jaGVja2VkID0gdHJ1 ZTtcclxuICAgICBcclxufVxyXG5cclxuXHJcblxyXG48L1NDUklQVD5cclxuXHJcbjxib2R5ICBj bGFzcz1cImJvZHlcIiBpZD1cImJvZHl3YWl0XCIgbGluaz1cIiMwMDAwMzNcIiBhbGluaz1cIiM5 OTk5ZmZcIiB2bGluaz1cIiMwMDAwMzNcIiBsZWZ0bWFyZ2luPTAgbWFyZ2lud2lkdGg9MCB0b3Bt YXJnaW49MTAgbWFyZ2luaGVpZ2h0PTEwPlxyXG5cclxuPGRpdiBJRD1cIndhaXREaXZcIiBzdHls ZT1cInBvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTA7dG9wOjUwO3Zpc2liaWxpdHk6aGlkZGVuXCI+ XHJcblx0PGNlbnRlcj5cclxuXHQ8cD48Zm9udCBjb2xvcj1cIiMwMDAwMDBcIiBmYWNlPVwiQXJp YWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZlwiIHNpemU9XCIzXCI+PGI+RmljaGllcnMgZW4gY291 cnMgZGUgY2hhcmdlbWVudC4uLjwvYj48L3A+XHJcblx0PHA+PGZvbnQgc2l6ZT1cIjJcIj5NZXJj aSBkZSBwYXRpZW50ZXI8L2ZvbnQ+PC9wPlxyXG5cdDxpbWcgc3JjPVwiLi4vSW1hZ2VzL3NhYmxp ZXIuZ2lmXCI+XHJcblx0PC9jZW50ZXI+XHJcbjwvZGl2PlxyXG48c2NyaXB0PlxyXG4gPCEtLSBc clxudmFyIERIVE1MID0gKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkIHx8IGRvY3VtZW50LmFsbCB8 fCBkb2N1bWVudC5sYXllcnMpO1xyXG5mdW5jdGlvbiBhcF9nZXRPYmoobmFtZSkgeyBpZiAoZG9j dW1lbnQuZ2V0RWxlbWVudEJ5SWQpIHsgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG5h bWUpLnN0eWxlOyB9IGVsc2UgaWYgKGRvY3VtZW50LmFsbCkgeyByZXR1cm4gZG9jdW1lbnQuYWxs W25hbWVdLnN0eWxlO1xyXG59IGVsc2UgaWYgKGRvY3VtZW50LmxheWVycykgeyByZXR1cm4gZG9j dW1lbnQubGF5ZXJzW25hbWVdOyB9IH0gZnVuY3Rpb24gYXBfc2hvd1dhaXRNZXNzYWdlKGRpdixm bGFnKSAgeyBpZiAoIURIVE1MKSByZXR1cm47IHZhciB4ID0gYXBfZ2V0T2JqKGRpdik7IHgudmlz aWJpbGl0eSA9IChmbGFnKSA/ICd2aXNpYmxlJzonaGlkZGVuJ1xyXG5pZighIGRvY3VtZW50Lmdl dEVsZW1lbnRCeUlkKSBpZihkb2N1bWVudC5sYXllcnMpIHgubGVmdD0yODAvMjsgcmV0dXJuIHRy dWU7IH0gYXBfc2hvd1dhaXRNZXNzYWdlKCd3YWl0RGl2JywgMSk7IFxyXG4gLy8tLT5cclxuPC9z Y3JpcHQ+XHJcblxyXG48Rk9STSBOQU1FPVwiY2FsZm9ybVwiIEFDVElPTj1cIlwiIE1FVEhPRD1Q T1NUPlxyXG4gIDxJTlBVVCBUWVBFPUhJRERFTiBOQU1FPVwidG9kb1wiIFZBTFVFPVwiXCI+XHJc biAgPElOUFVUIFRZUEU9SElEREVOIE5BTUU9XCJtb2RlXCIgVkFMVUU9XCJcIj5cclxuICA8SU5Q VVQgVFlQRT1ISURERU4gTkFNRT1cImNsZUVudGV0ZUNvbnRyYXRcIiBWQUxVRT1cIlwiPlxyXG4g IDxJTlBVVCBUWVBFPUhJRERFTiBOQU1FPVwidmFsZXVyRW50ZXRlQ29udHJhdFwiIFZBTFVFPVwi XCI+XHJcbiAgPElOUFVUIFRZUEU9SElEREVOIE5BTUU9XCJyZWNoVHlwZVwiIFZBTFVFPVwiXCI+ XHJcbiAgPElOUFVUIFRZUEU9SElEREVOIE5BTUU9XCJyZWNoQ2xlXCIgVkFMVUU9XCJcIj5cclxu ICA8SU5QVVQgVFlQRT1ISURERU4gTkFNRT1cInJlY2hWYWxldXJcIiBWQUxVRT1cIlwiPlxyXG4g IDxJTlBVVCBUWVBFPUhJRERFTiBOQU1FPVwic3VwcFpvbmVzXCIgVkFMVUU9XCJcIj4gICAgXHJc biAgPElOUFVUIFRZUEU9SElEREVOIE5BTUU9XCJwZ1pvbmVzXCIgVkFMVUU9XCJcIj4gICAgIFxy XG4gIDxJTlBVVCBUWVBFPUhJRERFTiBOQU1FPVwiY3RyWm9uZXNcIiBWQUxVRT1cIlwiPiAgICAg XHJcbiAgXHJcbjxkaXYgYWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgICA8dGFibGUgd2lkdGg9 XCI5OCVcIiBib3JkZXI9MCBjZWxscGFkZGluZz0xIGNlbGxzcGFjaW5nPTE+XHJcbiAgICAgICAg PHRyPlxyXG5cdFx0PHRkIGFsaWduPVwiY2VudGVyXCI+XHJcblx0XHRcdDxmb250IGZhY2U9XCJ2 ZXJkYW5hLHRhaG9tYSxoZWx2ZXRpY2FcIiBjb2xvcj1cIiMwMDAwMDBcIiBzaXplPTE+XHJcblx0 XHRcdDxhIGhyZWY9amF2YXNjcmlwdDpjb250cm9sZUNoZWNrUEcoKTs+PGZvbnQgY29sb3I9XCIj MDAwMDAwXCI+VG91dDwvZm9udD48L2E+IC8gPGEgaHJlZj1qYXZhc2NyaXB0OmNvbnRyb2xlQ2hl Y2tDdHIoKTs+PGZvbnQgY29sb3I9XCIjMDAwMDAwXCI+VG91dDwvZm9udD48L2E+PGJyPiBcclxu XHRcdFx0PC9mb250PlxyXG5cdFx0PC90ZD5cclxuICAgICAgICBcdDx0ZCBjb2xzcGFuPTMgYWxp Z249XCJsZWZ0PlxyXG5cdFx0XHQ8Zm9udCBmYWNlPVwidmVyZGFuYSx0YWhvbWEsaGVsdmV0aWNh XCIgY29sb3I9XCIjMDAwMDAwXCIgc2l6ZT0zPlxyXG5cdFx0XHRcdDx0YWJsZSBib3JkZXI9XCIw XCI+XHJcblx0XHRcdFx0ICAgIDx0cj5cclxuXHRcdFx0XHQgICAgICA8dGQgYmdjb2xvcj1cIiNG RkZGRkZcIj48Zm9udCBmYWNlPVwidmVyZGFuYSx0YWhvbWEsaGVsdmV0aWNhXCIgY29sb3I9XCIj MDAwMDAwXCIgc2l6ZT0xPiZuYnNwOyZuYnNwOzwvdGQ+XHJcblx0XHRcdFx0ICAgICAgPHRkPjxm b250IGZhY2U9XCJ2ZXJkYW5hLHRhaG9tYSxoZWx2ZXRpY2FcIiBjb2xvcj1cIiMwMDAwMDBcIiBz aXplPTE+IENvbnRyYXQgQWN0aWYmbmJzcDsmbmJzcDs8L3RkPlxyXG5cdFx0XHRcdCAgICAgIDx0 ZCBiZ2NvbG9yPVwiI0NDQ0NGRlwiPjxmb250IGZhY2U9XCJ2ZXJkYW5hLHRhaG9tYSxoZWx2ZXRp Y2FcIiBjb2xvcj1cIiMwMDAwMDBcIiBzaXplPTE+Jm5ic3A7Jm5ic3A7PC90ZD5cclxuXHRcdFx0 XHQgICAgICA8dGQ+PGZvbnQgZmFjZT1cInZlcmRhbmEsdGFob21hLGhlbHZldGljYVwiIGNvbG9y PVwiIzAwMDAwMFwiIHNpemU9MT4gQ29udHJhdCBWYWxpZMOpPC90ZD5cclxuXHRcdFx0XHQgICAg PC90cj5cclxuXHRcdFx0XHQ8L3RhYmxlPlxyXG5cdFx0XHQ8L2ZvbnQ+ICAgICAgICBcdFxyXG4g ICAgICAgIFx0PC90ZD5cdFx0XHJcbiAgICAgICAgXHQ8dGQgY29sc3Bhbj00IGFsaWduPVwibGVm dFwiPiAmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDtc clxuXHRcdFx0XHQ8aW5wdXQgY2xhc3M9XCJidXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgbmFtZT1c ImJWaFwiIHZhbHVlPVwiICAgVmFsaWRlciAgIFwiIG9uY2xpY2s9XCJkZW1vKCk7IGRvVmFsaWRh dGlvbigpXCI+XHJcbiAgICAgICAgXHQ8L3RkPlxyXG5cdFx0PHRkIGFsaWduPVwiY2VudGVyXCI+ XHJcblx0XHRcdDxmb250IGZhY2U9XCJ2ZXJkYW5hLHRhaG9tYSxoZWx2ZXRpY2FcIiBjb2xvcj1c IiMwMDAwMDBcIiBzaXplPTE+XHJcblx0XHRcdFx0PGEgaHJlZj1qYXZhc2NyaXB0OmNvbnRyb2xl Q2hlY2tTdXBwKCk7Pjxmb250IGNvbG9yPVwiIzAwMDAwMFwiPlRvdXQ8L2ZvbnQ+PC9hPlxyXG5c dFx0XHQ8L2ZvbnQ+XHJcblx0XHQ8L3RkPlxyXG4gICAgICAgIDwvdHI+XHRcdFxyXG5cdCAgICA8 dHI+PHRkIGNvbHNwYW49OD48L3RkPjwvdHI+XHQgIFxyXG4gICAgICAgIDxUUj5cclxuXHRcdFx0 PHRkIGNsYXNzPVwidGFibGUxXCIgdmFsaWduPVwiYm90dG9tXCI+PGZvbnQgY2xhc3M9XCJmb250 YlwiIGNvbG9yPVwiI0ZGRkZGRlwiID48Yj5FZGl0aW9uPGJyPlAuRy4vQ3RyLjwvdGQ+XHJcbiAg ICAgICAgXHQ8dGQgY2xhc3M9XCJ0YWJsZTFcIiB2YWxpZ249XCJib3R0b21cIj48Zm9udCBjbGFz cz1cImZvbnRiXCIgY29sb3I9XCIjRkZGRkZGXCIgPjxiPk7CsDxicj5DdHIuPC9mb250PjwvdGQ+ XHJcbiAgICAgICAgXHQ8dGQgY2xhc3M9XCJ0YWJsZTFcIiB2YWxpZ249XCJib3R0b21cIj48Zm9u dCBjbGFzcz1cImZvbnRiXCIgY29sb3I9XCIjRkZGRkZGXCIgPjxiPlR5cGU8L3RkPlxyXG4gICAg ICAgIFx0PHRkIGNsYXNzPVwidGFibGUxXCIgdmFsaWduPVwiYm90dG9tXCI+PGZvbnQgY2xhc3M9 XCJmb250YlwiIGNvbG9yPVwiI0ZGRkZGRlwiID48Yj5EYXRlPC90ZD5cclxuICAgICAgICAgICBc dDx0ZCBjbGFzcz1cInRhYmxlMVwiIHZhbGlnbj1cImJvdHRvbVwiPjxmb250IGNsYXNzPVwiZm9u dGJcIiBjb2xvcj1cIiNGRkZGRkZcIiA+PGI+VGllcnM8L3RkPlxyXG5cdFx0XHQ8dGQgY2xhc3M9 XCJ0YWJsZTFcIiB2YWxpZ249XCJib3R0b21cIj48Zm9udCBjbGFzcz1cImZvbnRiXCIgY29sb3I9 XCIjRkZGRkZGXCIgPjxiPlF0ZSAodG0pPC90ZD5cclxuXHRcdFx0PHRkIGNsYXNzPVwidGFibGUx XCIgdmFsaWduPVwiYm90dG9tXCI+PGZvbnQgY2xhc3M9XCJmb250YlwiIGNvbG9yPVwiI0ZGRkZG RlwiID48Yj5SZWNvbHRlPC90ZD5cclxuXHRcdFx0PHRkIGNsYXNzPVwidGFibGUxXCIgdmFsaWdu PVwiYm90dG9tXCI+PGZvbnQgY2xhc3M9XCJmb250YlwiIGNvbG9yPVwiI0ZGRkZGRlwiID48Yj5Q cm9kdWl0PC90ZD5cclxuXHRcdFx0PHRkIGNsYXNzPVwidGFibGUxXCIgdmFsaWduPVwiYm90dG9t XCI+PHRhYmxlIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIj48dHI+PHRkIHdpZHRoPVwi MTAwJVwiPjxmb250IGNsYXNzPVwiZm9udGJcIiBjb2xvcj1cIiNGRkZGRkZcIiA+PGI+T3B0aW9u czwvdGQ+PC90cj5cclxuXHRcdFx0PHRyPjx0ZCBhbGlnbj1cImNlbnRlclwiIHdpZHRoPVwiMTAw JVwiPjxmb250IGNsYXNzPVwiZm9udGJcIiBjb2xvcj1cIiNGRkZGRkZcIj48Yj5WaXN1Li9TdXBw LjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+XHJcblx0XHQ8L1RSPlxyXG4iKTsNCg0KICAgICAgICAg ICAgLy8gZW5kDQogICAgICAgICAgICAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlF bnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSgzMDIsMik7dG89KDMxNSwyKV0NCiAgICAgICAg ICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgaW50IENvbXB0ZXVyID0gMDsNCiAgICAgICAg ICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICBTdHJpbmcgQ29sb3JUYWJsZT0iIjsN CiAgICAgICAgICAgICAgICAJd2hpbGUoZS5oYXNNb3JlRWxlbWVudHMoKSkgew0KICAgICAgICAg ICAgICAgIAkJdmVjdCA9IChWZWN0b3IpZS5uZXh0RWxlbWVudCgpOyANCiAgICAgICAgICAgICAg ICAJCQ0KICAgICAgICAgICAgICAgIAkJaWYgKEZJRUNPTkpWMS5nZXRDT05TVEEodmVjdCkuZXF1 YWxzKCJWIikpew0KICAgICAgICAgICAgICAgIAkJCUNvbG9yVGFibGU9IiNDQ0NDRkYiOw0KICAg ICAgICAgICAgICAgIAkJfWVsc2V7DQogICAgICAgICAgICAgICAgCQkJQ29sb3JUYWJsZT0iI0ZG RkZGRiI7DQogICAgICAgICAgICAgICAgCQl9DQogICAgICAgICAgICAgICAgCQlDb21wdGV1ciA9 IDE7DQogICAgICAgICAgICAgICAgCQkNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAg Ly8gSFRNTCAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3Vp dGUuanNwIjtmcm9tPSgzMTUsNCk7dG89KDMxNywzMyldDQogICAgICAgICAgICAgICAgb3V0Lndy aXRlKCJcclxuICAgICAgIFx0ICAgICA8VFIgQUxJR049Q0VOVEVSIFZBTElHTj1NSURETEU+XHJc biAgICAgICAgICAgICAgICAgICAgPFREIEJHQ09MT1I9XCIiKTsNCg0KICAgICAgICAgICAgLy8g ZW5kDQogICAgICAgICAgICAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVD b250cmF0U3VpdGUuanNwIjtmcm9tPSgzMTcsMzYpO3RvPSgzMTcsNDYpXQ0KICAgICAgICAgICAg ICAgIG91dC5wcmludChDb2xvclRhYmxlKTsNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAg ICAgLy8gSFRNTCAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0 U3VpdGUuanNwIjtmcm9tPSgzMTcsNDgpO3RvPSgzMTcsMTQ0KV0NCiAgICAgICAgICAgICAgICBv dXQud3JpdGUoIlwiIEFMSUdOPUNFTlRFUj48Zm9udCBjbGFzcz1cImZvbnRkXCIgY29sb3I9IzAw MDA2Nj48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgbmFtZT1cIm1zZ2lkW11QR1wiIHZhbHVlPVwi Iik7DQoNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gYmVnaW4gW2ZpbGU9Ii9K c3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJvbT0oMzE3LDE0Nyk7dG89 KDMxNywxNzIpXQ0KICAgICAgICAgICAgICAgIG91dC5wcmludChGSUVDT05KVjEuZ2V0Q09OTlVN KHZlY3QpKTsNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gSFRNTCAvLyBiZWdp biBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSgz MTcsMTc0KTt0bz0oMzE3LDI1OSldDQogICAgICAgICAgICAgICAgb3V0LndyaXRlKCJcIiBzdHls ZT1cImZvbnQ6IHh4LXNtYWxsXCI+Jm5ic3A7Jm5ic3A7PGlucHV0IHR5cGU9XCJjaGVja2JveFwi IG5hbWU9XCJtc2dpZFtdQ3RyXCIgdmFsdWU9XCIiKTsNCg0KICAgICAgICAgICAgLy8gZW5kDQog ICAgICAgICAgICAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0 U3VpdGUuanNwIjtmcm9tPSgzMTcsMjYyKTt0bz0oMzE3LDI4NyldDQogICAgICAgICAgICAgICAg b3V0LnByaW50KEZJRUNPTkpWMS5nZXRDT05OVU0odmVjdCkpOw0KICAgICAgICAgICAgLy8gZW5k DQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVu dGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDMxNywyODkpO3RvPSgzMTgsMzMpXQ0KICAgICAg ICAgICAgICAgIG91dC53cml0ZSgiXCIgc3R5bGU9XCJmb250OiB4eC1zbWFsbFwiPjwvVEQ+ICAg ICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8VEQgQkdDT0xPUj1cIiIp Ow0KDQogICAgICAgICAgICAvLyBlbmQNCiAgICAgICAgICAgIC8vIGJlZ2luIFtmaWxlPSIvSnNw L0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDMxOCwzNik7dG89KDMx OCw0NildDQogICAgICAgICAgICAgICAgb3V0LnByaW50KENvbG9yVGFibGUpOw0KICAgICAgICAg ICAgLy8gZW5kDQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRy YXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDMxOCw0OCk7dG89KDMyMCwxMDkp XQ0KICAgICAgICAgICAgICAgIG91dC53cml0ZSgiXCIgQUxJR049Q0VOVEVSPlxyXG5cdFx0XHRc dFx0PHRhYmxlIFdJRFRIPVwiMTAwJVwiPjx0cj5cclxuXHRcdFx0XHRcdDx0ZCBjbGFzcz1cImNh Y2hlckJvdXRvbjFcIj48YSBjbGFzcz1cImxpZW5BXCIgb25jbGljaz1cImRlbW8oKTtcIiBocmVm PVwiamF2YXNjcmlwdDp0b2RvQWN0MSgnbW9kaWZpY2F0aW9ucycsICIpOw0KDQogICAgICAgICAg ICAvLyBlbmQNCiAgICAgICAgICAgIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVu dGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDMyMCwxMTIpO3RvPSgzMjAsMTM3KV0NCiAgICAg ICAgICAgICAgICBvdXQucHJpbnQoRklFQ09OSlYxLmdldENPTk5VTSh2ZWN0KSk7DQogICAgICAg ICAgICAvLyBlbmQNCiAgICAgICAgICAgIC8vIEhUTUwgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29u dHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJvbT0oMzIwLDEzOSk7dG89KDMyMCwx NDUpXQ0KICAgICAgICAgICAgICAgIG91dC53cml0ZSgiKVwiPjxiPiIpOw0KDQogICAgICAgICAg ICAvLyBlbmQNCiAgICAgICAgICAgIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVu dGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDMyMCwxNDgpO3RvPSgzMjAsMTczKV0NCiAgICAg ICAgICAgICAgICBvdXQucHJpbnQoRklFQ09OSlYxLmdldENPTk5VTSh2ZWN0KSk7DQogICAgICAg ICAgICAvLyBlbmQNCiAgICAgICAgICAgIC8vIEhUTUwgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29u dHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJvbT0oMzIwLDE3NSk7dG89KDMyMSw2 OCldDQogICAgICAgICAgICAgICAgb3V0LndyaXRlKCI8L2I+PC9BPjwvdGQ+XHJcblx0XHRcdFx0 XHQ8dGQgY2xhc3M9XCJjYWNoZXJCb3V0b24yXCI+PGZvbnQgY2xhc3M9XCJmb250ZFwiIGNvbG9y PSMwMDAwNjY+PGI+Iik7DQoNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gYmVn aW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJvbT0o MzIxLDcxKTt0bz0oMzIxLDk2KV0NCiAgICAgICAgICAgICAgICBvdXQucHJpbnQoRklFQ09OSlYx LmdldENPTk5VTSh2ZWN0KSk7DQogICAgICAgICAgICAvLyBlbmQNCiAgICAgICAgICAgIC8vIEhU TUwgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpz cCI7ZnJvbT0oMzIxLDk4KTt0bz0oMzI0LDMzKV0NCiAgICAgICAgICAgICAgICBvdXQud3JpdGUo IjwvYj48L3RkPlxyXG5cdFx0XHRcdFx0PC90cj48L3RhYmxlPlxyXG4gICAgICAgICAgICAgICAg ICAgIDwvVEQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPFREIEJHQ09MT1I9XCIiKTsNCg0KICAg ICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0 L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSgzMjQsMzYpO3RvPSgzMjQsNDYpXQ0K ICAgICAgICAgICAgICAgIG91dC5wcmludChDb2xvclRhYmxlKTsNCiAgICAgICAgICAgIC8vIGVu ZA0KICAgICAgICAgICAgLy8gSFRNTCAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlF bnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSgzMjQsNDgpO3RvPSgzMjYsMyldDQogICAgICAg ICAgICAgICAgb3V0LndyaXRlKCJcIiBBTElHTj1MRUZUPjxmb250IGNsYXNzPVwiZm9udGRcIiBj b2xvcj0jMDAwMDY2PlxyXG5cclxuXHRcdFx0Iik7DQoNCiAgICAgICAgICAgIC8vIGVuZA0KICAg ICAgICAgICAgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1 aXRlLmpzcCI7ZnJvbT0oMzI2LDMpO3RvPSgzMzQsMTcpXQ0KICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgU3RyaW5nIF9qc3B4X3FTdHIgPSAiIjsNCiAgICAgICAgICAgICAg ICAgICAgX2pzcHhfcVN0ciA9IF9qc3B4X3FTdHIgKyAiP3Bvc2l0aW9uPSIgKyAidGV4dCI7DQog ICAgICAgICAgICAgICAgICAgIF9qc3B4X3FTdHIgPSBfanNweF9xU3RyICsgIiZ2YWxldXI9IiAr IEZJRUNPTkpWMS5nZXRDT05UQ08odmVjdCk7DQogICAgICAgICAgICAgICAgICAgIF9qc3B4X3FT dHIgPSBfanNweF9xU3RyICsgIiZmb3JtdWxhaXJlPSIgKyAiY2FsZm9ybSI7DQogICAgICAgICAg ICAgICAgICAgIF9qc3B4X3FTdHIgPSBfanNweF9xU3RyICsgIiZhZmZpY2hhZ2U9IiArICIyIjsN CiAgICAgICAgICAgICAgICAgICAgX2pzcHhfcVN0ciA9IF9qc3B4X3FTdHIgKyAiJnN0eWxlQ2xh c3M9IiArICJzZWxlY3QiOw0KICAgICAgICAgICAgICAgICAgICBfanNweF9xU3RyID0gX2pzcHhf cVN0ciArICImc2NyaXB0PSIgKyAiICI7DQogICAgICAgICAgICAgICAgICAgIF9qc3B4X3FTdHIg PSBfanNweF9xU3RyICsgIiZ6b25lUmV0b3VyPSIgKyAiUFRZUEVDT05UIjsNCiAgICAgICAgICAg ICAgICAgICAgSnNwUnVudGltZUxpYnJhcnkuaW5jbHVkZShyZXF1ZXN0LCByZXNwb25zZSwgIi4u L0xpc3RlRGVyb3VsYW50ZS9MaXN0ZURlcm91bGFudGVfUFRZUEVDT05ULmpzcCIgKyBfanNweF9x U3RyLCBvdXQsIHRydWUpOw0KICAgICAgICAgICAgICAgICAgICBpZiAoInRydWUiLmVxdWFscyhy ZXF1ZXN0LmdldEF0dHJpYnV0ZSgiamF2YXguc2VydmxldC5mb3J3YXJkLnNlZW4iKSkpDQogICAg ICAgICAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgLy8gZW5kDQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRy YXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDMzNCwxNyk7dG89KDMzNywzMyld DQogICAgICAgICAgICAgICAgb3V0LndyaXRlKCJcdFx0XHRcclxuXHRcdFx0XHJcbiAgICAgICAg ICAgICAgICAgICAgPC9GT05UPjwvVEQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPFREIEJHQ09M T1I9XCIiKTsNCg0KICAgICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBiZWdpbiBbZmls ZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSgzMzcsMzYp O3RvPSgzMzcsNDYpXQ0KICAgICAgICAgICAgICAgIG91dC5wcmludChDb2xvclRhYmxlKTsNCiAg ICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gSFRNTCAvLyBiZWdpbiBbZmlsZT0iL0pz cC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSgzMzcsNDgpO3RvPSgz MzcsODQpXQ0KICAgICAgICAgICAgICAgIG91dC53cml0ZSgiXCI+PGZvbnQgY2xhc3M9XCJmb250 ZFwiIGNvbG9yPSMwMDAwNjY+Iik7DQoNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAg Ly8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7 ZnJvbT0oMzM3LDg3KTt0bz0oMzM3LDEyNyldDQogICAgICAgICAgICAgICAgb3V0LnByaW50KEZJ RUNPTkpWMS5nZXRDT05EQVQodmVjdCkuc3Vic3RyaW5nKDYsOCkpOw0KICAgICAgICAgICAgLy8g ZW5kDQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9k eUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDMzNywxMjkpO3RvPSgzMzcsMTMwKV0NCiAg ICAgICAgICAgICAgICBvdXQud3JpdGUoIi8iKTsNCg0KICAgICAgICAgICAgLy8gZW5kDQogICAg ICAgICAgICAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3Vp dGUuanNwIjtmcm9tPSgzMzcsMTMzKTt0bz0oMzM3LDE3MyldDQogICAgICAgICAgICAgICAgb3V0 LnByaW50KEZJRUNPTkpWMS5nZXRDT05EQVQodmVjdCkuc3Vic3RyaW5nKDQsNikpOw0KICAgICAg ICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0Nv bnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDMzNywxNzUpO3RvPSgzMzcs MTc2KV0NCiAgICAgICAgICAgICAgICBvdXQud3JpdGUoIi8iKTsNCg0KICAgICAgICAgICAgLy8g ZW5kDQogICAgICAgICAgICAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVD b250cmF0U3VpdGUuanNwIjtmcm9tPSgzMzcsMTc5KTt0bz0oMzM3LDIxOSldDQogICAgICAgICAg ICAgICAgb3V0LnByaW50KEZJRUNPTkpWMS5nZXRDT05EQVQodmVjdCkuc3Vic3RyaW5nKDAsNCkp Ow0KICAgICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxl PSIvSnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDMzNywyMjEp O3RvPSgzMzgsMzMpXQ0KICAgICAgICAgICAgICAgIG91dC53cml0ZSgiPC9GT05UPjwvVEQ+XHJc biAgICAgICAgICAgICAgICAgICAgPFREIEJHQ09MT1I9XCIiKTsNCg0KICAgICAgICAgICAgLy8g ZW5kDQogICAgICAgICAgICAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVD b250cmF0U3VpdGUuanNwIjtmcm9tPSgzMzgsMzYpO3RvPSgzMzgsNDYpXQ0KICAgICAgICAgICAg ICAgIG91dC5wcmludChDb2xvclRhYmxlKTsNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAg ICAgLy8gSFRNTCAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0 U3VpdGUuanNwIjtmcm9tPSgzMzgsNDgpO3RvPSgzNDAsMyldDQogICAgICAgICAgICAgICAgb3V0 LndyaXRlKCJcIiBBTElHTj1MRUZUPjxmb250IGNsYXNzPVwiZm9udGRcIiBjb2xvcj0jMDAwMDY2 PlxyXG5cclxuXHRcdFx0Iik7DQoNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8g YmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJv bT0oMzQwLDMpO3RvPSgzNDksMTcpXQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgU3RyaW5nIF9qc3B4X3FTdHIgPSAiIjsNCiAgICAgICAgICAgICAgICAgICAgX2pzcHhf cVN0ciA9IF9qc3B4X3FTdHIgKyAiP3Bvc2l0aW9uPSIgKyAidGV4dCI7DQogICAgICAgICAgICAg ICAgICAgIF9qc3B4X3FTdHIgPSBfanNweF9xU3RyICsgIiZ2YWxldXI9IiArIEZJRUNPTkpWMS5n ZXRDT05USUUodmVjdCk7DQogICAgICAgICAgICAgICAgICAgIF9qc3B4X3FTdHIgPSBfanNweF9x U3RyICsgIiZ0eXBlVGllcnM9IiArICIgIjsNCiAgICAgICAgICAgICAgICAgICAgX2pzcHhfcVN0 ciA9IF9qc3B4X3FTdHIgKyAiJmZvcm11bGFpcmU9IiArICJjYWxmb3JtIjsNCiAgICAgICAgICAg ICAgICAgICAgX2pzcHhfcVN0ciA9IF9qc3B4X3FTdHIgKyAiJmFmZmljaGFnZT0iICsgIjIiOw0K ICAgICAgICAgICAgICAgICAgICBfanNweF9xU3RyID0gX2pzcHhfcVN0ciArICImc3R5bGVDbGFz cz0iICsgInNlbGVjdCI7DQogICAgICAgICAgICAgICAgICAgIF9qc3B4X3FTdHIgPSBfanNweF9x U3RyICsgIiZzY3JpcHQ9IiArICIgIjsNCiAgICAgICAgICAgICAgICAgICAgX2pzcHhfcVN0ciA9 IF9qc3B4X3FTdHIgKyAiJnpvbmVSZXRvdXI9IiArICJUSUVSUyI7DQogICAgICAgICAgICAgICAg ICAgIEpzcFJ1bnRpbWVMaWJyYXJ5LmluY2x1ZGUocmVxdWVzdCwgcmVzcG9uc2UsICIuLi9MaXN0 ZURlcm91bGFudGUvTGlzdGVEZXJvdWxhbnRlX1RJRVJTLmpzcCIgKyBfanNweF9xU3RyLCBvdXQs IHRydWUpOw0KICAgICAgICAgICAgICAgICAgICBpZiAoInRydWUiLmVxdWFscyhyZXF1ZXN0Lmdl dEF0dHJpYnV0ZSgiamF2YXguc2VydmxldC5mb3J3YXJkLnNlZW4iKSkpDQogICAgICAgICAgICAg ICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgLy8gZW5k DQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVu dGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDM0OSwxNyk7dG89KDM1MiwzMyldDQogICAgICAg ICAgICAgICAgb3V0LndyaXRlKCJcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAg ICAgICAgICAgICA8L0ZPTlQ+PC9URD5cclxuICAgICAgICAgICAgICAgICAgICA8VEQgQkdDT0xP Uj1cIiIpOw0KDQogICAgICAgICAgICAvLyBlbmQNCiAgICAgICAgICAgIC8vIGJlZ2luIFtmaWxl PSIvSnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDM1MiwzNik7 dG89KDM1Miw0NildDQogICAgICAgICAgICAgICAgb3V0LnByaW50KENvbG9yVGFibGUpOw0KICAg ICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNw L0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDM1Miw0OCk7dG89KDM1 Miw5NildDQogICAgICAgICAgICAgICAgb3V0LndyaXRlKCJcIiBBTElHTj1SSUdIVD48Zm9udCBj bGFzcz1cImZvbnRkXCIgY29sb3I9IzAwMDA2Nj4iKTsNCg0KICAgICAgICAgICAgLy8gZW5kDQog ICAgICAgICAgICAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0 U3VpdGUuanNwIjtmcm9tPSgzNTIsOTgpO3RvPSgzNTIsMzQ0KV0NCiAgICAgICAgICAgICAgICBT dHJpbmcgUXRlMSA9ICIiK0ZJRUNPTkpWMS5nZXRDT05RVUModmVjdCk7aW50IGxvbmd1ZXVyRGVj aW1hbGUgPSBRdGUxLmluZGV4T2YoJy4nKTtpZiAoKFF0ZTEuc3Vic3RyaW5nKGxvbmd1ZXVyRGVj aW1hbGUsIFF0ZTEubGVuZ3RoKCkpKS5sZW5ndGgoKTwzKVF0ZTEgPSBRdGUxKyIwIjtpZiAoKFF0 ZTEuc3Vic3RyaW5nKGxvbmd1ZXVyRGVjaW1hbGUsIFF0ZTEubGVuZ3RoKCkpKS5sZW5ndGgoKTw0 KVF0ZTEgPSBRdGUxKyIwIjsNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gYmVn aW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJvbT0o MzUyLDM0OSk7dG89KDM1MiwzNTMpXQ0KICAgICAgICAgICAgICAgIG91dC5wcmludChRdGUxKTsN CiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gSFRNTCAvLyBiZWdpbiBbZmlsZT0i L0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSgzNTIsMzU1KTt0 bz0oMzUzLDMzKV0NCiAgICAgICAgICAgICAgICBvdXQud3JpdGUoIjwvRk9OVD48L1REPlxyXG4g ICAgICAgICAgICAgICAgICAgIDxURCBCR0NPTE9SPVwiIik7DQoNCiAgICAgICAgICAgIC8vIGVu ZA0KICAgICAgICAgICAgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29u dHJhdFN1aXRlLmpzcCI7ZnJvbT0oMzUzLDM2KTt0bz0oMzUzLDQ2KV0NCiAgICAgICAgICAgICAg ICBvdXQucHJpbnQoQ29sb3JUYWJsZSk7DQogICAgICAgICAgICAvLyBlbmQNCiAgICAgICAgICAg IC8vIEhUTUwgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1 aXRlLmpzcCI7ZnJvbT0oMzUzLDQ4KTt0bz0oMzU1LDMpXQ0KICAgICAgICAgICAgICAgIG91dC53 cml0ZSgiXCIgQUxJR049Q0VOVEVSPjxmb250IGNsYXNzPVwiZm9udGRcIiBjb2xvcj0jMDAwMDY2 PlxyXG5cclxuXHRcdFx0Iik7DQoNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8g YmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJv bT0oMzU1LDMpO3RvPSgzNjMsMTcpXQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgU3RyaW5nIF9qc3B4X3FTdHIgPSAiIjsNCiAgICAgICAgICAgICAgICAgICAgX2pzcHhf cVN0ciA9IF9qc3B4X3FTdHIgKyAiP3Bvc2l0aW9uPSIgKyAidGV4dCI7DQogICAgICAgICAgICAg ICAgICAgIF9qc3B4X3FTdHIgPSBfanNweF9xU3RyICsgIiZ2YWxldXI9IiArIEZJRUNPTkpWMS5n ZXRDT05DQU0odmVjdCk7DQogICAgICAgICAgICAgICAgICAgIF9qc3B4X3FTdHIgPSBfanNweF9x U3RyICsgIiZmb3JtdWxhaXJlPSIgKyAiY2FsZm9ybSI7DQogICAgICAgICAgICAgICAgICAgIF9q c3B4X3FTdHIgPSBfanNweF9xU3RyICsgIiZhZmZpY2hhZ2U9IiArICIyIjsNCiAgICAgICAgICAg ICAgICAgICAgX2pzcHhfcVN0ciA9IF9qc3B4X3FTdHIgKyAiJnN0eWxlQ2xhc3M9IiArICJzZWxl Y3QiOw0KICAgICAgICAgICAgICAgICAgICBfanNweF9xU3RyID0gX2pzcHhfcVN0ciArICImc2Ny aXB0PSIgKyAiICI7DQogICAgICAgICAgICAgICAgICAgIF9qc3B4X3FTdHIgPSBfanNweF9xU3Ry ICsgIiZ6b25lUmV0b3VyPSIgKyAiUFJFQ09MVEVTIjsNCiAgICAgICAgICAgICAgICAgICAgSnNw UnVudGltZUxpYnJhcnkuaW5jbHVkZShyZXF1ZXN0LCByZXNwb25zZSwgIi4uL0xpc3RlRGVyb3Vs YW50ZS9MaXN0ZURlcm91bGFudGVfUFJFQ09MVEVTLmpzcCIgKyBfanNweF9xU3RyLCBvdXQsIHRy dWUpOw0KICAgICAgICAgICAgICAgICAgICBpZiAoInRydWUiLmVxdWFscyhyZXF1ZXN0LmdldEF0 dHJpYnV0ZSgiamF2YXguc2VydmxldC5mb3J3YXJkLnNlZW4iKSkpDQogICAgICAgICAgICAgICAg ICAgICAgICByZXR1cm47DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgLy8gZW5kDQog ICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVudGV0 ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDM2MywxNyk7dG89KDM2NiwzMyldDQogICAgICAgICAg ICAgICAgb3V0LndyaXRlKCJcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAg ICAgICAgICA8L0ZPTlQ+PC9URD5cclxuICAgICAgICAgICAgICAgICAgICA8VEQgQkdDT0xPUj1c IiIpOw0KDQogICAgICAgICAgICAvLyBlbmQNCiAgICAgICAgICAgIC8vIGJlZ2luIFtmaWxlPSIv SnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDM2NiwzNik7dG89 KDM2Niw0NildDQogICAgICAgICAgICAgICAgb3V0LnByaW50KENvbG9yVGFibGUpOw0KICAgICAg ICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0Nv bnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDM2Niw0OCk7dG89KDM2OCwz KV0NCiAgICAgICAgICAgICAgICBvdXQud3JpdGUoIlwiIEFMSUdOPUxFRlQ+PGZvbnQgY2xhc3M9 XCJmb250ZFwiIGNvbG9yPSMwMDAwNjY+XHJcblxyXG5cdFx0XHQiKTsNCg0KICAgICAgICAgICAg Ly8gZW5kDQogICAgICAgICAgICAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRl dGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSgzNjgsMyk7dG89KDM3NywxNyldDQogICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICBTdHJpbmcgX2pzcHhfcVN0ciA9ICIiOw0KICAg ICAgICAgICAgICAgICAgICBfanNweF9xU3RyID0gX2pzcHhfcVN0ciArICI/cG9zaXRpb249IiAr ICJ0ZXh0IjsNCiAgICAgICAgICAgICAgICAgICAgX2pzcHhfcVN0ciA9IF9qc3B4X3FTdHIgKyAi JnZhbGV1cj0iICsgRklFQ09OSlYxLmdldENPTlBSTyh2ZWN0KTsNCiAgICAgICAgICAgICAgICAg ICAgX2pzcHhfcVN0ciA9IF9qc3B4X3FTdHIgKyAiJmZvcm11bGFpcmU9IiArICJjYWxmb3JtIjsN CiAgICAgICAgICAgICAgICAgICAgX2pzcHhfcVN0ciA9IF9qc3B4X3FTdHIgKyAiJmFmZmljaGFn ZT0iICsgIjIiOw0KICAgICAgICAgICAgICAgICAgICBfanNweF9xU3RyID0gX2pzcHhfcVN0ciAr ICImc3R5bGVDbGFzcz0iICsgInNlbGVjdCI7DQogICAgICAgICAgICAgICAgICAgIF9qc3B4X3FT dHIgPSBfanNweF9xU3RyICsgIiZzY3JpcHQ9IiArICIgIjsNCiAgICAgICAgICAgICAgICAgICAg X2pzcHhfcVN0ciA9IF9qc3B4X3FTdHIgKyAiJmZhbWlsbGU9IiArICIgIjsNCiAgICAgICAgICAg ICAgICAgICAgX2pzcHhfcVN0ciA9IF9qc3B4X3FTdHIgKyAiJnpvbmVSZXRvdXI9IiArICJQUk9E VUlUIjsNCiAgICAgICAgICAgICAgICAgICAgSnNwUnVudGltZUxpYnJhcnkuaW5jbHVkZShyZXF1 ZXN0LCByZXNwb25zZSwgIi4uL0xpc3RlRGVyb3VsYW50ZS9MaXN0ZURlcm91bGFudGVfUFJPRFVJ VC5qc3AiICsgX2pzcHhfcVN0ciwgb3V0LCB0cnVlKTsNCiAgICAgICAgICAgICAgICAgICAgaWYg KCJ0cnVlIi5lcXVhbHMocmVxdWVzdC5nZXRBdHRyaWJ1dGUoImphdmF4LnNlcnZsZXQuZm9yd2Fy ZC5zZWVuIikpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAg ICAgIH0NCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gSFRNTCAvLyBiZWdpbiBb ZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSgzNzcs MTcpO3RvPSgzODAsMzMpXQ0KICAgICAgICAgICAgICAgIG91dC53cml0ZSgiXHJcbiAgICAgICAg ICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L0ZPTlQ+PC9URD5cclxuICAgICAg ICAgICAgICAgICAgICA8VEQgQkdDT0xPUj1cIiIpOw0KDQogICAgICAgICAgICAvLyBlbmQNCiAg ICAgICAgICAgIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRT dWl0ZS5qc3AiO2Zyb209KDM4MCwzNik7dG89KDM4MCw0NildDQogICAgICAgICAgICAgICAgb3V0 LnByaW50KENvbG9yVGFibGUpOw0KICAgICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBI VE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5q c3AiO2Zyb209KDM4MCw0OCk7dG89KDM4MSwxMDIpXQ0KICAgICAgICAgICAgICAgIG91dC53cml0 ZSgiXCIgQUxJR049Q0VOVEVSIFZBTElHTj1NSURETEU+XHJcbiAgICAgICAgICAgICAgICAgICAg XHQ8Zm9udCBjbGFzcz1cImZvbnRkXCIgY29sb3I9IzAwMDA2Nj48YSBocmVmPVwiamF2YXNjcmlw dDogdG9kb0FjdDEoJ3Zpc3VhbGlzYXRpb24nLCAiKTsNCg0KICAgICAgICAgICAgLy8gZW5kDQog ICAgICAgICAgICAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0 U3VpdGUuanNwIjtmcm9tPSgzODEsMTA1KTt0bz0oMzgxLDEzMCldDQogICAgICAgICAgICAgICAg b3V0LnByaW50KEZJRUNPTkpWMS5nZXRDT05OVU0odmVjdCkpOw0KICAgICAgICAgICAgLy8gZW5k DQogICAgICAgICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVu dGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDM4MSwxMzIpO3RvPSgzODEsMjc4KV0NCiAgICAg ICAgICAgICAgICBvdXQud3JpdGUoIik7XCIgc3R5bGU9XCJ0ZXh0LWRlY29yYXRpb246IG5vbmU7 XCI+PGZvbnQgY29sb3I9XCIjMzMzMzk5XCIgZmFjZT1cIldlYmRpbmdzXCIgc2l6ZT1cIjRcIj5O PC9mb250PjwvYT4gLyA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgbmFtZT1cIm1zZ2lkW11TdXBw XCIgdmFsdWU9XCIiKTsNCg0KICAgICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBiZWdp biBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSgz ODEsMjgxKTt0bz0oMzgxLDMwNildDQogICAgICAgICAgICAgICAgb3V0LnByaW50KEZJRUNPTkpW MS5nZXRDT05OVU0odmVjdCkpOw0KICAgICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBI VE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5q c3AiO2Zyb209KDM4MSwzMDgpO3RvPSgzODUsMCldDQogICAgICAgICAgICAgICAgb3V0LndyaXRl KCJcIiBzdHlsZT1cImZvbnQ6IHh4LXNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9U RD5cclxuICAgICAgIFx0ICAgIDwvVFI+XHJcbiAgICAgICBcdCAgICBcclxuIik7DQoNCiAgICAg ICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9C b2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJvbT0oMzg1LDIpO3RvPSgzOTEsMCldDQogICAg ICAgICAgICAgICAgCSAgdmVjdC5yZW1vdmVBbGxFbGVtZW50cygpOw0KICAgICAgICAgICAgICAg IAl9DQogICAgICAgICAgICAgICAgCWUgPSBudWxsOw0KICAgICAgICAgICAgICAgIAlGSUVDT05K VjEgPSBudWxsOw0KICAgICAgICAgICAgICAgIAlGSUVDT05KVjFTLnJlbW92ZUFsbEVsZW1lbnRz KCk7DQogICAgICAgICAgICAgICAgfWNhdGNoKEV4Y2VwdGlvbiB0KXt9DQogICAgICAgICAgICAv LyBlbmQNCiAgICAgICAgICAgIC8vIEhUTUwgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9C b2R5RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJvbT0oMzkxLDIpO3RvPSgzOTEsMyldDQogICAg ICAgICAgICAgICAgb3V0LndyaXRlKCJcdCIpOw0KDQogICAgICAgICAgICAvLyBlbmQNCiAgICAg ICAgICAgIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0 ZS5qc3AiO2Zyb209KDM5MSw1KTt0bz0oMzkxLDIzKV0NCiAgICAgICAgICAgICAgICAgaWYgKENv bXB0ZXVyPT0wKXsNCiAgICAgICAgICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gSFRNTCAvLyBi ZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9t PSgzOTEsMjUpO3RvPSgzOTMsMSldDQogICAgICAgICAgICAgICAgb3V0LndyaXRlKCJcclxuXHQ8 dHI+PHRkIGNvbHNwYW49OD48Zm9udCBjbGFzcz1cImZvbnRkXCIgY29sb3I9IzAwMDA2Nj4oQXVj dW4gZW5yZWdpc3RyZW1lbnQgbmUgcsOpcG9uZCBhdXggY3JpdMOocmVzKTwvdGQ+PC90cj5cclxu XHQiKTsNCg0KICAgICAgICAgICAgLy8gZW5kDQogICAgICAgICAgICAvLyBiZWdpbiBbZmlsZT0i L0pzcC9Db250cmF0L0JvZHlFbnRldGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSgzOTMsMyk7dG89 KDM5Myw0KV0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAvLyBlbmQNCiAgICAgICAg ICAgIC8vIEhUTUwgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5RW50ZXRlQ29udHJh dFN1aXRlLmpzcCI7ZnJvbT0oMzkzLDYpO3RvPSg0NzEsMSldDQogICAgICAgICAgICAgICAgb3V0 LndyaXRlKCJcclxuXHQ8dHI+PHRkIGNvbHNwYW49OD48L3RkPjwvdHI+XHQgIFxyXG4gICAgICAg IDx0cj5cclxuXHRcdDx0ZCBhbGlnbj1cImNlbnRlclwiPlxyXG5cdFx0XHQ8Zm9udCBmYWNlPVwi dmVyZGFuYSx0YWhvbWEsaGVsdmV0aWNhXCIgY29sb3I9XCIjMDAwMDAwXCIgc2l6ZT0xPlxyXG5c dFx0XHQ8YSBocmVmPWphdmFzY3JpcHQ6Y29udHJvbGVDaGVja1BHKCk7Pjxmb250IGNvbG9yPVwi IzAwMDAwMFwiPlRvdXQ8L2ZvbnQ+PC9hPiAvIDxhIGhyZWY9amF2YXNjcmlwdDpjb250cm9sZUNo ZWNrQ3RyKCk7Pjxmb250IGNvbG9yPVwiIzAwMDAwMFwiPlRvdXQ8L2ZvbnQ+PC9hPjxicj4gXHJc blx0XHRcdDwvZm9udD5cclxuXHRcdDwvdGQ+XHJcbiAgICAgICAgXHQ8dGQgY29sc3Bhbj0zIGFs aWduPVwibGVmdD5cclxuXHRcdFx0PGZvbnQgZmFjZT1cInZlcmRhbmEsdGFob21hLGhlbHZldGlj YVwiIGNvbG9yPVwiIzAwMDAwMFwiIHNpemU9Mz5cclxuXHRcdFx0XHQ8dGFibGUgYm9yZGVyPVwi MFwiPlxyXG5cdFx0XHRcdCAgICA8dHI+XHJcblx0XHRcdFx0ICAgICAgPHRkIGJnY29sb3I9XCIj RkZGRkZGXCI+PGZvbnQgZmFjZT1cInZlcmRhbmEsdGFob21hLGhlbHZldGljYVwiIGNvbG9yPVwi IzAwMDAwMFwiIHNpemU9MT4mbmJzcDsmbmJzcDs8L3RkPlxyXG5cdFx0XHRcdCAgICAgIDx0ZD48 Zm9udCBmYWNlPVwidmVyZGFuYSx0YWhvbWEsaGVsdmV0aWNhXCIgY29sb3I9XCIjMDAwMDAwXCIg c2l6ZT0xPiBDb250cmF0IEFjdGlmJm5ic3A7Jm5ic3A7PC90ZD5cclxuXHRcdFx0XHQgICAgICA8 dGQgYmdjb2xvcj1cIiNDQ0NDRkZcIj48Zm9udCBmYWNlPVwidmVyZGFuYSx0YWhvbWEsaGVsdmV0 aWNhXCIgY29sb3I9XCIjMDAwMDAwXCIgc2l6ZT0xPiZuYnNwOyZuYnNwOzwvdGQ+XHJcblx0XHRc dFx0ICAgICAgPHRkPjxmb250IGZhY2U9XCJ2ZXJkYW5hLHRhaG9tYSxoZWx2ZXRpY2FcIiBjb2xv cj1cIiMwMDAwMDBcIiBzaXplPTE+IENvbnRyYXQgVmFsaWTDqTwvdGQ+XHJcblx0XHRcdFx0ICAg IDwvdHI+XHJcblx0XHRcdFx0PC90YWJsZT5cclxuXHRcdFx0PC9mb250PiAgICAgICAgXHRcclxu ICAgICAgICBcdDwvdGQ+XHRcdFxyXG4gICAgICAgIFx0PHRkIGNvbHNwYW49NCBhbGlnbj1cImxl ZnRcIj4gJm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7 XHJcblx0XHRcdFx0PGlucHV0IGNsYXNzPVwiYnV0dG9uXCIgdHlwZT1cImJ1dHRvblwiIG5hbWU9 XCJiVmJcIiB2YWx1ZT1cIiAgIFZhbGlkZXIgICBcIiBvbmNsaWNrPVwiZGVtbygpOyBkb1ZhbGlk YXRpb24oKVwiPlxyXG4gICAgICAgIFx0PC90ZD5cclxuXHRcdFx0PHRkIGFsaWduPVwiY2VudGVy XCI+XHJcblx0XHRcdFx0PGZvbnQgZmFjZT1cInZlcmRhbmEsdGFob21hLGhlbHZldGljYVwiIGNv bG9yPVwiIzAwMDAwMFwiIHNpemU9MT5cclxuXHRcdFx0XHRcdDxhIGhyZWY9amF2YXNjcmlwdDpj b250cm9sZUNoZWNrU3VwcCgpOz48Zm9udCBjb2xvcj1cIiMwMDAwMDBcIj5Ub3V0PC9mb250Pjwv YT5cclxuXHRcdFx0XHQ8L2ZvbnQ+XHJcblx0XHRcdDwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxu PC90YWJsZT5cclxuPC9kaXY+XHJcbiAgPElOUFVUIFRZUEU9aGlkZGVuIE5BTUU9XCJjaGVrWm9u ZVBHXCI+IFxyXG4gIDxJTlBVVCBUWVBFPWhpZGRlbiBOQU1FPVwiY2hla1pvbmVDdHJcIj4gXHJc biAgPElOUFVUIFRZUEU9aGlkZGVuIE5BTUU9XCJjaGVrWm9uZVN1cHBcIj4gXHJcbjwvZm9ybT5c clxuPGJyPlxyXG48L2JvZHk+XHJcbjxzY3JpcHQ+XHJcbmZ1bmN0aW9uIGNvbnRyb2xlQ2hlY2tQ RygpeyBcclxuIGlmIChkb2N1bWVudC5jYWxmb3JtLmNoZWtab25lUEcudmFsdWU9PSdOJyl7XHJc biBcdGRvY3VtZW50LmNhbGZvcm0uY2hla1pvbmVQRy52YWx1ZT0nTyc7XHJcbiBcdGNsZWFyQWxs KCdtc2dpZFtdUEcnKTtcclxuIH1lbHNleyBcclxuIFx0ZG9jdW1lbnQuY2FsZm9ybS5jaGVrWm9u ZVBHLnZhbHVlPSdOJztcclxuIFx0Y2hlY2tBbGwoJ21zZ2lkW11QRycpO1xyXG4gfVxyXG59XHJc bmZ1bmN0aW9uIGNvbnRyb2xlQ2hlY2tDdHIoKXsgXHJcbiBpZiAoZG9jdW1lbnQuY2FsZm9ybS5j aGVrWm9uZUN0ci52YWx1ZT09J04nKXtcclxuIFx0ZG9jdW1lbnQuY2FsZm9ybS5jaGVrWm9uZUN0 ci52YWx1ZT0nTyc7XHJcbiBcdGNsZWFyQWxsKCdtc2dpZFtdQ3RyJyk7XHJcbiB9ZWxzZXsgXHJc biBcdGRvY3VtZW50LmNhbGZvcm0uY2hla1pvbmVDdHIudmFsdWU9J04nO1xyXG4gXHRjaGVja0Fs bCgnbXNnaWRbXUN0cicpO1xyXG4gfVxyXG59XHJcbmZ1bmN0aW9uIGNvbnRyb2xlQ2hlY2tTdXBw KCl7IFxyXG4gaWYgKGRvY3VtZW50LmNhbGZvcm0uY2hla1pvbmVTdXBwLnZhbHVlPT0nTicpe1xy XG4gXHRkb2N1bWVudC5jYWxmb3JtLmNoZWtab25lU3VwcC52YWx1ZT0nTyc7XHJcbiBcdGNsZWFy QWxsKCdtc2dpZFtdU3VwcCcpO1xyXG4gfWVsc2V7IFxyXG4gXHRkb2N1bWVudC5jYWxmb3JtLmNo ZWtab25lU3VwcC52YWx1ZT0nTic7XHJcbiBcdGNoZWNrQWxsKCdtc2dpZFtdU3VwcCcpO1xyXG4g fVxyXG59XHJcbjwvc2NyaXB0PlxyXG48cD5cclxuPHNjcmlwdCBsYW5ndWFnZT1cImphdmFzY3Jp cHRcIj5cclxuIDwhLS0gXHJcbiAgYXBfc2hvd1dhaXRNZXNzYWdlKCd3YWl0RGl2JywgMCk7XHJc biAvLy0tPlxyXG48L3NjcmlwdD5cclxuPC9wPlxyXG48c2NyaXB0IGxhbmd1YWdlPVwiamF2YXNj cmlwdFwiPlxyXG5cdHBhcmVudC5mcmFtZXNbXCJCb2R5RW50ZXRlQ29udHJhdFRvcFwiXS5ib2R5 d2FpdC5zdHlsZS5jdXJzb3IgPSBcImRlZmF1bHRcIjtcclxuXHRwYXJlbnQuZnJhbWVzW1wiQm9k eUVudGV0ZUNvbnRyYXRUb3BcIl0uZG9jdW1lbnQuY2FsZm9ybS5iUi5kaXNhYmxlZD1mYWxzZTtc clxuXHRwYXJlbnQuZnJhbWVzW1wiQm9keUVudGV0ZUNvbnRyYXRUb3BcIl0uZG9jdW1lbnQuY2Fs Zm9ybS5iVC5kaXNhYmxlZD1mYWxzZTtcclxuPC9zY3JpcHQ+XHJcblx0Iik7DQoNCiAgICAgICAg ICAgIC8vIGVuZA0KICAgICAgICAgICAgLy8gYmVnaW4gW2ZpbGU9Ii9Kc3AvQ29udHJhdC9Cb2R5 RW50ZXRlQ29udHJhdFN1aXRlLmpzcCI7ZnJvbT0oNDcxLDMpO3RvPSg0NzEsMjEpXQ0KICAgICAg ICAgICAgICAgICBpZiAoQ29tcHRldXI9PTApew0KICAgICAgICAgICAgLy8gZW5kDQogICAgICAg ICAgICAvLyBIVE1MIC8vIGJlZ2luIFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRy YXRTdWl0ZS5qc3AiO2Zyb209KDQ3MSwyMyk7dG89KDQ3NywxKV0NCiAgICAgICAgICAgICAgICBv dXQud3JpdGUoIlxyXG5cdDxzY3JpcHQ+XHJcblx0ICBcdGJvZHl3YWl0LnN0eWxlLmN1cnNvciA9 IFwiZGVmYXVsdFwiO1xyXG4gIFx0XHRkb2N1bWVudC5jYWxmb3JtLmJWaC5kaXNhYmxlZD10cnVl O1xyXG4gIFx0XHRkb2N1bWVudC5jYWxmb3JtLmJWYi5kaXNhYmxlZD10cnVlO1xyXG5cdDwvc2Ny aXB0PlxyXG5cdCIpOw0KDQogICAgICAgICAgICAvLyBlbmQNCiAgICAgICAgICAgIC8vIGJlZ2lu IFtmaWxlPSIvSnNwL0NvbnRyYXQvQm9keUVudGV0ZUNvbnRyYXRTdWl0ZS5qc3AiO2Zyb209KDQ3 NywzKTt0bz0oNDc3LDQpXQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIC8vIGVuZA0K ICAgICAgICAgICAgLy8gSFRNTCAvLyBiZWdpbiBbZmlsZT0iL0pzcC9Db250cmF0L0JvZHlFbnRl dGVDb250cmF0U3VpdGUuanNwIjtmcm9tPSg0NzcsNik7dG89KDQ3OCw3KV0NCiAgICAgICAgICAg ICAgICBvdXQud3JpdGUoIlxyXG48L0hUTUw+Iik7DQoNCiAgICAgICAgICAgIC8vIGVuZA0KDQog ICAgICAgIH0gY2F0Y2ggKFRocm93YWJsZSB0KSB7DQogICAgICAgICAgICBpZiAob3V0ICE9IG51 bGwgJiYgb3V0LmdldEJ1ZmZlclNpemUoKSAhPSAwKQ0KICAgICAgICAgICAgICAgIG91dC5jbGVh ckJ1ZmZlcigpOw0KICAgICAgICAgICAgaWYgKHBhZ2VDb250ZXh0ICE9IG51bGwpIHBhZ2VDb250 ZXh0LmhhbmRsZVBhZ2VFeGNlcHRpb24odCk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAg ICAgICBpZiAoX2pzcHhGYWN0b3J5ICE9IG51bGwpIF9qc3B4RmFjdG9yeS5yZWxlYXNlUGFnZUNv bnRleHQocGFnZUNvbnRleHQpOw0KICAgICAgICB9DQogICAgfQ0KfQ0K --=_mixed 002E48E1C1256C32_= Content-Type: text/plain; charset=us-ascii -- To unsubscribe, e-mail: For additional commands, e-mail: --=_mixed 002E48E1C1256C32_=--