Content-Type: multipart/related; start=; boundary=----------67LS6fQ3kILML0Yye5jr0K Content-Location: http://www.euroresidentes.com/calendario/calendario-laboral-2014.html Subject: =?utf-8?Q?Calendario=20Laboral=202014?= MIME-Version: 1.0 ------------67LS6fQ3kILML0Yye5jr0K Content-Disposition: inline; filename=calendario-laboral-2014.html Content-Type: text/html; charset=iso-8859-1; name=calendario-laboral-2014.html Content-ID: Content-Location: http://www.euroresidentes.com/calendario/calendario-laboral-2014.html Content-Transfer-Encoding: 8bit Calendario Laboral 2014

euroresidentes Calendario Laboral y Festivo 2014
 
 

CALENDARIO LABORAL ESPAÑA 2014

Fiestas Nacionales ,Fiestas Autonómicas,
Fiestas Locales, Puentes

 

Calendario laboral 2014.
Fiestas de Comunidades Autónomas y días no laborales

¡Consulte el calendario y planifica ya tu año 2014! Viajes, Hoteles, Restaurantes...

Si quieres unas ideas sobre dónde ir en 2014, visita nuestro blog Viajar

x celebraciones tradicionales
x festivo en toda España
x Festivos C. Autónomas

Calendario Laboral 2014
Visita nuestro Día de hoy

Enero 2014
L
M
M
J
V
S
D
1
2
3
4
5
6
7
8
9
10
11
12
13 14 15 16
17
18
19
20
21 22 23 24 25
26
27
28
29 30 31  
Febrero 2014
L
M
M
J
V
S
D
   
1
2
3
4
5
6
7
8
9
10 11 12 13 14
15
16
17 18 19 20 21
22
23
24 25 26
27
28
Marzo 2014
L
M
M
J
V
S
D
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15
16
17
18
19
20
21
22
23
24 25 26 27 28 29
30

Día 1; Año nuevo - Propósitos de año nuevo
Día 6:
Día de Reyes, fiesta nacional.
Día 20: San Sebastián, fiesta local en San Sebastián (País Vasco)
Día 20: Fiesta local en Palma de Mallorca.
Día 22: San Vicente Mártir, Fiesta patrón de Valencia.
Día 23
: San Ildefonso, fiesta local en Toledo.


Fechas de enero: Las Rebajas

Carnaval en Santa Cruz de Tenerife.
Ver también Año bisiesto
Día 2: Virgen de la Candelaria en Tenerife.
Fechas de febrero: San Valentín
14 de Febrero: Día de San Valentín
San Valentín | Amor

9 y 10: comienzan las fiestas de Carnaval
Día 12: Martes de Carnaval en Orense y Lugo
Día 13: Miércoles de Ceniza en Pontevedra
Día 27: Comienzan los Carnavales según que en ciudad varia la fecha de inicio - Carnavales 2014
Día 28: Día de Andalucía

Día 1: Día de les Illes Balears.
Dia 16: Fiestas de la Magdalena (Castellón)
Día 18: traslado del día 19 San José, En Madrid
Dia 19
: San José, Día del padre. Frases para el padre. Fiesta en: Murcia, Cdad. Valenciana, Navarra y Melilla.
- Fallas de Valencia - San José.
Fechas primavera: Alergias primavera | Alergias niños

Abril 2014
L
M
M
J
V
S
D
1
2
3
4
5
6
7
8
9
10
11
12
13
14 15 16
17
18
19
20
21 22 23
24
25 26
27
28
29
30
Mayo 2014
L
M
M
J
V
S
D
1
2
3
4
5
6
7
8
9
10
11
12 13
14
15 16 17
18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Junio 2014
L
M
M
J
V
S
D
 
1
2
3
4
5
6
7
8
9 10
11
12
13 14 15
16 17 18
19
20
21
22
23 24 25 26 27 28 29
30          

Día 5: San Cibrán, en Pontevedra
Día 6:
Fiesta local en Murcia.
Dia 8: San Vicente Ferrer, fiesta Patrón Comunidad Valenciana. Fiesta local en Valencia.

La Semana Santa se celebran del 17 al 20 en las Comunidades siguientes: Andalucía, Galicia, Madrid, Asturias, Aragón, Castilla-León, Castilla y La Mancha, Extremadura, Murcia, Islas Canarias, Castilla y León, Navarra.
La Semana Santa se celebra del 18 al 21 en las Comunidades: Catalunya, Comunidad Valenciana. .
La Semana Santa se celebra del 17 al 21 en las Comunidades: Navarra, Islas Baleares, Cantabria, País Vasco, La Rioja.

Día 21: Lunes de Pascua de Resurección
Día 23: San Jorge, día de Aragón.
Día 23: Día de la Comunidad de Castilla y León.

Día 1: Fiesta del trabajo, festivo en toda España.
Día 1 : La Santa Faz, fiesta local Alicante, que se traslada al 23 Junio, Hogueras.
Día 2: Fiesta de la Comunidad de Madrid
Día 3: Festivo en Santa Cruz de Tenerife (capital), Puerto de la Cruz y Los Realejos.
Día 4 : Primer Domingo de Mayo: Día de la madre. Frases para la madre.
Día 11: San Anastasi fiesta local en Lérida.
2º Domingo de Mayo: Virgen de los Desamparados, patrona de Valencia. Este año cae día 11 de Mayo.
Día 15: San Isidro, fiesta en Madrid
Día 17: Día de las Letras Galegas
Día 20: Fiestas del Rocío en Huelva.
Día 21
: Martes de Campo en Oviedo, Asturias
Día 28: Pascua Granada, fiesta local Catalunya. Día de la Región de Castilla-La Mancha.
Día 30: Día de Canarias
Día 30: Fiesta local en Sevilla
Día 31: Día de la Región de Castilla La Mancha

Día 10 : Día Región de La Rioja.
Día 9: Día de la Región de Murcia.
Día 12: San Juan de Sahagún
en Salamanca.
Día 13: Pascua Granada: Catalunya.
Día 23: Corpus Christi, fiesta local en Toledo, Castilla-La Mancha.
Día 23: Fiesta de Santa Faz en Alicante: ha sido trasladada del 1 de Mayo.
Día 24: Fiestas de las Hogueras de San Juan , prov. Alicante, Cdad. Gallega.
Día 24: San Juan, Fiesta local en Catalunya.
Día 29: San Pedro, Fiesta en Castellón.

Fechas de inicio de verano:

Segundo semestre: Calendario Laboral 2014

Julio 2014
L
M
M
J
V
S
D
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 26
27
28 29 30 31      
Agosto 2014
L
M
M
J
V
S
D
   
1
2
3
4
5
6
7
8
9
10
11 12 13 14
15
16
17
18 19 20 21
22
23
24
25 26 27 28 29
30
31
Septiembre 2014
L
M
M
J
V
S
D
1
2
3
4
5
6
7
8
9
10 11
12
13
14
15
16 17
18
19
20
21
22
23 24 25
26
27
28
29 30          

Día 25: Santiago Apostol, fiesta en: Galicia, Navarra, País Vasco, Cantabria. En Canarias esta fecha se pasa a diferentes fechas del año según isla. Ver final de esta página.
Día 25: Fiesta de la Comunidad de Cantabria..
Día 25: Día Nacional de Galicia.

Día 28: Día de las Instituciones en Cantabria.
Día 31: San Ignacio de Loyola, fiesta provincial (Guipúzcoa)

Día 5: Ntra. Sra. de los Volcanes en La Palma.; Fiesta de la Vírgen Blanca en Vitoria-Gasteiz;
Día 10: San Lorenzo
en: Huesca,
Día 15:
La Asunción de la Vírgen.Fiesta Nacional.
Día 15: Semana Grande de Bilbao (del 17 al 25)
Día 15: Semana Grande de San Sebastián (del 10 al 17)
Día 15: Asunción de la Vírgen en Málaga; Fiestas patronales de la Virgen del Sagrario en Toledo
Día 16: San Roque en: Vigo,
Día 19: Sant Magí en Tarragona
Día 28: Fiesta San Agustín en Zamora.
Mes de vacaciones y viajes

Dia 2: Día de la Ciudad Autonónoma de Ceuta
Día 8:
Día de Extremadura. Dicha Cdad. se coge también el día 9.
Día 8: Día de Asturias, la Virgen de Covadonga. Dicha Cdad. se coge el día 9 también.
Día 8 : Fiesta Virgen de los Llanos en Albacete.
Dia 8 : Ntra. Sra. de la Peña en Can Canaria.
Día 8: Virgen de la Vega en Salamanca.
Día 9: Fiesta de la Almudena en Madrid.
Día 11: Fiesta de la Diada de Catalunya
Día 13: fiesta local Oviedo, San Mateo
Día 14: Fiesta local en Murcia.
Día 15: La Bien Aparecida (Cantabria)
Día 15: Ntra. Sra. de Guadalupe en Lanzarote.
Día 19: Día de América en Asturias, declaradas de Interés Turístico Nacional.
Día 21: San Mateo en Oviedo (Asturias)
Día 24: La Merçé, Fiesta Mayor (local) en Barcelona.
Día 24: Ntra. Sra. de los Reyes, en El Hierro,

Octubre 2014
L
M
M
J
V
S
D
1
2
3
4
5
6
7
8
9 10 11
12
13 14 15 16 17 18 19
20 21
22
23 24
25
26
27 28 29 30      
Noviembre 2014
L
M
M
J
V
S
D
 
1
2
3
4
5
6
7
8
9
10 11 12
13
14
15
16
17 18 19 20
21
22
23
24 25 26 27
28
29
30
Diciembre 2014
L
M
M
J
V
S
D
1
2
3
4
5
6
7
8
9
10 11
12
13
14
15 16 17 18 19 20
21
22 23 24 25 26 27
28
29 30
31

Día 3: Ntra. Sra. del Pino en La Gomera. Día 5: San Froilán en Lugo
Día 9: Día de la Comunidad Valenciana.
Día 12: Día de la Hispanidad, Fiesta Nacional de España.
Día 12: Fiesta del Pilar en Zaragoza. Se traslada el día festivo al 13 en las siguientes Comunidades: Andalucía, Aragón, Asturias, Castilla y León y Extremadura.
Día 15: Fiesta del Sacrificio en Melilla.
Día 15: Fiesta de la Pascua del Sacrificio en Ceuta.
Día 25: Día del País Vasco-Euskadiko Eguna

Día 1: Día de a todos los Santos. Fiesta Nacional.
Día 6
: Pascua del Sacrificio en Ceuta.
Día 7 : Fiesta del Sacrificio (Aid El Kebir), en Melilla.
Día 9
: La Almudena, fiesta en varias localidades de Madrid
Día 11: San Martín fiesta en Pontevedra.

Recetas de setas

Día 3: San Francisco Javier: día festivo en Navarra.
Día 6: Día de la Constitución Española
Día 8: Día de la Inmaculada Concepción.
.
Día 24: Ver Nochebuena
Dia 25: Natividad del Señor. Ver Navidad
Día 26: San Esteban, segunda fiesta de Navidad: Baleares y Catalunya, Andalucia, Aragón, Asturias, Canarias, Castilla-León, Extremadura, Navarra, Ceuta y Melilla.
Día 27: Fiesta local Palma de Mallorca
Día 28: Día de los Santos Inocentes

Día 31: Nochevieja. Ver Nochevieja

El calendario laboral años anteriores:

Si tienes esta información te agradeceríamos que nos la comuniques.
Ideas son Bienvenidas.

Calendario laborales de las Comunidades Autónomas:

Fiestas locales en las islas de El Hierro, Fuerteventura, Gran Canaria, La Gomera, Lanzarote, La Palma y Tenerife la fiesta, a combio del 25 de Julio:

- El Hierro: 24 de septiembre, Nuestra Señora de los Reyes.
- Fuerteventura: 18 de septiembre, Nuestra Señora de la Peña.
- Gran Canaria: 8 de septiembre, Nuestra Señora del Pino.
- La Gomera: 4 de octubre, Nuestra Señora de Guadalupe.
- Lanzarote: 15 de septiembre, Virgen de los Dolores, Nuestra Señora de los Volcanes.
- La Palma: 5 de agosto, Virgen de las Nieves.
- Tenerife: 2 de febrero, Nuestra Señora de la Candelaria.

** En Catalunya y Baleares: se pueden trasladar al lunes los días festivos, que caigan en domingo)

Otros temas relacionados con el Calendario:

 


Búsqueda personalizada

Información anual de cada estación del año
Invierno
Otoño
Primavera
Verano
Si tienes otros consejos que sean útiles, escríbenos
 
comments powered by Disqus  
 

 
Creative Commons License ityis

Verano
ItyIs Siglo XXI | Euroresidentes | España, Spain

logo_cpm
------------67LS6fQ3kILML0Yye5jr0K Content-Disposition: inline; filename=comun.css Content-Type: text/css; name=comun.css Content-Location: http://www.euroresidentes.com/css/comun.css Content-Transfer-Encoding: 8bit /* Make the Facebook Like box responsive (fluid width) https://developers.facebook.com/docs/reference/plugins/like-box/ */ /* This element holds injected scripts inside iframes that in some cases may stretch layouts. So, we're just hiding it. */ #fb-root { display: none; } /* To fill the container and nothing else */ .fb_iframe_widget, .fb_iframe_widget span, .fb_iframe_widget span iframe[style] { width: 100% !important; } ------------67LS6fQ3kILML0Yye5jr0K Content-Disposition: inline; filename=vivienda.css Content-Type: text/css; name=vivienda.css Content-Location: http://www.euroresidentes.com/vivienda/css/vivienda.css Content-Transfer-Encoding: 8bit body { font-family: arial, geneva, tahoma; color:#333; font-size:12px; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; background-color: #97A8B7; } body,td,th { font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #333333; } /************** h1 Es para la cabecera de la página ******************************/ h1 { font-family: 'arial rounded', arial; font-size:22px; font-weight:normal; color:#ffffff; } /************** h1 Es para la cabecera de la página. subtitulo ******************************/ h4 { font-family: 'arial rounded', arial; font-size:18px; font-weight:normal; color:#C7DEED; } /************** h2 es para apartados ( Actualidad, Viajes, alimentacion...) ***********/ h2 { font-family: 'arial rounded', arial; font-size:25px; font-weight:normal; color:#003C6E; margin: 0mm 0 0mm 0; /* funciona en todos */ *margin 0mm 0 0mm 0; /* funciona tanto en IE6 como 7 */ _margin: 0mm 0 0mm 0; /* funciona sólo en IE6 y no en IE7 */ } /*************** h3 es para subapartados (Blogs hoy, Halloween) *************/ h3 { font-family: 'arial rounded', arial; font-size:20px; font-weight:normal; color: #2998BD; margin: 1mm 0 1mm 0; /* funciona en todos */ *margin 1mm 0 1mm 0; /* funciona tanto en IE6 como 7 */ _margin: 1mm 0 1mm 0; /* funciona sólo en IE6 y no en IE7 */ } a { text-decoration:underline; } a:hover { text-decoration:none; } a img { border:none; } /***************** COLUMNA DE LA IZQUIERDA *********************/ .columna-izq { font-size:12px; font-weight:normal; color:#ffffff; } .columna-izq a { font-size:12px; font-weight:normal; color:#333333; text-decoration:none; } .columna-izq a:hover { color:#333333; text-decoration:underline; } /**************** TEXTO EN BLANCO ***************************/ a.texto-blanco { color:#fff; font-size:13px; } a.texto-blanco:link { color: #fff; text-decoration:underline; } a.texto-blanco:hover { color: #fff; text-decoration:underline; } a.texto-blanco:visited { color: #fff; text-decoration:underline; } /**************** TEXTO colores ***************************/ .verde {font-size: 16px; color: #669900; } .blancotitulo {font-size: 20px; color: #ffffff; } .colorblanco {font-size: 13px; color: #ffffff; } .subtitulos18 {font-size: 18px; color: #000000; } /**************** enlaces***************************/ a { font-size: 12px; color: #333333; } a:visited { color: #333333; } a:hover { color: #333333; } a:active { color: #333333; } /**************** enlaces***************************/ a { font-size: 12px; color: #333333; } a:visited { color: #333333; } a:hover { color: #333333; } a:active { color: #333333; } a.tipoa { font-size: 12px; color: #333333;text-decoration: underline ;} a.tipoa:link {color:#333333 ;} a.tipoa:visited {color:#333333 ;} a.tipoa:hover {color:#333333 ; text-decoration: underline ;} a.tipoa:active {color:#333333 ;} A.tipob {font-size: 25px; color: #ffffff; text-decoration: none ;} a.tipob:link {color:#ffffff;} a.tipob:visited {color:#ffffff;} a.tipob:hover {color:#ffffff; text-decoration: underline ;} a.tipob:active {color:#ffffff;} a.titulo2 {font-size: 20px; color: #ffffff; text-decoration: none ;} a.titulo2:link {color:#ffffff;} a.titulo2:visited {color:#ffffff;} a.titulo2:hover {color:#ffffff; text-decoration: underline ;} a.titulo2:active {color:#ffffff;} a.enlaceblanco {font-size: 12px; color: #ffffff; text-decoration: none ;} a.enlaceblanco:link {color:#ffffff;} a.enlaceblanco:visited {color:#ffffff;} a.enlaceblanco:hover {color:#ffffff; text-decoration: underline ;} a.enlaceblanco:active {color:#ffffff;} /**************** tamaños texto***************************/ .style1 {font-size: 28px} .Estilo3 {color:#fff; font-size: 14px;} .Estilo6 {font-size: 14px} .Estilo6 {font-size: 25px} .style11 {font-size: 1px; font-weight: bold; } .style11 {font-size: 28px} ------------67LS6fQ3kILML0Yye5jr0K Content-Disposition: inline; filename=horoscopop.js Content-Type: application/x-javascript; name=horoscopop.js Content-Location: http://est.euroresidentes.com/js/publicidad/horoscopop.js Content-Transfer-Encoding: Base64 dmFyIEFOQUpTX1BvcnRhbERvbWFpbiA9ICdldXJvcmVzaWRlbnRlcy5jb20nOwp2 YXIgQU5BSlNfUG9ydGFsUHJlZml4ID0gJ2VyJzsKdmFyIEFOQUpTX1NlY3Rpb24g PSAnaG9yb3Njb3BvcCc7CnZhciBBTkFKU19TaXplcyA9IFsgICdpbnQnICwgICc3 MjgnICwgICczMDBkY2hhJyAgIF07CnZhciBBTlNKU19TaXplU2VwYXJhdG9yID0g J18nOwp2YXIgQU5BSlNfRGl2Q2xhc3MgPSAnYWR2ZXJ0aXNlbWVudCc7Cgp2YXIg QU5BSlNfRGF0ZSA9IG5ldyBEYXRlKCk7CnZhciBBTkFKU19tcyA9IEFOQUpTX0Rh dGUuZ2V0VGltZSgpOwp2YXIgUGl4ZWxDb3VudGVySW5jbHVkZWQgPSAwOwoKaWYg KEFOQUpTX1NpemVzLmxlbmd0aCA+IDApIHsKCXZhciBBTkFKU19SZXF1ZXN0ID0g JzxTQycrJ1JJUFQgTEFOR1VBR0U9SmF2YVNjcmlwdDEuMSBTUkM9IicgKyAnaHR0 cDovL2FuYWpzLicgKyBBTkFKU19Qb3J0YWxEb21haW4gKyAnLycgKyAnYW5hanNt dWx0aXBsZS8nICsgQU5BSlNfUG9ydGFsUHJlZml4ICsgJy8xJyArIEFOQUpTX21z LnRvU3RyaW5nKCkgKyAnQCc7Cglmb3IgKGkgPSAwOyBpIDwgQU5BSlNfU2l6ZXMu bGVuZ3RoIC0gMTsgKytpKSB7CgkJQU5BSlNfUmVxdWVzdCArPSBBTkFKU19TZWN0 aW9uICsgQU5TSlNfU2l6ZVNlcGFyYXRvciArIEFOQUpTX1NpemVzW2ldICsgJywn OwoJfQoJQU5BSlNfUmVxdWVzdCArPSBBTkFKU19TZWN0aW9uICsgQU5TSlNfU2l6 ZVNlcGFyYXRvciArIEFOQUpTX1NpemVzW0FOQUpTX1NpemVzLmxlbmd0aCAtIDFd OwoJQU5BSlNfUmVxdWVzdCArPSAnPyI+PC9TQ1JJUFQ+JzsKCWRvY3VtZW50Lndy aXRlKEFOQUpTX1JlcXVlc3QpOwp9CmRvY3VtZW50LndyaXRlKCc8U0NSSVBUIExB TkdVQUdFPUphdmFTY3JpcHQxLjEgU1JDPSJodHRwOi8vZXN0LicgKyBBTkFKU19Q b3J0YWxEb21haW4gKyAnL2pzL2NvbXVuZXMuanMnICsgJyI+PC9TQ1JJUFQ+Jyk7 CgpmdW5jdGlvbiBBTkFKU19QdWJsaWNpZGFkKFNpemUpIHsKCWlmICgwID09IFBp eGVsQ291bnRlckluY2x1ZGVkKSB7CgkJZG9jdW1lbnQud3JpdGUoJzxTQ1JJUFQg TEFOR1VBR0U9SmF2YVNjcmlwdDEuMSBTUkM9Imh0dHA6Ly9lc3QuJyArIEFOQUpT X1BvcnRhbERvbWFpbiArICcvanMvcGl4ZWwuanMnICsgJyI+PC9TQ1JJUFQ+Jyk7 CgkJUGl4ZWxDb3VudGVySW5jbHVkZWQgPSAxOwoJfQoJaWYgKCd1bmRlZmluZWQn ICE9IHR5cGVvZihBTkFKU19TZXJ2ZWQpKSB7CgkJdmFyIFBvc2l0aW9uID0gQU5B SlNfU2VjdGlvbiArIEFOU0pTX1NpemVTZXBhcmF0b3IgKyBTaXplOwoJCXZhciBD cmVhdGl2aXR5ID0gQU5BSlNfU2VydmVkKFBvc2l0aW9uKTsKCQlpZiAoJ3VuZGVm aW5lZCcgPT0gdHlwZW9mKENyZWF0aXZpdHkpKSB7CgkJCUNyZWF0aXZpdHkgPSAi PCEtLSBQb3NpdGlvbjogIiArIFBvc2l0aW9uICsgIiBkb2Vzbid0IGV4aXN0cyBv biB0aGlzIHBhZ2UgLS0+IjsKCQl9CgkJaWYgKCcyMzQnID09IFNpemUpIHsKCQkJ dmFyIENyZWF0aXZpdHk3MzAgPSBBTkFKU19TZXJ2ZWQoQU5BSlNfU2VjdGlvbiAr IEFOU0pTX1NpemVTZXBhcmF0b3IgKyAnNzI4Jyk7CgkJCWlmIChDcmVhdGl2aXR5 NzMwLmluZGV4T2YoIkVMMjM0REVCRVNBTElSRU5CTEFOQ08iKSAhPSAtMSkgewoJ CQkJQ3JlYXRpdml0eSA9ICIiOwoJCQl9CgkJfQoJCWlmICgnbGF5ZXInID09IFNp emUpIHsKCQkJdmFyIENyZWF0aXZpdHlJbnQgPSBBTkFKU19TZXJ2ZWQoQU5BSlNf U2VjdGlvbiArIEFOU0pTX1NpemVTZXBhcmF0b3IgKyAnaW50Jyk7CgkJCWlmIChD cmVhdGl2aXR5SW50LmluZGV4T2YoIkVMTEFZRVJERUJFU0FMSVJFTkJMQU5DTyIp ICE9IC0xKSB7CgkJCQlDcmVhdGl2aXR5ID0gIiI7CgkJCX0KCQl9CQkJCgkJaWYg KEFOQUpTX0RpdkNsYXNzID09ICItIikgewoJCQlkb2N1bWVudC53cml0ZShDcmVh dGl2aXR5KTsKCQl9CgkJZWxzZSB7CgkJCWlmIChDcmVhdGl2aXR5Lmxlbmd0aCA+ IDIwMCkgewoJCQkJLyogaGF5IGNyZWF0aXZpZGFkICovCgkJCQlkb2N1bWVudC53 cml0ZSgiPGRpdiBjbGFzcz0nIiArIEFOQUpTX0RpdkNsYXNzICsgIic+Iik7CgkJ CQlkb2N1bWVudC53cml0ZShDcmVhdGl2aXR5KTsKCQkJCWRvY3VtZW50LndyaXRl KCI8L2Rpdj4iKTsKCQkJfQoJCQllbHNlIHsKCQkJCWRvY3VtZW50LndyaXRlKENy ZWF0aXZpdHkpOwoJCQl9CgkJfQoJfQp9Cgo= ------------67LS6fQ3kILML0Yye5jr0K Content-Disposition: inline; filename=show_ads.js Content-Type: text/javascript; charset=UTF-8; name=show_ads.js Content-Location: http://pagead2.googlesyndication.com/pagead/show_ads.js Content-Transfer-Encoding: Quoted-Printable (function(){var l=3Dthis,aa=3Dfunction(a){var b=3Dtypeof a;if("object"=3D= =3Db)if(a){if(a instanceof Array)return"array";if(a instanceof Object)re= turn b;var c=3DObject.prototype.toString.call(a);if("[object Window]"=3D= =3Dc)return"object";if("[object Array]"=3D=3Dc||"number"=3D=3Dtypeof a.l= ength&&"undefined"!=3Dtypeof a.splice&&"undefined"!=3Dtypeof a.propertyI= sEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object= Function]"=3D=3Dc||"undefined"!=3Dtypeof a.call&&"undefined"!=3Dtypeof = a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"= }else return"null"; else if("function"=3D=3Db&&"undefined"=3D=3Dtypeof a.call)return"object"= ;return b},ba=3Dfunction(a,b,c){return a.call.apply(a.bind,arguments)},c= a=3Dfunction(a,b,c){if(!a)throw Error();if(2a?0:a= },ea=3D/^([\w-]+\.)*([\w-]{2,})(\:[0-9]+)?$/,fa=3Dfunction(a,b){if(!a)re= turn b;var c=3Da.match(ea);return c?c[0]:b};var ga=3Dv("0.15"),ha=3Dv("0= .01"),ia=3Dv("0.001"),ja=3Dv("0.0"),ka=3Dv("0.001"),la=3Dv("0.2"),ma=3Dv= ("0.001");var na=3D/^true$/.test("false")?!0:!1,oa=3D/^true$/.test("fals= e")?!0:!1;var pa=3D/&/g,qa=3D//g,sa=3D/"/g,ta=3D/'/g,w=3D{"\x= 00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":= "\\x0B",'"':'\\"',"\\":"\\\\"},y=3D{"'":"\\'"};var A=3Dfunction(a){A[" "= ](a);return a};A[" "]=3Dfunction(){};var B=3Ddocument,D=3Dwindow,F,ua=3D= null,G=3DB.getElementsByTagName("script");G&&G.length&&(ua=3DG[G.length-= 1]);F=3Dua;var H=3Dfunction(a,b){for(var c in a)Object.prototype.hasOwnP= roperty.call(a,c)&&b.call(null,a[c],c,a)},I=3Dfunction(a){return!!a&&"fu= nction"=3D=3Dtypeof a&&!!a.call},va=3Dfunction(a,b){if(!(2>arguments.len= gth))for(var c=3D1,e=3Darguments.length;cMath.random())){var c=3DMath.random();if(c>2)+a.charCodeAt(e)&4294967295;return 0c;++c){var e=3D9!=3Da.nodeType&&a= .id,e=3De?"/"+e:"",d;o:{var f=3Da.parentElement;d=3Da.nodeName.toLowerCa= se();if(f)for(var f=3Df.childNodes,g=3D0, n=3D0;ne;++e){for(var d=3Dc.frames,f=3D0;fe;b=3Db.parentNode,++e)a.push(9!=3Db.nodeType&&b.id||= "");(b=3Da.join())&&c.push(b)}else c.push(ya(b)),c.push(za(a));return O(= c.join(":")).toString()},P=3Dfunction(a){try{return!!a.location.href||""= =3D=3D=3Da.location.href}catch(b){return!1}};var Ba=3D!!window.google_as= ync_iframe_id,Ca=3D/MSIE [2-7]|PlayStation|Gecko\/20090226|Android 2\.|O= pera/i,Da=3D/Android/;var Q=3D!0,Ea=3D{},Ga=3Dfunction(a,b,c,e){var d,f=3D= Q;try{d=3Dc()}catch(g){try{var n,h=3Dg.toString();g.name&&-1=3D=3Dh.inde= xOf(g.name)&&(h+=3D": "+g.name);g.message&&-1=3D=3Dh.indexOf(g.message)&= &(h+=3D": "+g.message);if(g.stack){var k=3Dg.stack;c=3Dh;try{-1=3D=3Dk.i= ndexOf(c)&&(k=3Dc+"\n"+k);for(var p;k!=3Dp;)p=3Dk,k=3Dk.replace(/((https= ?:\/..*\/)[^\/:]*:\d+(?:.|\n)*)\2/,"$1");h=3Dk.replace(/\n */g,"\n")}cat= ch(m){h=3Dc}}n=3Dh;h=3D"";g.fileName&&(h=3Dg.fileName);k=3D-1;g.lineNumb= er&&(k=3Dg.lineNumber);var r;o:{try{r=3De?e():"";break o}catch(C){}r=3D"= "}f=3D b(a,n,h,k,r)}catch(x){Fa({context:"protectAndRun",msg:x.toString()+"\n"+= (x.stack||"")})}if(!f)throw g;}return d},Ia=3Dfunction(a,b,c,e,d,f){a=3D= {context:a,msg:b.substring(0,512),eid:d&&d.substring(0,40),file:c,line:e= .toString(),url:B.URL.substring(0,512),ref:B.referrer.substring(0,512)};= Ha(a);Fa(a,f);return Q},Fa=3Dfunction(a,b){if(Math.random()<(b||0.01)){v= ar c=3D"/pagead/gen_204?id=3Djserror"+Ja(a),c=3D"http"+("https:"=3D=3DD.= location.protocol?"s":"")+"://pagead2.googlesyndication.com"+c,c=3Dc.sub= string(0,2E3);D.google_image_requests|| (D.google_image_requests=3D[]);var e=3DD.document.createElement("img");e= .src=3Dc;D.google_image_requests.push(e)}},Ha=3Dfunction(a){var b=3Da||{= };H(Ea,function(a,e){b[e]=3DD[a]})},R=3Dfunction(a,b){return da(Ga,a,Ia,= b,void 0)},Ja=3Dfunction(a){var b=3D"";H(a,function(a,e){if(0=3D=3D=3Da|= |a)b+=3D"&"+e+"=3D"+("function"=3D=3Dtypeof encodeURIComponent?encodeURI= Component(a):escape(a))});return b};var Ka=3Dnull,La=3Dfunction(){if(!Ka= ){for(var a=3Dwindow,b=3Da,c=3D0;a!=3Da.parent;)if(a=3Da.parent,c++,P(a)= )b=3Da;else break;Ka=3Db}return Ka};var Ma=3Dfunction(a,b,c){c||(c=3Doa?= "https":"http");return[c,"://",a,b].join("")};var Na=3Dfunction(){},Pa=3D= function(a,b,c){switch(typeof b){case "string":Oa(b,c);break;case "numbe= r":c.push(isFinite(b)&&!isNaN(b)?b:"null");break;case "boolean":c.push(b= );break;case "undefined":c.push("null");break;case "object":if(null=3D=3D= b){c.push("null");break}if(b instanceof Array){var e=3Db.length;c.push("= [");for(var d=3D"",f=3D0;fb?d+=3D"00= 0":256>b?d+=3D"00":4096>b&&(d+=3D"0");return Qa[a]=3Dd+b.toString(16)}))= ;b.push('"')};var S=3D"google_ad_block google_ad_channel google_ad_clien= t google_ad_format google_ad_height google_ad_host google_ad_host_channe= l google_ad_host_tier_id google_ad_output google_ad_override google_ad_r= egion google_ad_section google_ad_slot google_ad_type google_ad_unit_key= google_ad_unit_key_2 google_ad_unit_key_3 google_ad_unit_key_css google= _ad_unit_key_dom google_ad_unit_key_var google_ad_unit_key_win google_ad= _width google_adtest google_allow_expandable_ads google_alternate_ad_url= google_alternate_color google_analytics_domain_name google_analytics_ua= cct google_available_width google_bid google_captcha_token google_city g= oogle_color_bg google_color_border google_color_line google_color_link g= oogle_color_text google_color_url google_container_id google_content_rec= ommendation_ui_type google_contents google_country google_cpm google_ctr= _threshold google_cust_age google_cust_ch google_cust_criteria google_cu= st_gender google_cust_id google_cust_interests google_cust_job google_cu= st_l google_cust_lh google_cust_u_url google_disable_video_autoplay goog= le_ed google_eids google_enable_content_recommendations google_enable_os= e google_enable_ose_periscope google_encoding google_floating_ad_positio= n google_font_face google_font_size google_frame_id google_gl google_hin= ts google_image_size google_kw google_kw_type google_lact google_languag= e google_loeid google_max_num_ads google_max_radlink_len google_mtl goog= le_num_radlinks google_num_radlinks_per_unit google_only_ads_with_video = google_only_pyv_ads google_only_userchoice_ads google_override_format go= ogle_page_url google_previous_watch google_previous_searches google_refe= rrer_url google_region google_reuse_colors google_rl_dest_url google_rl_= filtering google_rl_mode google_rt google_safe google_sc_id google_scs g= oogle_sui google_skip google_tag_for_child_directed_treatment google_tag= _info google_targeting google_tdsma google_tfs google_tl google_ui_featu= res google_ui_version google_video_doc_id google_video_product_type goog= le_video_url_to_fetch google_with_pyv_ads google_yt_pt google_yt_up".spl= it(" "), Sa=3D{google_analytics_domain_name:!0,google_analytics_uacct:!0},Ta=3Dfu= nction(a){a.google_page_url&&(a.google_page_url=3DString(a.google_page_u= rl));var b=3D[];H(a,function(a,e){if(null!=3Da){var d;try{var f=3D[];Pa(= new Na,a,f);d=3Df.join("")}catch(g){}d&&va(b,e,"=3D",d,";")}});return b.= join("")};var T=3Dnull;var U=3Dfunction(a){this.b=3Da;a.google_iframe_on= copy||(a.google_iframe_oncopy=3D{handlers:{},upd:q(this.o,this)});this.m= =3Da.google_iframe_oncopy},Ua;var V=3D"var i=3Dthis.id,s=3Dwindow.google= _iframe_oncopy,H=3Ds&&s.handlers,h=3DH&&H[i],w=3Dthis.contentWindow,d;tr= y{d=3Dw.document}catch(e){}if(h&&d&&(!d.body||!d.body.firstChild)){if(h.= call){setTimeout(h,0)}else if(h.match){try{h=3Ds.upd(h,i)}catch(e){}w.lo= cation.replace(h)}}"; /[&<>"']/.test(V)&&(-1!=3DV.indexOf("&")&&(V=3DV.replace(pa,"&")),-1= !=3DV.indexOf("<")&&(V=3DV.replace(qa,"<")),-1!=3DV.indexOf(">")&&(V=3D= V.replace(ra,">")),-1!=3DV.indexOf('"')&&(V=3DV.replace(sa,"""))= ,-1!=3DV.indexOf("'")&&(V=3DV.replace(ta,"'")));Ua=3DV;U.prototype.s= et=3Dfunction(a,b){this.m.handlers[a]=3Db;this.b.addEventListener&&this.= b.addEventListener("load",q(this.n,this,a),!1)}; U.prototype.n=3Dfunction(a){a=3Dthis.b.document.getElementById(a);try{va= r b=3Da.contentWindow.document;if(a.onload&&b&&(!b.body||!b.body.firstCh= ild))a.onload()}catch(c){}};U.prototype.o=3Dfunction(a,b){var c=3DVa("rx= ",a),e;o:{if(a&&(e=3Da.match("dt=3D([^&]+)"))&&2=3D=3De.length){e=3De[1]= ;break o}e=3D""}e=3D(new Date).getTime()-e;c=3Dc.replace(/&dtd=3D(\d+|M)= /,"&dtd=3D"+(1E4>e?e+"":"M"));this.set(b,c);return c};var Va=3Dfunction(= a,b){var c=3Dnew RegExp("\\b"+a+"=3D(\\d+)"),e=3Dc.exec(b);e&&(b=3Db.rep= lace(c,a+"=3D"+(+e[1]+1||1)));return b};var W;o:{var Wa=3Dl.navigator;if= (Wa){var Xa=3DWa.userAgent;if(Xa){W=3DXa;break o}}W=3D""}var X=3Dfunctio= n(a){return-1!=3DW.indexOf(a)};var Ya=3DX("Opera")||X("OPR"),Za=3DX("Tri= dent")||X("MSIE"),$a=3DX("Gecko")&&-1=3D=3DW.toLowerCase().indexOf("webk= it")&&!(X("Trident")||X("MSIE")),ab=3D-1!=3DW.toLowerCase().indexOf("web= kit");(function(){var a=3D"",b;if(Ya&&l.opera)return a=3Dl.opera.version= ,"function"=3D=3Daa(a)?a():a;$a?b=3D/rv\:([^\);]+)(\)|;)/:Za?b=3D/\b(?:M= SIE|rv)[: ]([^\);]+)(\)|;)/:ab&&(b=3D/WebKit\/(\S+)/);b&&(a=3D(a=3Db.exe= c(W))?a[1]:"");return Za&&(b=3D(b=3Dl.document)?b.documentMode:void 0,b>= parseFloat(a))?String(b):a})();var Y,Z=3Dfunction(a){this.c=3D[];this.b=3D= a||window;this.a=3D0;this.d=3Dnull;this.e=3D0},bb=3Dfunction(a,b){this.l= =3Da;this.win=3Db};Z.prototype.q=3Dfunction(a,b){0!=3Dthis.a||0!=3Dthis.= c.length||b&&b!=3Dwindow?this.h(a,b):(this.a=3D2,this.g(new bb(a,window)= ))};Z.prototype.h=3Dfunction(a,b){this.c.push(new bb(a,b||this.b));cb(th= is)};Z.prototype.r=3Dfunction(a){this.a=3D1;if(a){var b=3DR("sjr::timeou= t",q(this.f,this,!0));this.d=3Dthis.b.setTimeout(b,a)}}; Z.prototype.f=3Dfunction(a){a&&++this.e;1=3D=3Dthis.a&&(null!=3Dthis.d&&= (this.b.clearTimeout(this.d),this.d=3Dnull),this.a=3D0);cb(this)};Z.prot= otype.s=3Dfunction(){return!(!window||!Array)};Z.prototype.t=3Dfunction(= ){return this.e};Z.prototype.nq=3DZ.prototype.q;Z.prototype.nqa=3DZ.prot= otype.h;Z.prototype.al=3DZ.prototype.r;Z.prototype.rl=3DZ.prototype.f;Z.= prototype.sz=3DZ.prototype.s;Z.prototype.tc=3DZ.prototype.t;var cb=3Dfun= ction(a){var b=3DR("sjr::tryrun",q(a.p,a));a.b.setTimeout(b,0)}; Z.prototype.p=3Dfunction(){if(0=3D=3Dthis.a&&this.c.length){var a=3Dthis= .c.shift();this.a=3D2;var b=3DR("sjr::run",q(this.g,this,a));a.win.setTi= meout(b,0);cb(this)}};Z.prototype.g=3Dfunction(a){this.a=3D0;a.l()}; var db=3Dfunction(a){try{return a.sz()}catch(b){return!1}},eb=3Dfunction= (a){return!!a&&("object"=3D=3Dtypeof a||"function"=3D=3Dtypeof a)&&db(a)= &&I(a.nq)&&I(a.nqa)&&I(a.al)&&I(a.rl)},fb=3Dfunction(){if(Y&&db(Y))retur= n Y;var a=3DLa(),b=3Da.google_jobrunner;return eb(b)?Y=3Db:a.google_jobr= unner=3DY=3Dnew Z(a)},gb=3Dfunction(a,b){fb().nq(a,b)},hb=3Dfunction(a,b= ){fb().nqa(a,b)};var ib=3D{"120x90":!0,"160x90":!0,"180x90":!0,"200x90":= !0,"468x15":!0,"728x15":!0},jb=3Dfunction(){var a=3DA("script");return["= <",a,' src=3D"',Ma(fa("","pagead2.googlesyndication.com"),"/pagead/js/r2= 0140424/r20140417/show_ads_impl.js",""),'">"].join("")},kb=3Dfun= ction(a,b,c,e){return function(){var d=3D!1;e&&fb().al(3E4);var f=3Da.do= cument.getElementById(b); f&&!P(f.contentWindow)&&3=3D=3Da.google_top_js_status&&(a.google_top_js_= status=3D6);try{if(P(a.document.getElementById(b).contentWindow)){var g=3D= a.document.getElementById(b).contentWindow,n=3Dg.document;n.body&&n.body= .firstChild||(n.open(),g.google_async_iframe_close=3D!0,n.write(c))}else= {var h=3Da.document.getElementById(b).contentWindow,k;f=3Dc;f=3DString(f= );if(f.quote)k=3Df.quote();else{g=3D['"'];for(n=3D0;nm)E=3Dp;else{var t=3D p;if(t in y)E=3Dy[t];else if(t in w)E=3Dy[t]=3Dw[t];else{var s=3Dt,z=3Dt= .charCodeAt(0);if(31z)s=3Dt;else{if(256>z){if(s=3D"\\x",16>z||25= 6z&&(s+=3D"0");s+=3Dz.toString(16).toUpp= erCase()}E=3Dy[t]=3Ds}}x=3DE}r[C]=3Dx}g.push('"');k=3Dg.join("")}h.locat= ion.replace("javascript:"+k)}d=3D!0}catch(ub){h=3DLa().google_jobrunner,= eb(h)&&h.rl()}d&&(d=3DVa("google_async_rrc",c),(new U(a)).set(b,kb(a,b,d= ,!1)))}},lb=3Dfunction(a){var b=3D[""); return b.join("")},mb=3Dfunction(a,b,c,e){e=3De?'"':"";var d=3De+"0"+e;a= .width=3De+b+e;a.height=3De+c+e;a.frameborder=3Dd;a.marginwidth=3Dd;a.ma= rginheight=3Dd;a.vspace=3Dd;a.hspace=3Dd;a.allowtransparency=3De+"true"+= e;a.scrolling=3De+"no"+e},nb=3Dfunction(a,b,c){var e=3Db.google_ad_outpu= t,d=3Db.google_ad_format;d||"html"!=3De&&null!=3De||(d=3Db.google_ad_wid= th+"x"+b.google_ad_height,c&&(d+=3D"_as"));c=3D!b.google_ad_slot||b.goog= le_override_format||!ib[b.google_ad_width+"x"+b.google_ad_height]&&"aa"=3D= =3Db.google_loader_used;d=3Dd&&c?d.toLowerCase(): "";b.google_ad_format=3Dd;b.google_ad_unit_key=3DAa(null,F.parentElement= ,b,!0);d=3Da.google_adk2_experiment=3Da.google_adk2_experiment||M(["C","= E"],ka)||"N";"E"=3D=3Dd?(b.google_ad_unit_key_2=3DAa(a,F,b),d=3D[b.googl= e_ad_slot,b.google_ad_type],b.google_ad_unit_key_var=3DO(d.join()),a=3Dz= a(a),d.push(a),b.google_ad_unit_key_win=3DO(a),a=3Dya(F),d.push(a),b.goo= gle_ad_unit_key_dom=3DO(a),b.google_ad_unit_key_3=3DO(d.join(":"))):"C"=3D= =3Dd&&(b.google_ad_unit_key_2=3D"ctrl")},ob=3DMath.floor(1E6*Math.random= ()),pb=3Dfunction(a){for(var b=3Da.data.split("\n"), c=3D{},e=3D0;e");h=3D"border:none;height:"= +p+"px;margin:0;padding:0;position:relative;visibility:visible;width:"+k= +"px;background-color:transparent";b.write(['',c.join(" "),""].join(""));h=3Df.id;f=3Dd.google_overri= de_format||!ib[d.google_ad_width+ "x"+d.google_ad_height]&&"aa"=3D=3Dd.google_loader_used?M(["c","e"],la):= null;nb(a,d,"e"=3D=3Df);d=3DTa(d);var m;if(b=3D1=3D=3Da.google_unique_id= ){if(!T)e:{c=3D[D.top];b=3D[];for(k=3D0;p=3Dc[k++];){b.push(p);try{if(p.= frames)for(var r=3Dp.frames.length,C=3D0;Cc.length;++C)c.push(p= .frames[C])}catch(x){}}for(r=3D0;r= ",m,"<",g,">",d,"google_show_ads_impl=3Dtrue;google_unique_i= d=3D",a.google_unique_id,';google_async_iframe_id=3D"',h,'";google_start= _time=3D',u,";",b?'google_top_experiment=3D"'+ b+'";':"",c?'google_async_for_oa_experiment=3D"'+c+'";':"",k?'google_alw= ays_use_delayed_impressions_experiment=3D"'+k+'";':"",f?'google_append_a= s_for_format_override=3D"'+f+'";':"",p?'google_available_width_experimen= t=3D"'+p+'";':"","google_bpp=3D",r>u?r-u:1,";google_async_rrc=3D0;",jb(),""].join("");(a.document.getElementById(h)?gb:hb)= (kb(a,h,m,!0))}});})(); ------------67LS6fQ3kILML0Yye5jr0K Content-Disposition: inline; filename=cabecera.jpg Content-Type: image/jpeg; name=cabecera.jpg Content-Location: http://www.euroresidentes.com/finanzas/img_010/cabecera.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQH/wAARCABbA7sDAREAAhEBAxEB/8QAHQABAAMAAgMBAAAA AAAAAAAAAAgJCgIHAQQFBv/EAEAQAAECBAMECAQFAQcFAQAAAAADBQECBAYHCNUJ GFeVERITGSFYlNYUMTh3FSJBtLYjChckM1FxkzI0NTdCUv/EAB0BAQADAQACAwAA AAAAAAAAAAAGBwkIAQMCBAX/xABMEQEAAAQDAgkHBwoEBgMBAAAAAQIDBAUGBxHT EhYXGFZXkZLUEyEiMVWTowg2N0F0pLMUFSMyUWF1drTDJDNCQyVSU2JxxDRUobH/ 2gAMAwEAAhEDEQA/ALLKOjhUwrF6itbmhqaW+serguB7rUmu37aYGxGNS7XDcLtU RhTNTK1Uss9TX11RNCRNOXqyQUXUSSUtCEJpppKdOSerVqzy06VKnLGerWqzx2SU qUkPPPPPHzSyw/8A4qf0YSzzzzyU6dOSapVq1JoSUqVKSG2erVnj5pKckPPNNH1f +VOWYTbJWTZDg52nlVw5YcS6qkVqqFTGzGCiuCW2qqMvWSkcsO8KKSttusgjLNLB egeMUqtylradWMlfho1VEkk8tsYLpfUrU6dxj93VtuFCWb822E1Lykn1xkur2MtW WMf9M8lnCXgxh6F3PCKscY1KpUJ6lvgNpSueDGaX8438tXyc31QntbKE1GaH7ZZ7 yM22Edk1pJFXc8bWPP8Au9RMunj9UW6lGabs6CycPMKLHbUJI9Xqpp0Vp2K0JT9S WSWWC1TBeqU/qKLrqrLrqKzelkDKNKXZ+Z6dX/uuLm9uJ4/v4Ve5njD/AMQ2S/sh CEIQhDKufM2VY7fzvUpQ+qW3trO3kh+6EtC3kh5v2x2xj9cYxjGMfjd6XtAvM/f/ APwWzoB7eI2UvYdn8bevVx3zX7bvPhbs70vaBeZ+/wD/AILZ0AcRspew7P429OO+ a/bd58Ldnel7QLzP3/8A8Fs6AOI2UvYdn8benHfNftu8+Fu3mG1M2gUsYxhmgv8A 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 VSa4rRuBOohCM6kslZPGtliuM6E5RvKU0cGq4hgVzCE3k+DdV8Ss4zR/69DEate4 jLt9UKF5bxl2/XJCEiyMqfLF1Pwi5pwzRTwfONhGaX8ohXw+1wTE4U4f/VvcFoWl pJU2bIRjd4beQn2efg1Jo1U5rUuGzMTbP/vAwyeKh7t6nqEKK5Gqvpo0t02C61sy 8W5qu6kTljR9VzRp1VWd+aV6tjduxqadKoQcqStbqXmrNWUsZydiMMPxijLCFaE0 9jfUY8KzxClJs4c9vNH05Z6UZoQrW9aWStS2yzRljTnp1J+/9NdUMqaq4HHGcs3M /lbWNOnjGD3UvAxPBbirw/I07ySH6KpRuISTTWt5bT1bavwalOE8tejWo0/aIysR Txtk8wzrZVpYcZUbSdJ6KbEO26HGHG6egqpYKV7MtcNZT4UYdO0EZ+vJS0kbYUxU cG9aEyFfG4MP6+boqWaWRO2NL8Ep1p7vMFxT4UberPYYbw5f1JoUpY3t3T2w9c3l YWcs8PPL5O6k9U6sNSsZqUadpgNCfgwuKUl/iPBm888sas0LK1qbPql8j+WTSR80 3lLWf1yebO8XQp4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGxjCRg3cv7PzhGxVV L+GXNmuxWqL0ckYdElRVtdZdNfcLE6TfKeenrLGw+tFOM3jDsq5GSMeqpL1q1ybS /P8ArreXcJuHb5WwivwI7NssKv5NTsJ6f7ppbrErieH76Uf2RPlC4nDK/wAmKhhs YcC5zxmTDbaMIR4M3kad3Vxvyv7ZpJrbA7alND1bK8NvrhtqnOsmW4AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAA7yy7YwL4J4pMF2LyVNbalWpBgxCYaaeEs1xWG7 KpI3C3J9fpSlckaaEHRgqlJJ4N1wt7W4Qkn+G6k0Tzrle3zdl2/wirLThcTU418N uJ4f/ExKjLNG0r7fXCTh/oq8JdkZ7apWp7YcLbCyNJ9Qr7TLPGDZotZ601nRuJLX HLKlNs/OWBXNSSXErSMsfQmqeRh5e0jPCMtK9o21aMI+T2RuTuZlhbz+7M0lYi5I UFYonROdN0RpXVun6Fm12pYwmnhGldKBSmr6aPWj/QqE/HpOBIyzyRmkqyTUqsk0 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 hzoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVRlK+mfBH7d29+0gZ6aofS Bmv+K1Pw6bbn5PH0J6c/y9S/qbliR2o/1/5n/uAl/G2EvjI/zSwL7FD8SorjO/zr xv7Z/apoCkrRUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+5bNs3BelxsVo2mzuFw3Pc 7s3sNvsTVTKVjm8PLrVJUTc3UNKlCKi9VWVSySCKcsOmaeeHyh4nqrVqVvSq169S WlRoyTVatWePBkp05IRmnnmjH1QlhCMYvbRo1birToUKc1WtWnlp0qckOFPPUnjC WWWWEPXGaMYQg2vLWZbux72ejHlptipo5s3eZpthcmM9xt63TX263uNJ8NXJIrwU 7ampWihmhatuSydhItVfir5KlCo+KipV+RcIrapZ5nzRfUpuKmWasJMOo1ZfQu7q Sbh0pNkYbJ9s3+KufXsl8nRj5ppXj5QWoFDRjTWTIuDXEsM9Z2t544jXoz/pcMwu pL5O5uOFCbh055pNtlZerbPGtcS+enNwqRTr1lmAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABqoylfTPgj9u7e/aQM9NUPpAzX/Fan4dNtz8nj6E9Of5epf1Ny xI7Uf6/8z/3AS/jbCXxkf5pYF9ih+JUVxnf51439s/tU0BSVoqAAAAAAAAAAAAAA AAAAAAAAAAAAAAAa2Nj1kes7Jhg/XbUjOQzrtbxStdRLllw0eEE03Nwq3WkXQoro naqhKK8Hq4ITS01s9rFBNraFqt1roSQqpFKGnM0X+I57x2309ytNCpJVqy/n2/k8 9K3o055Y1pZqkI7PI0IelW2bY1KkJaVPhRhsmsahe4HpPlG/1PznHyU1vQnly9hk 2z8ovryrJNC3kpUo+lGvdTbJaMYxllo0ozVqs0km2aSJuYDHK98xuLN34u3/AF09 W+XS4qLI03WjGkZWhKaZNpYm5PwlSoWuj7OnT6sssy6sFqxfr1NSupP1XlfLmHZT wOwwLDKcJLazpQlmn2encV4+evc1Y+uNStU2zR+qWHBpy7JJJYQyjz9njG9Rc2Yv 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 L+puX//Z ------------67LS6fQ3kILML0Yye5jr0K Content-Disposition: inline; filename=logo_euroresidentes09.jpg Content-Type: image/jpeg; name=logo_euroresidentes09.jpg Content-Location: http://www.euroresidentes.com/home_euroresidentes09/img_euroresi09/logo_euroresidentes09.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQH/wAARCAA0AKQDAREAAhEBAxEB/8QAHwAAAQMFAQEBAAAA AAAAAAAAAAECBwUGCAkKAwsE/8QARRAAAQMDAgMEBQgIAgsAAAAABQMEBgECBwAI CRMUFRlY1xESUpenFyExQVGRofAWGCIyYYHB0YeSIyQlOGNxorG44fH/xAAdAQAB BAMBAQAAAAAAAAAAAAAAAQUGBwIECAkD/8QASxEAAQQABAIECQgHBgQHAAAAAwEC BAUABhITBxEUVmHVFRcYISJRkabwCBYjMXGVoaUyQZaxttHhJCVCUoHxYpKisiY1 ZnJ2hsH/2gAMAwEAAhEDEQA/AKnmDK8O4GMdxltl244rxLM99pPG4GfbndzWSIs0 mpnHshnLLtUZjDGQ54pa3DIgxqyC9zlf/Z5ASoEKEhBQmZc3CewcvZePxXdNzBez rGNlNs00Oho4MhYo5ooj9ss+cRqK4m4VFYiM9NpEKxhBsEm7yFmHMIOFTYWX6ODX yc1OhBmXl3MA2U+EWU3cFBhDVUQajGrX83cxuEonvGR5VUeH1/Hy4t11911m6yxC yt1a2opYJ218tK2tfmss5uHVVPVt+inMUvv9H711a/PqbpwT4bcvPlzmvrW5v+a9 q8rRE9iYhC8auInWJE7PBNF5uzz1yr7VXDO/x4uPixr7ids/kzpfEnw16tp985g7 0wnjp4i9Yk+6KLu3B3+PFx8WNfcTto8mdHiT4a9W0++cwd6YPHTxF6xJ90UPduHU 4+PFv+vdh6P8CNtPk3o8SXDXq1+cZg70wnjp4jdY/wApoe68O7+/i3+LKnuJ20eT esvEjw16tL975g71xj46uI3WP8oou6sHf38W/wAWVPcTto8m9HiR4a9Wl+98wd64 PHVxG6x/lFF3Vhe/u4uHix+BG2nyb0eJHhr1aX73zB3rg8dXEbrH+UUXdWFpx7uL f9e7GvuI20eTel8SXDbq1+bX3euE8dXEfrH+T0XdaYd39vFt8WVfcRtp8mtZeJHh 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 1Ftta0o0T0MaN3xIHYWuaswwEZFJZZkq5VfXyBsM9aevBJjBEZVaRiEbGFDYcjCI bcc5wiKvN6xpDZPCo3NM1GIJmGyGqZRx4zJRCTSR5Lu14rJS8yj543FZCZFhTJpw WFoMyzSppu3IIlmt7Zze9vcOnVEnWbWT5MGiDY0bp3gmzIKbFishbMuKGDJjx5kY JThA0JleB+w541C9HtRiNYzm0wbeuiz741depB8L1gzQZct87ehyzzo0mRDlHFHk HcYLWHYp2sI07FY5SK579MdCLJMJyETnDDdFBLJ1bQa4dStZ5khy2kjNymq3eMnb klj6tpijBEayTJBDo3oXzZdnY17QvTUQSdDR4pq0UAmUrFa/6VrIaMq2vivYqOY9 jBWPMO4pHqI8cusbmv17SKjlawy5QbMtgLONYlgiCe+Y59s5kpjkVrxvcWsVD7aB Hux5AdsjXDRm4qK1KrOJni97Htyw+FXshTKazDC5KJiWgwgNaFqxxpK6TQoJHrJV 7HFLHCN5RgLeXNVmTAo1ZpN7OmUQR+MCotmSMrEnteZ8GFeCmGeUJXB6S+H0ARSN X6YyRxoIhWI9CEE97nLqRy/Wxu6ckbNg4DmDHOnUJYQWiKJh+ismeEDBE5v0AVkF Uwgv0OGIzGIxNKtbe81I4ka7jiuf78sRuRh2U0aT+Ow6Kipu4lRoiDVZvg4l+uWi YeMhG65Nm27QeKnnlyTDn3NGj1elqNdGBCuX5ZDl1KaVFO+C+ukzZhoDIYByEeMx htBMNLkOaJ7ttiR2I4mnW8bfPjesJ9IzNJsy+G4kuOOeyyiwIYbB02QWOoyAARx4 IIkdrisbukdKeqC1KxhH+jimRvIJ41i8eyj+fgWIZI9yNlOTTYaSJT0XQ6hMEYao JWsvisVkyTxFuuPkKdbH66SqFrqnqc7qFa2faVSx49sR8jLci7ijq6iLAMIVebYd CdOQyKkyZEVjnNJGX6Nqtdo8/LSnPXi355FQJkfM8WjlvtbiXYBMayD0hs5sBQOT oUKY17WuHKTkRzXN1/4tSrizR2SxmPGWHGw54OmLWNjsmRHIwFsm87JksRk8zIXP Rd1xFkyvUaHgl6ZIUsq3sXZObRzxw3bPG3Is3yUJbJ944gyQXyiVU2skOVm9FmxI I9sv0bycnxzoojNRyte1SsY5zHalbx5jBWDomiKGeyKK2hWsZuvZlwpc8usPMoxq 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 GjENPRYxqckT1qqqv//Z ------------67LS6fQ3kILML0Yye5jr0K Content-Disposition: inline; filename=widgets.js Content-Type: application/javascript; charset=utf-8; name=widgets.js Content-Location: http://platform.twitter.com/widgets.js Content-Transfer-Encoding: Base64 aWYoIXdpbmRvdy5fX3R3dHRybHIpeyhmdW5jdGlvbihlLHQpe2Z1bmN0aW9uIHko ZSl7Zm9yKHZhciB0PTEsbjtuPWFyZ3VtZW50c1t0XTt0KyspZm9yKHZhciByIGlu IG4pZVtyXT1uW3JdO3JldHVybiBlfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIEFycmF5 LnByb3RvdHlwZS5zbGljZS5jYWxsKGUpfWZ1bmN0aW9uIEUoZSx0KXtmb3IodmFy IG49MCxyO3I9ZVtuXTtuKyspaWYodD09cilyZXR1cm4gbjtyZXR1cm4tMX1mdW5j dGlvbiBTKCl7dmFyIGU9Yihhcmd1bWVudHMpLHQ9W107Zm9yKHZhciBuPTAscj1l Lmxlbmd0aDtuPHI7bisrKWVbbl0ubGVuZ3RoPjAmJnQucHVzaChlW25dLnJlcGxh Y2UoL1wvJC8sIiIpKTtyZXR1cm4gdC5qb2luKCIvIil9ZnVuY3Rpb24geChlLHQs bil7dmFyIHI9dC5zcGxpdCgiLyIpLGk9ZTt3aGlsZShyLmxlbmd0aD4xKXt2YXIg cz1yLnNoaWZ0KCk7aT1pW3NdPWlbc118fHt9fWlbclswXV09bn1mdW5jdGlvbiBU KCl7fWZ1bmN0aW9uIE4oZSx0KXt0aGlzLmlkPXRoaXMucGF0aD1lLHRoaXMuZm9y Y2U9ISF0fWZ1bmN0aW9uIEMoZSx0KXt0aGlzLmlkPWUsdGhpcy5ib2R5PXQsdHlw ZW9mIHQ9PSJ1bmRlZmluZWQiJiYodGhpcy5wYXRoPXRoaXMucmVzb2x2ZVBhdGgo ZSkpfWZ1bmN0aW9uIGsoZSx0KXt0aGlzLmRlcHM9ZSx0aGlzLmNvbGxlY3RSZXN1 bHRzPXQsdGhpcy5kZXBzLmxlbmd0aD09MCYmdGhpcy5jb21wbGV0ZSgpfWZ1bmN0 aW9uIEwoZSx0KXt0aGlzLmRlcHM9ZSx0aGlzLmNvbGxlY3RSZXN1bHRzPXR9ZnVu Y3Rpb24gQSgpe2Zvcih2YXIgZSBpbiByKWlmKHJbZV0ucmVhZHlTdGF0ZT09Imlu dGVyYWN0aXZlIilyZXR1cm4gY1tyW2VdLmlkXX1mdW5jdGlvbiBPKGUsdCl7dmFy IHI7cmV0dXJuIWUmJm4mJihyPWx8fEEoKSkscj8oZGVsZXRlIGNbci5zY3JpcHRJ ZF0sci5ib2R5PXQsci5leGVjdXRlKCkpOihmPXI9bmV3IEMoZSx0KSxhW3IuaWRd PXIpLHJ9ZnVuY3Rpb24gTSgpe3ZhciBlPWIoYXJndW1lbnRzKSx0LG47cmV0dXJu IHR5cGVvZiBlWzBdPT0ic3RyaW5nIiYmKHQ9ZS5zaGlmdCgpKSxuPWUuc2hpZnQo KSxPKHQsbil9ZnVuY3Rpb24gXyhlLHQpe3ZhciBuPXQuaWR8fCIiLHI9bi5zcGxp dCgiLyIpO3IucG9wKCk7dmFyIGk9ci5qb2luKCIvIik7cmV0dXJuIGUucmVwbGFj ZSgvXlwuLyxpKX1mdW5jdGlvbiBEKGUsdCl7ZnVuY3Rpb24gcihlKXtyZXR1cm4g Qy5leHBvcnRzW18oZSx0KV19dmFyIG49W107Zm9yKHZhciBpPTAscz1lLmxlbmd0 aDtpPHM7aSsrKXtpZihlW2ldPT0icmVxdWlyZSIpe24ucHVzaChyKTtjb250aW51 ZX1pZihlW2ldPT0iZXhwb3J0cyIpe3QuZXhwb3J0cz10LmV4cG9ydHN8fHt9LG4u cHVzaCh0LmV4cG9ydHMpO2NvbnRpbnVlfW4ucHVzaChyKGVbaV0pKX1yZXR1cm4g bn1mdW5jdGlvbiBQKCl7dmFyIGU9Yihhcmd1bWVudHMpLHQ9W10sbixyO3JldHVy biB0eXBlb2YgZVswXT09InN0cmluZyImJihuPWUuc2hpZnQoKSksdyhlWzBdKSYm KHQ9ZS5zaGlmdCgpKSxyPWUuc2hpZnQoKSxPKG4sZnVuY3Rpb24oZSl7ZnVuY3Rp b24gcygpe3ZhciBpPUQoYih0KSxuKSxzO3R5cGVvZiByPT0iZnVuY3Rpb24iP3M9 ci5hcHBseShuLGkpOnM9cix0eXBlb2Ygcz09InVuZGVmaW5lZCImJihzPW4uZXhw b3J0cyksZShzKX12YXIgbj10aGlzLGk9W107Zm9yKHZhciBvPTAsdT10Lmxlbmd0 aDtvPHU7bysrKXt2YXIgYT10W29dO0UoWyJyZXF1aXJlIiwiZXhwb3J0cyJdLGEp PT0tMSYmaS5wdXNoKF8oYSxuKSl9aS5sZW5ndGg+MD9ILmFwcGx5KHRoaXMsaS5j b25jYXQocykpOnMoKX0pfWZ1bmN0aW9uIEgoKXt2YXIgZT1iKGFyZ3VtZW50cyks dCxuO3R5cGVvZiBlW2UubGVuZ3RoLTFdPT0iZnVuY3Rpb24iJiYodD1lLnBvcCgp KSx0eXBlb2YgZVtlLmxlbmd0aC0xXT09ImJvb2xlYW4iJiYobj1lLnBvcCgpKTt2 YXIgcj1uZXcgayhCKGUsbiksbik7cmV0dXJuIHQmJnIudGhlbih0KSxyfWZ1bmN0 aW9uIEIoZSx0KXt2YXIgbj1bXTtmb3IodmFyIHI9MCxpO2k9ZVtyXTtyKyspdHlw ZW9mIGk9PSJzdHJpbmciJiYoaT1qKGkpKSx3KGkpJiYoaT1uZXcgTChCKGksdCks dCkpLG4ucHVzaChpKTtyZXR1cm4gbn1mdW5jdGlvbiBqKGUpe3ZhciB0LG47Zm9y KHZhciByPTAsaTtpPUgubWF0Y2hlcnNbcl07cisrKXt2YXIgcz1pWzBdLG89aVsx XTtpZih0PWUubWF0Y2gocykpcmV0dXJuIG8oZSl9dGhyb3cgbmV3IEVycm9yKGUr IiB3YXMgbm90IHJlY29nbmlzZWQgYnkgbG9hZGVyIil9ZnVuY3Rpb24gSSgpe3Jl dHVybiBlLnVzaW5nPWgsZS5wcm92aWRlPXAsZS5kZWZpbmU9ZCxlLmxvYWRydW5u ZXI9dixGfWZ1bmN0aW9uIHEoZSl7Zm9yKHZhciB0PTA7dDxILmJ1bmRsZXMubGVu Z3RoO3QrKylmb3IodmFyIG4gaW4gSC5idW5kbGVzW3RdKWlmKG4hPWUmJkUoSC5i dW5kbGVzW3RdW25dLGUpPi0xKXJldHVybiBufXZhciBuPWUuYXR0YWNoRXZlbnQm JiFlLm9wZXJhLHI9dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IiksaT0w LHMsbz10LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLHU9e30sYT17fSxmLGwsYz17 fSxoPWUudXNpbmcscD1lLnByb3ZpZGUsZD1lLmRlZmluZSx2PWUubG9hZHJ1bm5l cjtmb3IodmFyIG09MCxnO2c9clttXTttKyspaWYoZy5zcmMubWF0Y2goL2xvYWRy dW5uZXJcLmpzKFw/fCN8JCkvKSl7cz1nO2JyZWFrfXZhciB3PUFycmF5LmlzQXJy YXl8fGZ1bmN0aW9uKGUpe3JldHVybiBlLmNvbnN0cnVjdG9yPT1BcnJheX07VC5w cm90b3R5cGUudGhlbj1mdW5jdGlvbih0KXt2YXIgbj10aGlzO3JldHVybiB0aGlz LnN0YXJ0ZWR8fCh0aGlzLnN0YXJ0ZWQ9ITAsdGhpcy5zdGFydCgpKSx0aGlzLmNv bXBsZXRlZD90LmFwcGx5KGUsdGhpcy5yZXN1bHRzKToodGhpcy5jYWxsYmFja3M9 dGhpcy5jYWxsYmFja3N8fFtdLHRoaXMuY2FsbGJhY2tzLnB1c2godCkpLHRoaXN9 LFQucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKCl7fSxULnByb3RvdHlwZS5jb21w bGV0ZT1mdW5jdGlvbigpe2lmKCF0aGlzLmNvbXBsZXRlZCl7dGhpcy5yZXN1bHRz PWIoYXJndW1lbnRzKSx0aGlzLmNvbXBsZXRlZD0hMDtpZih0aGlzLmNhbGxiYWNr cylmb3IodmFyIHQ9MCxuO249dGhpcy5jYWxsYmFja3NbdF07dCsrKW4uYXBwbHko ZSx0aGlzLnJlc3VsdHMpfX0sTi5sb2FkZWQ9W10sTi5wcm90b3R5cGU9bmV3IFQs Ti5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQsbixyO3Jl dHVybihyPWFbdGhpcy5pZF0pPyhyLnRoZW4oZnVuY3Rpb24oKXtlLmNvbXBsZXRl KCl9KSx0aGlzKTooKHQ9dVt0aGlzLmlkXSk/dC50aGVuKGZ1bmN0aW9uKCl7ZS5s b2FkZWQoKX0pOiF0aGlzLmZvcmNlJiZFKE4ubG9hZGVkLHRoaXMuaWQpPi0xP3Ro aXMubG9hZGVkKCk6KG49cSh0aGlzLmlkKSk/SChuLGZ1bmN0aW9uKCl7ZS5sb2Fk ZWQoKX0pOnRoaXMubG9hZCgpLHRoaXMpfSxOLnByb3RvdHlwZS5sb2FkPWZ1bmN0 aW9uKCl7dmFyIHQ9dGhpczt1W3RoaXMuaWRdPXQ7dmFyIG49by5jbG9uZU5vZGUo ITEpO3RoaXMuc2NyaXB0SWQ9bi5pZD0iTFIiKyArK2ksbi50eXBlPSJ0ZXh0L2ph dmFzY3JpcHQiLG4uYXN5bmM9ITAsbi5vbmVycm9yPWZ1bmN0aW9uKCl7dGhyb3cg bmV3IEVycm9yKHQucGF0aCsiIG5vdCBsb2FkZWQiKX0sbi5vbnJlYWR5c3RhdGVj aGFuZ2U9bi5vbmxvYWQ9ZnVuY3Rpb24obil7bj1lLmV2ZW50fHxuO2lmKG4udHlw ZT09ImxvYWQifHxFKFsibG9hZGVkIiwiY29tcGxldGUiXSx0aGlzLnJlYWR5U3Rh dGUpPi0xKXRoaXMub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsdC5sb2FkZWQoKX0s bi5zcmM9dGhpcy5wYXRoLGw9dGhpcyxyWzBdLnBhcmVudE5vZGUuaW5zZXJ0QmVm b3JlKG4sclswXSksbD1udWxsLGNbbi5pZF09dGhpc30sTi5wcm90b3R5cGUubG9h ZGVkPWZ1bmN0aW9uKCl7dGhpcy5jb21wbGV0ZSgpfSxOLnByb3RvdHlwZS5jb21w bGV0ZT1mdW5jdGlvbigpe0UoTi5sb2FkZWQsdGhpcy5pZCk9PS0xJiZOLmxvYWRl ZC5wdXNoKHRoaXMuaWQpLGRlbGV0ZSB1W3RoaXMuaWRdLFQucHJvdG90eXBlLmNv bXBsZXRlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sQy5leHBvcnRzPXt9LEMucHJv dG90eXBlPW5ldyBOLEMucHJvdG90eXBlLnJlc29sdmVQYXRoPWZ1bmN0aW9uKGUp e3JldHVybiBTKEgucGF0aCxlKyIuanMiKX0sQy5wcm90b3R5cGUuc3RhcnQ9ZnVu Y3Rpb24oKXt2YXIgZSx0LG49dGhpcyxyO3RoaXMuYm9keT90aGlzLmV4ZWN1dGUo KTooZT1DLmV4cG9ydHNbdGhpcy5pZF0pP3RoaXMuZXhwKGUpOih0PWFbdGhpcy5p ZF0pP3QudGhlbihmdW5jdGlvbihlKXtuLmV4cChlKX0pOihidW5kbGU9cSh0aGlz LmlkKSk/SChidW5kbGUsZnVuY3Rpb24oKXtuLnN0YXJ0KCl9KTooYVt0aGlzLmlk XT10aGlzLHRoaXMubG9hZCgpKX0sQy5wcm90b3R5cGUubG9hZGVkPWZ1bmN0aW9u KCl7dmFyIGUsdCxyPXRoaXM7bj8odD1DLmV4cG9ydHNbdGhpcy5pZF0pP3RoaXMu ZXhwKHQpOihlPWFbdGhpcy5pZF0pJiZlLnRoZW4oZnVuY3Rpb24oZSl7ci5leHAo ZSl9KTooZT1mLGY9bnVsbCxlLmlkPWUuaWR8fHRoaXMuaWQsZS50aGVuKGZ1bmN0 aW9uKGUpe3IuZXhwKGUpfSkpfSxDLnByb3RvdHlwZS5jb21wbGV0ZT1mdW5jdGlv bigpe2RlbGV0ZSBhW3RoaXMuaWRdLE4ucHJvdG90eXBlLmNvbXBsZXRlLmFwcGx5 KHRoaXMsYXJndW1lbnRzKX0sQy5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbigp e3ZhciBlPXRoaXM7dHlwZW9mIHRoaXMuYm9keT09Im9iamVjdCI/dGhpcy5leHAo dGhpcy5ib2R5KTp0eXBlb2YgdGhpcy5ib2R5PT0iZnVuY3Rpb24iJiZ0aGlzLmJv ZHkuYXBwbHkod2luZG93LFtmdW5jdGlvbih0KXtlLmV4cCh0KX1dKX0sQy5wcm90 b3R5cGUuZXhwPWZ1bmN0aW9uKGUpe3RoaXMuY29tcGxldGUodGhpcy5leHBvcnRz PUMuZXhwb3J0c1t0aGlzLmlkXT1lfHx7fSl9LGsucHJvdG90eXBlPW5ldyBULGsu cHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3ZhciB0PVtd O2UuY29sbGVjdFJlc3VsdHMmJih0WzBdPXt9KTtmb3IodmFyIG49MCxyO3I9ZS5k ZXBzW25dO24rKyl7aWYoIXIuY29tcGxldGVkKXJldHVybjtyLnJlc3VsdHMubGVu Z3RoPjAmJihlLmNvbGxlY3RSZXN1bHRzP3IgaW5zdGFuY2VvZiBMP3kodFswXSxy LnJlc3VsdHNbMF0pOngodFswXSxyLmlkLHIucmVzdWx0c1swXSk6dD10LmNvbmNh dChyLnJlc3VsdHMpKX1lLmNvbXBsZXRlLmFwcGx5KGUsdCl9dmFyIGU9dGhpcztm b3IodmFyIG49MCxyO3I9dGhpcy5kZXBzW25dO24rKylyLnRoZW4odCk7cmV0dXJu IHRoaXN9LEwucHJvdG90eXBlPW5ldyBULEwucHJvdG90eXBlLnN0YXJ0PWZ1bmN0 aW9uKCl7dmFyIGU9dGhpcyx0PTAsbj1bXTtyZXR1cm4gZS5jb2xsZWN0UmVzdWx0 cyYmKG5bMF09e30pLGZ1bmN0aW9uIHIoKXt2YXIgaT1lLmRlcHNbdCsrXTtpP2ku dGhlbihmdW5jdGlvbih0KXtpLnJlc3VsdHMubGVuZ3RoPjAmJihlLmNvbGxlY3RS ZXN1bHRzP2kgaW5zdGFuY2VvZiBMP3koblswXSxpLnJlc3VsdHNbMF0pOngoblsw XSxpLmlkLGkucmVzdWx0c1swXSk6bi5wdXNoKGkucmVzdWx0c1swXSkpLHIoKX0p OmUuY29tcGxldGUuYXBwbHkoZSxuKX0oKSx0aGlzfSxQLmFtZD17fTt2YXIgRj1m dW5jdGlvbihlKXtyZXR1cm4gZShILE0sRixkZWZpbmUpfTtGLlNjcmlwdD1OLEYu TW9kdWxlPUMsRi5Db2xsZWN0aW9uPWssRi5TZXF1ZW5jZT1MLEYuRGVwZW5kZW5j eT1ULEYubm9Db25mbGljdD1JLGUubG9hZHJ1bm5lcj1GLGUudXNpbmc9SCxlLnBy b3ZpZGU9TSxlLmRlZmluZT1QLEgucGF0aD0iIixILm1hdGNoZXJzPVtdLEgubWF0 Y2hlcnMuYWRkPWZ1bmN0aW9uKGUsdCl7dGhpcy51bnNoaWZ0KFtlLHRdKX0sSC5t YXRjaGVycy5hZGQoLyhec2NyaXB0IXxcLmpzJCkvLGZ1bmN0aW9uKGUpe3ZhciB0 PW5ldyBOKGUucmVwbGFjZSgvXlwkLyxILnBhdGgucmVwbGFjZSgvXC8kLywiIikr Ii8iKS5yZXBsYWNlKC9ec2NyaXB0IS8sIiIpLCExKTtyZXR1cm4gdC5pZD1lLHR9 KSxILm1hdGNoZXJzLmFkZCgvXlthLXpBLVowLTlfXC1cL10rJC8sZnVuY3Rpb24o ZSl7cmV0dXJuIG5ldyBDKGUpfSksSC5idW5kbGVzPVtdLHMmJihILnBhdGg9d2lu ZG93Ll9fdHd0dHJMb2FkUnVubmVyUGF0aHx8cy5nZXRBdHRyaWJ1dGUoImRhdGEt cGF0aCIpfHxzLnNyYy5zcGxpdCgvbG9hZHJ1bm5lclwuanMvKVswXXx8IiIsKG1h aW49cy5nZXRBdHRyaWJ1dGUoImRhdGEtbWFpbiIpKSYmSC5hcHBseShlLG1haW4u c3BsaXQoL1xzKixccyovKSkudGhlbihmdW5jdGlvbigpe30pKX0pKHRoaXMsZG9j dW1lbnQpOyh3aW5kb3cuX190d3R0cmxyID0gbG9hZHJ1bm5lci5ub0NvbmZsaWN0 KCkpO31fX3R3dHRybHIoZnVuY3Rpb24odXNpbmcsIHByb3ZpZGUsIGxvYWRydW5u ZXIsIGRlZmluZSkge3Byb3ZpZGUoInV0aWwvdXRpbCIsZnVuY3Rpb24oZSl7ZnVu Y3Rpb24gdChlKXtyZXR1cm4gZSYmU3RyaW5nKGUpLnRvTG93ZXJDYXNlKCkuaW5k ZXhPZigiW25hdGl2ZSBjb2RlXSIpPi0xfWZ1bmN0aW9uIG4oZSl7cmV0dXJuIG8o YXJndW1lbnRzLGZ1bmN0aW9uKHQpe3ModCxmdW5jdGlvbih0LG4pe2VbdF09bn0p fSksZX1mdW5jdGlvbiByKGUpe3JldHVybiBzKGUsZnVuY3Rpb24odCxuKXt2KG4p JiYocihuKSxtKG4pJiZkZWxldGUgZVt0XSksKG49PT11bmRlZmluZWR8fG49PT1u dWxsfHxuPT09IiIpJiZkZWxldGUgZVt0XX0pLGV9ZnVuY3Rpb24gcyhlLHQpe2Zv cih2YXIgbiBpbiBlKSghZS5oYXNPd25Qcm9wZXJ0eXx8ZS5oYXNPd25Qcm9wZXJ0 eShuKSkmJnQobixlW25dKTtyZXR1cm4gZX1mdW5jdGlvbiBjKGUpe3JldHVybnt9 LnRvU3RyaW5nLmNhbGwoZSkubWF0Y2goL1xzKFthLXpBLVpdKykvKVsxXS50b0xv d2VyQ2FzZSgpfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4gZT09Yyh0KX1mdW5jdGlv biBwKGUsdCxuKXtyZXR1cm4gbj1ufHxbXSxmdW5jdGlvbigpe3ZhciByPWEoYXJn dW1lbnRzLGZ1bmN0aW9uKGUpe3JldHVybiBlfSk7cmV0dXJuIGUuYXBwbHkodCxu LmNvbmNhdChyKSl9fWZ1bmN0aW9uIHYoZSl7cmV0dXJuIGU9PT1PYmplY3QoZSl9 ZnVuY3Rpb24gbShlKXtpZighdihlKSlyZXR1cm4hMTtpZihPYmplY3Qua2V5cyly ZXR1cm4hT2JqZWN0LmtleXMoZSkubGVuZ3RoO2Zvcih2YXIgdCBpbiBlKWlmKGUu aGFzT3duUHJvcGVydHkodCkpcmV0dXJuITE7cmV0dXJuITB9dmFyIGk9ZnVuY3Rp b24oKXt2YXIgZT1BcnJheS5wcm90b3R5cGUuaW5kZXhPZjtyZXR1cm4gdChlKT9m dW5jdGlvbih0LG4pe3JldHVybiB0P2UuYXBwbHkodCxbbl0pOi0xfTpmdW5jdGlv bihlLHQpe2lmKCFlKXJldHVybi0xO2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxy O24rKylpZih0PT1lW25dKXJldHVybiBuO3JldHVybi0xfX0oKSxvPWZ1bmN0aW9u KCl7dmFyIGU9QXJyYXkucHJvdG90eXBlLmZvckVhY2g7cmV0dXJuIHQoZSk/ZnVu Y3Rpb24odCxuKXtpZighdClyZXR1cm47aWYoIW4pcmV0dXJuO2UuYXBwbHkodCxb bl0pfTpmdW5jdGlvbihlLHQpe2lmKCFlKXJldHVybjtpZighdClyZXR1cm47Zm9y KHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKXQoZVtuXSxuKX19KCksdT1mdW5j dGlvbigpe3ZhciBlPUFycmF5LnByb3RvdHlwZS5maWx0ZXI7cmV0dXJuIHQoZSk/ ZnVuY3Rpb24odCxuKXtyZXR1cm4gdD9uP2UuYXBwbHkodCxbbl0pOnQ6bnVsbH06 ZnVuY3Rpb24oZSx0KXtpZighZSlyZXR1cm4gbnVsbDtpZighdClyZXR1cm4gZTt2 YXIgbj1bXSxyPTAsaT1lLmxlbmd0aDtmb3IoO3I8aTtyKyspdChlW3JdKSYmbi5w dXNoKGVbcl0pO3JldHVybiBufX0oKSxhPWZ1bmN0aW9uKCl7dmFyIGU9QXJyYXku cHJvdG90eXBlLm1hcDtyZXR1cm4gdChlKT9mdW5jdGlvbih0LG4pe3JldHVybiB0 P24/ZS5hcHBseSh0LFtuXSk6dDpudWxsfTpmdW5jdGlvbihlLHQpe2lmKCFlKXJl dHVybiBudWxsO2lmKCF0KXJldHVybiBlO3ZhciBuPVtdLHI9MCxpPWUubGVuZ3Ro O2Zvcig7cjxpO3IrKyluLnB1c2godChlW3JdKSk7cmV0dXJuIG59fSgpLGY9ZnVu Y3Rpb24oKXt2YXIgZT1BcnJheS5wcm90b3R5cGUucmVkdWNlO3JldHVybiB0KGUp P2Z1bmN0aW9uKHQsbixyKXtyZXR1cm4gdD9uP2UuYXBwbHkodCxbbixyXSk6cjpu dWxsfTpmdW5jdGlvbihlLHQsbil7aWYoIWUpcmV0dXJuIG51bGw7aWYoIXQpcmV0 dXJuIG47dmFyIHI9bixpPTAscz1lLmxlbmd0aDtmb3IoO2k8cztpKyspcj10KHIs ZVtpXSxpLGUpO3JldHVybiByfX0oKSxsPWZ1bmN0aW9uKCl7dmFyIGU9U3RyaW5n LnByb3RvdHlwZS50cmltO3JldHVybiB0KGUpP2Z1bmN0aW9uKHQpe3JldHVybiB0 JiZlLmFwcGx5KHQpfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5yZXBsYWNlKC8o XlxzK3xccyskKS9nLCIiKX19KCksZD10KE9iamVjdC5jcmVhdGUpP09iamVjdC5j cmVhdGU6ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gdC5wcm90b3R5 cGU9ZSxuZXcgdH07ZSh7YXVnOm4sY29tcGFjdDpyLGZvckluOnMsZm9yRWFjaDpv LGZpbHRlcjp1LG1hcDphLHJlZHVjZTpmLHRyaW06bCxpbmRleE9mOmksaXNOYXRp dmU6dCxpc09iamVjdDp2LGlzRW1wdHlPYmplY3Q6bSxjcmVhdGVPYmplY3Q6ZCxi aW5kOnAsdG9UeXBlOmMsaXNUeXBlOmh9KX0pOwpwcm92aWRlKCJ1dGlsL2V2ZW50 cyIsZnVuY3Rpb24oZSl7dXNpbmcoInV0aWwvdXRpbCIsZnVuY3Rpb24odCl7ZnVu Y3Rpb24gcigpe3RoaXMuY29tcGxldGVkPSExLHRoaXMuY2FsbGJhY2tzPVtdfXZh ciBuPXtiaW5kOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX2hhbmRsZXJzPXRo aXMuX2hhbmRsZXJzfHx7fSx0aGlzLl9oYW5kbGVyc1tlXT10aGlzLl9oYW5kbGVy c1tlXXx8W10sdGhpcy5faGFuZGxlcnNbZV0ucHVzaCh0KX0sdW5iaW5kOmZ1bmN0 aW9uKGUsbil7aWYoIXRoaXMuX2hhbmRsZXJzW2VdKXJldHVybjtpZihuKXt2YXIg cj10LmluZGV4T2YodGhpcy5faGFuZGxlcnNbZV0sbik7cj49MCYmdGhpcy5faGFu ZGxlcnNbZV0uc3BsaWNlKHIsMSl9ZWxzZSB0aGlzLl9oYW5kbGVyc1tlXT1bXX0s dHJpZ2dlcjpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuX2hhbmRsZXJzJiZ0aGlz Ll9oYW5kbGVyc1tlXTt0LnR5cGU9ZTtpZihuKWZvcih2YXIgcj0wLGk7aT1uW3Jd O3IrKylpLmNhbGwodGhpcyx0KX19O3IucHJvdG90eXBlLmFkZENhbGxiYWNrPWZ1 bmN0aW9uKGUpe3RoaXMuY29tcGxldGVkP2UuYXBwbHkodGhpcyx0aGlzLnJlc3Vs dHMpOnRoaXMuY2FsbGJhY2tzLnB1c2goZSl9LHIucHJvdG90eXBlLmNvbXBsZXRl PWZ1bmN0aW9uKCl7dGhpcy5yZXN1bHRzPW1ha2VBcnJheShhcmd1bWVudHMpLHRo aXMuY29tcGxldGVkPSEwO2Zvcih2YXIgZT0wLHQ7dD10aGlzLmNhbGxiYWNrc1tl XTtlKyspdC5hcHBseSh0aGlzLHRoaXMucmVzdWx0cyl9LGUoe0VtaXR0ZXI6bixQ cm9taXNlOnJ9KX0pfSk7CnByb3ZpZGUoIiR4ZC9qc29uMi5qcyIsIGZ1bmN0aW9u KGV4cG9ydHMpIHt3aW5kb3cuSlNPTnx8KHdpbmRvdy5KU09OPXt9KSxmdW5jdGlv bigpe2Z1bmN0aW9uIGYoZSl7cmV0dXJuIGU8MTA/IjAiK2U6ZX1mdW5jdGlvbiBx dW90ZShlKXtyZXR1cm4gZXNjYXBhYmxlLmxhc3RJbmRleD0wLGVzY2FwYWJsZS50 ZXN0KGUpPyciJytlLnJlcGxhY2UoZXNjYXBhYmxlLGZ1bmN0aW9uKGUpe3ZhciB0 PW1ldGFbZV07cmV0dXJuIHR5cGVvZiB0PT0ic3RyaW5nIj90OiJcXHUiKygiMDAw MCIrZS5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTQpfSkrJyIn OiciJytlKyciJ31mdW5jdGlvbiBzdHIoZSx0KXt2YXIgbixyLGkscyxvPWdhcCx1 LGE9dFtlXTthJiZ0eXBlb2YgYT09Im9iamVjdCImJnR5cGVvZiBhLnRvSlNPTj09 ImZ1bmN0aW9uIiYmKGE9YS50b0pTT04oZSkpLHR5cGVvZiByZXA9PSJmdW5jdGlv biImJihhPXJlcC5jYWxsKHQsZSxhKSk7c3dpdGNoKHR5cGVvZiBhKXtjYXNlInN0 cmluZyI6cmV0dXJuIHF1b3RlKGEpO2Nhc2UibnVtYmVyIjpyZXR1cm4gaXNGaW5p dGUoYSk/U3RyaW5nKGEpOiJudWxsIjtjYXNlImJvb2xlYW4iOmNhc2UibnVsbCI6 cmV0dXJuIFN0cmluZyhhKTtjYXNlIm9iamVjdCI6aWYoIWEpcmV0dXJuIm51bGwi O2dhcCs9aW5kZW50LHU9W107aWYoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5h cHBseShhKT09PSJbb2JqZWN0IEFycmF5XSIpe3M9YS5sZW5ndGg7Zm9yKG49MDtu PHM7bis9MSl1W25dPXN0cihuLGEpfHwibnVsbCI7cmV0dXJuIGk9dS5sZW5ndGg9 PT0wPyJbXSI6Z2FwPyJbXG4iK2dhcCt1LmpvaW4oIixcbiIrZ2FwKSsiXG4iK28r Il0iOiJbIit1LmpvaW4oIiwiKSsiXSIsZ2FwPW8saX1pZihyZXAmJnR5cGVvZiBy ZXA9PSJvYmplY3QiKXtzPXJlcC5sZW5ndGg7Zm9yKG49MDtuPHM7bis9MSlyPXJl cFtuXSx0eXBlb2Ygcj09InN0cmluZyImJihpPXN0cihyLGEpLGkmJnUucHVzaChx dW90ZShyKSsoZ2FwPyI6ICI6IjoiKStpKSl9ZWxzZSBmb3IociBpbiBhKU9iamVj dC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEscikmJihpPXN0cihyLGEpLGkmJnUucHVz aChxdW90ZShyKSsoZ2FwPyI6ICI6IjoiKStpKSk7cmV0dXJuIGk9dS5sZW5ndGg9 PT0wPyJ7fSI6Z2FwPyJ7XG4iK2dhcCt1LmpvaW4oIixcbiIrZ2FwKSsiXG4iK28r In0iOiJ7Iit1LmpvaW4oIiwiKSsifSIsZ2FwPW8saX19dHlwZW9mIERhdGUucHJv dG90eXBlLnRvSlNPTiE9ImZ1bmN0aW9uIiYmKERhdGUucHJvdG90eXBlLnRvSlNP Tj1mdW5jdGlvbihlKXtyZXR1cm4gaXNGaW5pdGUodGhpcy52YWx1ZU9mKCkpP3Ro aXMuZ2V0VVRDRnVsbFllYXIoKSsiLSIrZih0aGlzLmdldFVUQ01vbnRoKCkrMSkr Ii0iK2YodGhpcy5nZXRVVENEYXRlKCkpKyJUIitmKHRoaXMuZ2V0VVRDSG91cnMo KSkrIjoiK2YodGhpcy5nZXRVVENNaW51dGVzKCkpKyI6IitmKHRoaXMuZ2V0VVRD U2Vjb25kcygpKSsiWiI6bnVsbH0sU3RyaW5nLnByb3RvdHlwZS50b0pTT049TnVt YmVyLnByb3RvdHlwZS50b0pTT049Qm9vbGVhbi5wcm90b3R5cGUudG9KU09OPWZ1 bmN0aW9uKGUpe3JldHVybiB0aGlzLnZhbHVlT2YoKX0pO3ZhciBjeD0vW1x1MDAw MFx1MDBhZFx1MDYwMC1cdTA2MDRcdTA3MGZcdTE3YjRcdTE3YjVcdTIwMGMtXHUy MDBmXHUyMDI4LVx1MjAyZlx1MjA2MC1cdTIwNmZcdWZlZmZcdWZmZjAtXHVmZmZm XS9nLGVzY2FwYWJsZT0vW1xcXCJceDAwLVx4MWZceDdmLVx4OWZcdTAwYWRcdTA2 MDAtXHUwNjA0XHUwNzBmXHUxN2I0XHUxN2I1XHUyMDBjLVx1MjAwZlx1MjAyOC1c dTIwMmZcdTIwNjAtXHUyMDZmXHVmZWZmXHVmZmYwLVx1ZmZmZl0vZyxnYXAsaW5k ZW50LG1ldGE9eyJcYiI6IlxcYiIsIgkiOiJcXHQiLCJcbiI6IlxcbiIsIlxmIjoi XFxmIiwiXHIiOiJcXHIiLCciJzonXFwiJywiXFwiOiJcXFxcIn0scmVwO3R5cGVv ZiBKU09OLnN0cmluZ2lmeSE9ImZ1bmN0aW9uIiYmKEpTT04uc3RyaW5naWZ5PWZ1 bmN0aW9uKGUsdCxuKXt2YXIgcjtnYXA9IiIsaW5kZW50PSIiO2lmKHR5cGVvZiBu PT0ibnVtYmVyIilmb3Iocj0wO3I8bjtyKz0xKWluZGVudCs9IiAiO2Vsc2UgdHlw ZW9mIG49PSJzdHJpbmciJiYoaW5kZW50PW4pO3JlcD10O2lmKCF0fHx0eXBlb2Yg dD09ImZ1bmN0aW9uInx8dHlwZW9mIHQ9PSJvYmplY3QiJiZ0eXBlb2YgdC5sZW5n dGg9PSJudW1iZXIiKXJldHVybiBzdHIoIiIseyIiOmV9KTt0aHJvdyBuZXcgRXJy b3IoIkpTT04uc3RyaW5naWZ5Iil9KSx0eXBlb2YgSlNPTi5wYXJzZSE9ImZ1bmN0 aW9uIiYmKEpTT04ucGFyc2U9ZnVuY3Rpb24odGV4dCxyZXZpdmVyKXtmdW5jdGlv biB3YWxrKGUsdCl7dmFyIG4scixpPWVbdF07aWYoaSYmdHlwZW9mIGk9PSJvYmpl Y3QiKWZvcihuIGluIGkpT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoaSxuKSYm KHI9d2FsayhpLG4pLHIhPT11bmRlZmluZWQ/aVtuXT1yOmRlbGV0ZSBpW25dKTty ZXR1cm4gcmV2aXZlci5jYWxsKGUsdCxpKX12YXIgajtjeC5sYXN0SW5kZXg9MCxj eC50ZXN0KHRleHQpJiYodGV4dD10ZXh0LnJlcGxhY2UoY3gsZnVuY3Rpb24oZSl7 cmV0dXJuIlxcdSIrKCIwMDAwIitlLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYp KS5zbGljZSgtNCl9KSk7aWYoL15bXF0sOnt9XHNdKiQvLnRlc3QodGV4dC5yZXBs YWNlKC9cXCg/OlsiXFxcL2JmbnJ0XXx1WzAtOWEtZkEtRl17NH0pL2csIkAiKS5y ZXBsYWNlKC8iW14iXFxcblxyXSoifHRydWV8ZmFsc2V8bnVsbHwtP1xkKyg/Olwu XGQqKT8oPzpbZUVdWytcLV0/XGQrKT8vZywiXSIpLnJlcGxhY2UoLyg/Ol58Onws KSg/OlxzKlxbKSsvZywiIikpKXJldHVybiBqPWV2YWwoIigiK3RleHQrIikiKSx0 eXBlb2YgcmV2aXZlcj09ImZ1bmN0aW9uIj93YWxrKHsiIjpqfSwiIik6ajt0aHJv dyBuZXcgU3ludGF4RXJyb3IoIkpTT04ucGFyc2UiKX0pfSgpO2V4cG9ydHMoKTts b2FkcnVubmVyLlNjcmlwdC5sb2FkZWQucHVzaCgiJHhkL2pzb24yLmpzIil9KTsK cHJvdmlkZSgidXRpbC9xdWVyeXN0cmluZyIsZnVuY3Rpb24oZSl7ZnVuY3Rpb24g dChlKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGUpLnJlcGxhY2UoL1wrL2cs IiUyQiIpLnJlcGxhY2UoLycvZywiJTI3Iil9ZnVuY3Rpb24gbihlKXtyZXR1cm4g ZGVjb2RlVVJJQ29tcG9uZW50KGUpfWZ1bmN0aW9uIHIoZSl7dmFyIG49W10scjtm b3IociBpbiBlKWVbcl0hPT1udWxsJiZ0eXBlb2YgZVtyXSE9InVuZGVmaW5lZCIm Jm4ucHVzaCh0KHIpKyI9Iit0KGVbcl0pKTtyZXR1cm4gbi5zb3J0KCkuam9pbigi JiIpfWZ1bmN0aW9uIGkoZSl7dmFyIHQ9e30scixpLHMsbztpZihlKXtyPWUuc3Bs aXQoIiYiKTtmb3Iobz0wO3M9cltvXTtvKyspaT1zLnNwbGl0KCI9IiksaS5sZW5n dGg9PTImJih0W24oaVswXSldPW4oaVsxXSkpfXJldHVybiB0fWZ1bmN0aW9uIHMo ZSx0KXt2YXIgbj1yKHQpO3JldHVybiBuLmxlbmd0aD4wP2UuaW5kZXhPZigiPyIp Pj0wP2UrIiYiK3IodCk6ZSsiPyIrcih0KTplfWZ1bmN0aW9uIG8oZSl7dmFyIHQ9 ZSYmZS5zcGxpdCgiPyIpO3JldHVybiB0Lmxlbmd0aD09Mj9pKHRbMV0pOnt9fWUo e3VybDpzLGRlY29kZVVSTDpvLGRlY29kZTppLGVuY29kZTpyLGVuY29kZVBhcnQ6 dCxkZWNvZGVQYXJ0Om59KX0pOwpwcm92aWRlKCJ1dGlsL3R3aXR0ZXIiLGZ1bmN0 aW9uKGUpe3VzaW5nKCJ1dGlsL3F1ZXJ5c3RyaW5nIixmdW5jdGlvbih0KXtmdW5j dGlvbiBvKGUpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyImJm4udGVzdChlKSYm UmVnRXhwLiQxLmxlbmd0aDw9MjB9ZnVuY3Rpb24gdShlKXtpZihvKGUpKXJldHVy biBSZWdFeHAuJDF9ZnVuY3Rpb24gYShlKXt2YXIgbj10LmRlY29kZVVSTChlKTtu LnNjcmVlbl9uYW1lPXUoZSk7aWYobi5zY3JlZW5fbmFtZSlyZXR1cm4gdC51cmwo Imh0dHBzOi8vdHdpdHRlci5jb20vaW50ZW50L3VzZXIiLG4pfWZ1bmN0aW9uIGYo ZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIiYmcy50ZXN0KGUpfWZ1bmN0aW9u IGwoZSx0KXt0PXQ9PT11bmRlZmluZWQ/ITA6dDtpZihmKGUpKXJldHVybih0PyIj IjoiIikrUmVnRXhwLiQxfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHR5cGVvZiBlPT0i c3RyaW5nIiYmci50ZXN0KGUpfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGMoZSkmJlJl Z0V4cC4kMX1mdW5jdGlvbiBwKGUpe3JldHVybiBpLnRlc3QoZSl9dmFyIG49Lyg/ Ol58KD86aHR0cHM/XDopP1wvXC8oPzp3d3dcLik/dHdpdHRlclwuY29tKD86XDpc ZCspPyg/OlwvaW50ZW50XC8oPzpmb2xsb3d8dXNlcilcLz9cP3NjcmVlbl9uYW1l PXwoPzpcLyMhKT9cLykpQD8oW1x3XSspKD86XD98JnwkKS9pLHI9Lyg/Ol58KD86 aHR0cHM/XDopP1wvXC8oPzp3d3dcLik/dHdpdHRlclwuY29tKD86XDpcZCspP1wv KD86IyFcLyk/W1x3X10rXC9zdGF0dXMoPzplcyk/XC8pKFxkKykvaSxpPS9eaHR0 cChzPyk6XC9cLygod3d3XC4pPyl0d2l0dGVyXC5jb21cLy8scz0vXiM/KFteLiw8 PiFcc1wvI1wtXChcKVwnXCJdKykkLztlKHtpc0hhc2hUYWc6ZixoYXNoVGFnOmws aXNTY3JlZW5OYW1lOm8sc2NyZWVuTmFtZTp1LGlzU3RhdHVzOmMsc3RhdHVzOmgs aW50ZW50Rm9yUHJvZmlsZVVSTDphLGlzVHdpdHRlclVSTDpwLHJlZ2V4ZW46e3By b2ZpbGU6bn19KX0pfSk7CnByb3ZpZGUoInV0aWwvdXJpIixmdW5jdGlvbihlKXt1 c2luZygidXRpbC9xdWVyeXN0cmluZyIsInV0aWwvdXRpbCIsInV0aWwvdHdpdHRl ciIsZnVuY3Rpb24odCxuLHIpe2Z1bmN0aW9uIGkoZSx0KXt2YXIgbixyO3JldHVy biB0PXR8fGxvY2F0aW9uLC9eaHR0cHM/OlwvXC8vLnRlc3QoZSk/ZTovXlwvXC8v LnRlc3QoZSk/dC5wcm90b2NvbCtlOihuPXQuaG9zdCsodC5wb3J0Lmxlbmd0aD8i OiIrdC5wb3J0OiIiKSxlLmluZGV4T2YoIi8iKSE9PTAmJihyPXQucGF0aG5hbWUu c3BsaXQoIi8iKSxyLnBvcCgpLHIucHVzaChlKSxlPSIvIityLmpvaW4oIi8iKSks W3QucHJvdG9jb2wsIi8vIixuLGVdLmpvaW4oIiIpKX1mdW5jdGlvbiBzKCl7dmFy IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKSx0PTAsbjtm b3IoO249ZVt0XTt0KyspaWYobi5yZWw9PSJjYW5vbmljYWwiKXJldHVybiBpKG4u aHJlZil9ZnVuY3Rpb24gbygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRzQnlU YWdOYW1lKCJhIiksdD1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGlu ayIpLG49W2UsdF0saSxzLG89MCx1PTAsYT0vXGJtZVxiLyxmO2Zvcig7aT1uW29d O28rKylmb3IodT0wO3M9aVt1XTt1KyspaWYoYS50ZXN0KHMucmVsKSYmKGY9ci5z Y3JlZW5OYW1lKHMuaHJlZikpKXJldHVybiBmfWUoe2Fic29sdXRpemU6aSxnZXRD YW5vbmljYWxVUkw6cyxnZXRTY3JlZW5OYW1lRnJvbVBhZ2U6b30pfSl9KTsKcHJv dmlkZSgidXRpbC90eXBldmFsaWRhdG9yIixmdW5jdGlvbihlKXt1c2luZygidXRp bC91dGlsIixmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUpe3JldHVybiBlIT09dW5k ZWZpbmVkJiZlIT09bnVsbCYmZSE9PSIifWZ1bmN0aW9uIHIoZSl7cmV0dXJuIHMo ZSkmJmUlMT09PTB9ZnVuY3Rpb24gaShlKXtyZXR1cm4gcyhlKSYmIXIoZSl9ZnVu Y3Rpb24gcyhlKXtyZXR1cm4gbihlKSYmIWlzTmFOKGUpfWZ1bmN0aW9uIG8oZSl7 cmV0dXJuIG4oZSkmJnQudG9UeXBlKGUpPT0iYXJyYXkifWZ1bmN0aW9uIHUoZSl7 aWYoIW4oZSkpcmV0dXJuITE7c3dpdGNoKGUpe2Nhc2Uib24iOmNhc2UiT04iOmNh c2UidHJ1ZSI6Y2FzZSJUUlVFIjpyZXR1cm4hMDtjYXNlIm9mZiI6Y2FzZSJPRkYi OmNhc2UiZmFsc2UiOmNhc2UiRkFMU0UiOnJldHVybiExO2RlZmF1bHQ6cmV0dXJu ISFlfX1mdW5jdGlvbiBhKGUpe2lmKHMoZSkpcmV0dXJuIGV9ZnVuY3Rpb24gZihl KXtpZihpKGUpKXJldHVybiBlfWZ1bmN0aW9uIGwoZSl7aWYocihlKSlyZXR1cm4g ZX1lKHtoYXNWYWx1ZTpuLGlzSW50OnIsaXNGbG9hdDppLGlzTnVtYmVyOnMsaXNB cnJheTpvLGFzSW50OmwsYXNGbG9hdDpmLGFzTnVtYmVyOmEsYXNCb29sZWFuOnV9 KX0pfSk7CnByb3ZpZGUoInRmdy91dGlsL2dsb2JhbHMiLGZ1bmN0aW9uKGUpe3Vz aW5nKCJ1dGlsL3R5cGV2YWxpZGF0b3IiLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIo KXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibWV0YSIpLHQs cixpPTA7bj17fTtmb3IoO3Q9ZVtpXTtpKyspe2lmKCEvXnR3aXR0ZXI6Ly50ZXN0 KHQubmFtZSkpY29udGludWU7cj10Lm5hbWUucmVwbGFjZSgvXnR3aXR0ZXI6Lywi IiksbltyXT10LmNvbnRlbnR9fWZ1bmN0aW9uIGkoZSl7cmV0dXJuIG5bZV19ZnVu Y3Rpb24gcyhlKXtyZXR1cm4gdC5hc0Jvb2xlYW4oZSkmJihuLmRudD0hMCksdC5h c0Jvb2xlYW4obi5kbnQpfXZhciBuO3IoKSxlKHtpbml0OnIsdmFsOmksZG50OnN9 KX0pfSk7CnByb3ZpZGUoInV0aWwvbG9nZ2VyIixmdW5jdGlvbihlKXtmdW5jdGlv biBuKGUsbixyLGkscyl7d2luZG93W3RdJiZ3aW5kb3dbdF0ubG9nJiZ3aW5kb3db dF0ubG9nKGUsbixyLGkscyl9ZnVuY3Rpb24gcihlLG4scixpLHMpe3dpbmRvd1t0 XSYmd2luZG93W3RdLndhcm4mJndpbmRvd1t0XS53YXJuKGUsbixyLGkscyl9ZnVu Y3Rpb24gaShlLG4scixpLHMpe3dpbmRvd1t0XSYmd2luZG93W3RdLmVycm9yJiZ3 aW5kb3dbdF0uZXJyb3IoZSxuLHIsaSxzKX12YXIgdD1bImNvbiIsInNvbGUiXS5q b2luKCIiKTtlKHtpbmZvOm4sd2FybjpyLGVycm9yOml9KX0pOwpwcm92aWRlKCJ1 dGlsL2RvbXJlYWR5IixmdW5jdGlvbihlKXtmdW5jdGlvbiBsKCl7dD0xO2Zvcih2 YXIgZT0wLHI9bi5sZW5ndGg7ZTxyO2UrKyluW2VdKCl9dmFyIHQ9MCxuPVtdLHIs aSxzPSExLG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLHU9IkRPTUNvbnRl bnRMb2FkZWQiLGE9ImFkZEV2ZW50TGlzdGVuZXIiLGY9Im9ucmVhZHlzdGF0ZWNo YW5nZSI7L15sb2FkZXxjLy50ZXN0KGRvY3VtZW50LnJlYWR5U3RhdGUpJiYodD0x KSxkb2N1bWVudFthXSYmZG9jdW1lbnRbYV0odSxpPWZ1bmN0aW9uKCl7ZG9jdW1l bnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih1LGkscyksbCgpfSxzKSxvLmRvU2Nyb2xs JiZkb2N1bWVudC5hdHRhY2hFdmVudChmLHI9ZnVuY3Rpb24oKXsvXmMvLnRlc3Qo ZG9jdW1lbnQucmVhZHlTdGF0ZSkmJihkb2N1bWVudC5kZXRhY2hFdmVudChmLHIp LGwoKSl9KTt2YXIgYz1vLmRvU2Nyb2xsP2Z1bmN0aW9uKGUpe3NlbGYhPXRvcD90 P2UoKTpuLnB1c2goZSk6IWZ1bmN0aW9uKCl7dHJ5e28uZG9TY3JvbGwoImxlZnQi KX1jYXRjaCh0KXtyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe2MoZSl9LDUw KX1lKCl9KCl9OmZ1bmN0aW9uKGUpe3Q/ZSgpOm4ucHVzaChlKX07ZShjKX0pOwpw cm92aWRlKCJ1dGlsL2VudiIsZnVuY3Rpb24oZSl7dXNpbmcoInV0aWwvZG9tcmVh ZHkiLCJ1dGlsL3R5cGV2YWxpZGF0b3IiLCJ1dGlsL2xvZ2dlciIsInRmdy91dGls L2dsb2JhbHMiLGZ1bmN0aW9uKHQsbixyLGkpe2Z1bmN0aW9uIGYoKXtyZXR1cm4g d2luZG93LmRldmljZVBpeGVsUmF0aW8/d2luZG93LmRldmljZVBpeGVsUmF0aW8+ PTEuNTp3aW5kb3cubWF0Y2hNZWRpYT93aW5kb3cubWF0Y2hNZWRpYSgib25seSBz Y3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTQ0ZHBpKSIpLm1hdGNoZXM6ITF9 ZnVuY3Rpb24gbCgpe3JldHVybi9NU0lFIFxkLy50ZXN0KHMpfWZ1bmN0aW9uIGMo KXtyZXR1cm4vTVNJRSA2Ly50ZXN0KHMpfWZ1bmN0aW9uIGgoKXtyZXR1cm4vTVNJ RSA3Ly50ZXN0KHMpfWZ1bmN0aW9uIHAoKXtyZXR1cm4vTVNJRSA5Ly50ZXN0KHMp fWZ1bmN0aW9uIGQoKXtyZXR1cm4vKGlQYWR8aVBob25lfGlQb2QpLy50ZXN0KHMp fWZ1bmN0aW9uIHYoKXtyZXR1cm4vXk1vemlsbGFcLzVcLjAgXChMaW51eDsgKFU7 ICk/QW5kcm9pZC8udGVzdChzKX1mdW5jdGlvbiBtKCl7cmV0dXJuIG99ZnVuY3Rp b24gZygpe3JldHVybiJvbnRvdWNoc3RhcnQiaW4gd2luZG93fHwvT3BlcmEgTWlu aS8udGVzdChzKXx8bmF2aWdhdG9yLm1zTWF4VG91Y2hQb2ludHM+MH1mdW5jdGlv biB5KCl7dmFyIGU9ZG9jdW1lbnQuYm9keS5zdHlsZTtyZXR1cm4gZS50cmFuc2l0 aW9uIT09dW5kZWZpbmVkfHxlLndlYmtpdFRyYW5zaXRpb24hPT11bmRlZmluZWR8 fGUubW96VHJhbnNpdGlvbiE9PXVuZGVmaW5lZHx8ZS5vVHJhbnNpdGlvbiE9PXVu ZGVmaW5lZHx8ZS5tc1RyYW5zaXRpb24hPT11bmRlZmluZWR9dmFyIHM9d2luZG93 Lm5hdmlnYXRvci51c2VyQWdlbnQsbz0hMSx1PSExLGE9InR3aXR0ZXItY3NwLXRl c3QiO3dpbmRvdy50d3R0cj13aW5kb3cudHd0dHJ8fHt9LHR3dHRyLnZlcmlmeUNT UD1mdW5jdGlvbihlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChhKTt1 PSEwLG89ISFlLHQmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KX0sdChmdW5j dGlvbigpe3ZhciBlO2lmKGMoKXx8aCgpKXJldHVybiBvPSExO2lmKG4uYXNCb29s ZWFuKGkudmFsKCJ3aWRnZXRzOmNzcCIpKSlyZXR1cm4gbz0hMDtlPWRvY3VtZW50 LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGUuaWQ9YSxlLnRleHQ9InR3dHRyLnZl cmlmeUNTUChmYWxzZSk7Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLHdp bmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYodSlyZXR1cm47ci53YXJuKCdU V0lUVEVSOiBDb250ZW50IFNlY3VyaXR5IFBvbGljeSByZXN0cmljdGlvbnMgbWF5 IGJlIGFwcGxpZWQgdG8geW91ciBzaXRlLiBBZGQgPG1ldGEgbmFtZT0idHdpdHRl cjp3aWRnZXRzOmNzcCIgY29udGVudD0ib24iPiB0byBzdXByZXNzIHRoaXMgd2Fy bmluZy4nKSxyLndhcm4oIlRXSVRURVI6IFBsZWFzZSBub3RlOiBOb3QgYWxsIGVt YmVkZGVkIHRpbWVsaW5lIGFuZCBlbWJlZGRlZCBUd2VldCBmdW5jdGlvbmFsaXR5 IGlzIHN1cHBvcnRlZCB3aGVuIENTUCBpcyBhcHBsaWVkLiIpfSw1ZTMpfSksZSh7 cmV0aW5hOmYsYW55SUU6bCxpZTY6YyxpZTc6aCxpZTk6cCxpb3M6ZCxhbmRyb2lk OnYsY3NwRW5hYmxlZDptLHRvdWNoOmcsY3NzVHJhbnNpdGlvbnM6eX0pfSl9KTsK cHJvdmlkZSgiZG9tL2RlbGVnYXRlIixmdW5jdGlvbihlKXt1c2luZygidXRpbC9l bnYiLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGkoZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1 dGUoImRhdGEtdHdpdHRlci1ldmVudC1pZCIpO3JldHVybiB0P3Q6KGUuc2V0QXR0 cmlidXRlKCJkYXRhLXR3aXR0ZXItZXZlbnQtaWQiLCsrcikscil9ZnVuY3Rpb24g cyhlLHQsbil7dmFyIHI9MCxpPWUmJmUubGVuZ3RofHwwO2ZvcihyPTA7cjxpO3Ir KyllW3JdLmNhbGwodCxuKX1mdW5jdGlvbiBvKGUsdCxuKXt2YXIgcj1ufHxlLnRh cmdldHx8ZS5zcmNFbGVtZW50LGk9ci5jbGFzc05hbWUuc3BsaXQoIiAiKSx1PTAs YSxmPWkubGVuZ3RoO2Zvcig7dTxmO3UrKylzKHRbIi4iK2lbdV1dLHIsZSk7cyh0 W3IudGFnTmFtZV0scixlKTtpZihlLmNlYXNlKXJldHVybjtyIT09dGhpcyYmby5j YWxsKHRoaXMsZSx0LHIucGFyZW50RWxlbWVudHx8ci5wYXJlbnROb2RlKX1mdW5j dGlvbiB1KGUsdCxuKXtpZihlLmFkZEV2ZW50TGlzdGVuZXIpe2UuYWRkRXZlbnRM aXN0ZW5lcih0LGZ1bmN0aW9uKHIpe28uY2FsbChlLHIsblt0XSl9LCExKTtyZXR1 cm59ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib24iK3QsZnVuY3Rpb24o KXtvLmNhbGwoZSxlLm93bmVyRG9jdW1lbnQucGFyZW50V2luZG93LmV2ZW50LG5b dF0pfSl9ZnVuY3Rpb24gYShlLHQscixzKXt2YXIgbz1pKGUpO25bb109bltvXXx8 e30sbltvXVt0XXx8KG5bb11bdF09e30sdShlLHQsbltvXSkpLG5bb11bdF1bcl09 bltvXVt0XVtyXXx8W10sbltvXVt0XVtyXS5wdXNoKHMpfWZ1bmN0aW9uIGYoZSx0 LG4pe2UuYWRkRXZlbnRMaXN0ZW5lcj9lLmFkZEV2ZW50TGlzdGVuZXIodCxuLCEx KTplLmF0dGFjaEV2ZW50KCJvbiIrdCxmdW5jdGlvbigpe24od2luZG93LmV2ZW50 KX0pfWZ1bmN0aW9uIGwoZSx0LHIpe3ZhciBzPWkodCksdT1uW3NdJiZuW3NdO28u Y2FsbCh0LHt0YXJnZXQ6cn0sdVtlXSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gcChl KSxoKGUpLCExfWZ1bmN0aW9uIGgoZSl7ZSYmZS5wcmV2ZW50RGVmYXVsdD9lLnBy ZXZlbnREZWZhdWx0KCk6ZS5yZXR1cm5WYWx1ZT0hMX1mdW5jdGlvbiBwKGUpe2Um JihlLmNlYXNlPSEwKSYmZS5zdG9wUHJvcGFnYXRpb24/ZS5zdG9wUHJvcGFnYXRp b24oKTplLmNhbmNlbEJ1YmJsZT0hMH12YXIgbj17fSxyPS0xO2Uoe3N0b3A6Yyxz dG9wUHJvcGFnYXRpb246cCxwcmV2ZW50RGVmYXVsdDpoLGRlbGVnYXRlOmEsb246 ZixzaW11bGF0ZTpsfSl9KX0pOwpwcm92aWRlKCJ0ZncvdXRpbC9hcnRpY2xlIixm dW5jdGlvbihlKXt1c2luZygiZG9tL2RlbGVnYXRlIiwidGZ3L3V0aWwvZ2xvYmFs cyIsInV0aWwvdXJpIiwiJHhkL2pzb24yLmpzIixmdW5jdGlvbih0LG4scil7ZnVu Y3Rpb24gbygpe2k9ci5nZXRDYW5vbmljYWxVUkwoKXx8IiIrZG9jdW1lbnQubG9j YXRpb247aWYoIXdpbmRvdy50b3AucG9zdE1lc3NhZ2UpcmV0dXJuO2lmKHdpbmRv dz09d2luZG93LnRvcCl7dC5vbih3aW5kb3csIm1lc3NhZ2UiLGZ1bmN0aW9uKGUp e3ZhciB0O2lmKGUuZGF0YSYmZS5kYXRhWzBdIT0ieyIpcmV0dXJuO3RyeXt0PUpT T04ucGFyc2UoZS5kYXRhKX1jYXRjaChyKXt9dCYmdC5uYW1lPT0idHd0dHI6cHJp dmF0ZTpyZXF1ZXN0QXJ0aWNsZVVybCImJmUuc291cmNlLnBvc3RNZXNzYWdlKEpT T04uc3RyaW5naWZ5KHtuYW1lOiJ0d3R0cjpwcml2YXRlOnByb3ZpZGVBcnRpY2xl VXJsIixkYXRhOnt1cmw6aSxkbnQ6bi5kbnQoKX19KSwiKiIpfSk7cmV0dXJufXQu b24od2luZG93LCJtZXNzYWdlIixmdW5jdGlvbihlKXt2YXIgdDtpZihlLmRhdGEm JmUuZGF0YVswXSE9InsiKXJldHVybjt0cnl7dD1KU09OLnBhcnNlKGUuZGF0YSl9 Y2F0Y2gocil7fXQmJnQubmFtZT09InR3dHRyOnByaXZhdGU6cHJvdmlkZUFydGlj bGVVcmwiJiYoaT10LmRhdGEmJnQuZGF0YS51cmwsbi5kbnQodC5kYXRhLmRudCks cz1kb2N1bWVudC5sb2NhdGlvbi5ocmVmKX0pLHdpbmRvdy50b3AucG9zdE1lc3Nh Z2UoSlNPTi5zdHJpbmdpZnkoe25hbWU6InR3dHRyOnByaXZhdGU6cmVxdWVzdEFy dGljbGVVcmwifSksIioiKX12YXIgaSxzPSIiO28oKSxlKHt1cmw6ZnVuY3Rpb24o KXtyZXR1cm4gaX0sZnJhbWVVcmw6ZnVuY3Rpb24oKXtyZXR1cm4gc319KX0pfSk7 CnByb3ZpZGUoInV0aWwvcHJvbWlzZSIsZnVuY3Rpb24oZSl7dXNpbmcoInV0aWwv dXRpbCIsZnVuY3Rpb24odCl7dmFyIG49ZnVuY3Rpb24oZSx0KXtzZXRUaW1lb3V0 KGZ1bmN0aW9uKCl7ZS5jYWxsKHQpfSwxKX0scj1mdW5jdGlvbihlKXt0cnl7dmFy IHQ9ZS50aGVuO2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKXJldHVybiEwfWNhdGNo KG4pe31yZXR1cm4hMX0saT1mdW5jdGlvbihlKXtFcnJvci5jYWxsKHRoaXMsZSl9 O2kucHJvdG90eXBlPXQuY3JlYXRlT2JqZWN0KEVycm9yLnByb3RvdHlwZSk7dmFy IHM9ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gZS5wdW1wPWZ1bmN0aW9uKHQp e24oZnVuY3Rpb24oKXt2YXIgbj1lLmxlbmd0aCxyPTA7d2hpbGUocjxuKXIrKyxl LnNoaWZ0KCkodCl9KX0sZX0sbz1mdW5jdGlvbihlLHQsaSxzLG8sdSl7dmFyIGE9 ITEsZj10aGlzLGw9ZnVuY3Rpb24oZSl7bihmdW5jdGlvbigpe3UoImZ1bGZpbGxl ZCIpLHMoZSksdC5wdW1wKGUpfSl9LGM9ZnVuY3Rpb24oZSl7bihmdW5jdGlvbigp e3UoInJlamVjdGVkIiksbyhlKSxpLnB1bXAoZSl9KX0saD1mdW5jdGlvbihlKXtp ZihyKGUpKXtlLnRoZW4oaCxjKTtyZXR1cm59bChlKX0scD1mdW5jdGlvbihlLHQp e3JldHVybiBmdW5jdGlvbih0KXthfHwoYT0hMCxlKHQpKX19O3RoaXMucmVzb2x2 ZT1wKGgsInJlc29sdmUiKSx0aGlzLmZ1bGZpbGw9cChsLCJmdWxmaWxsIiksdGhp cy5yZWplY3Q9cChjLCJyZWplY3QiKSx0aGlzLmNhbmNlbD1mdW5jdGlvbigpe2Yu cmVqZWN0KG5ldyBFcnJvcigiQ2FuY2VsIikpfSx0aGlzLnRpbWVvdXQ9ZnVuY3Rp b24oKXtmLnJlamVjdChuZXcgRXJyb3IoIlRpbWVvdXQiKSl9LHUoInBlbmRpbmci KX0sdT1mdW5jdGlvbihlKXt2YXIgdD1uZXcgcyxuPW5ldyBzLHIsaSx1PSJwZW5k aW5nIjt0aGlzLl9hZGRBY2NlcHRDYWxsYmFjaz1mdW5jdGlvbihlKXt0LnB1c2go ZSksdT09ImZ1bGZpbGxlZCImJnQucHVtcChyKX0sdGhpcy5fYWRkUmVqZWN0Q2Fs bGJhY2s9ZnVuY3Rpb24oZSl7bi5wdXNoKGUpLHU9PSJyZWplY3RlZCImJm4ucHVt cChpKX07dmFyIGE9bmV3IG8odGhpcyx0LG4sZnVuY3Rpb24oZSl7cj1lfSxmdW5j dGlvbihlKXtpPWV9LGZ1bmN0aW9uKGUpe3U9ZX0pO3RyeXtlJiZlKGEpfWNhdGNo KGYpe2EucmVqZWN0KGYpfX0sYT1mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGU9 PSJmdW5jdGlvbiJ9LGY9ZnVuY3Rpb24oZSxuLHIpe3JldHVybiBhKGUpP2Z1bmN0 aW9uKCl7dHJ5e3ZhciB0PWUuYXBwbHkobnVsbCxhcmd1bWVudHMpO24ucmVzb2x2 ZSh0KX1jYXRjaChyKXtuLnJlamVjdChyKX19OnQuYmluZChuW3JdLG4pfSxsPWZ1 bmN0aW9uKGUsdCxuKXtyZXR1cm4gYShlKSYmbi5fYWRkQWNjZXB0Q2FsbGJhY2so ZSksYSh0KSYmbi5fYWRkUmVqZWN0Q2FsbGJhY2sodCksbn07dC5hdWcodS5wcm90 b3R5cGUse3RoZW46ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO3JldHVybiBuZXcg dShmdW5jdGlvbihyKXtsKGYoZSxyLCJyZXNvbHZlIiksZih0LHIsInJlamVjdCIp LG4pfSl9LCJjYXRjaCI6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gbmV3 IHUoZnVuY3Rpb24obil7bChudWxsLGYoZSxuLCJyZWplY3QiKSx0KX0pfX0pLHUu aXNUaGVuYWJsZT1yO3ZhciBjPWZ1bmN0aW9uKGUpe3JldHVybiB0Lm1hcChlLHUu cmVzb2x2ZSl9O3UuYW55PWZ1bmN0aW9uKCl7dmFyIGU9Yyhhcmd1bWVudHMpO3Jl dHVybiBuZXcgdShmdW5jdGlvbihuKXtpZighZS5sZW5ndGgpbi5yZWplY3QoIk5v IGZ1dHVyZXMgcGFzc2VkIHRvIFByb21pc2UuYW55KCkiKTtlbHNle3ZhciByPSEx LGk9ZnVuY3Rpb24oZSl7aWYocilyZXR1cm47cj0hMCxuLnJlc29sdmUoZSl9LHM9 ZnVuY3Rpb24oZSl7aWYocilyZXR1cm47cj0hMCxuLnJlamVjdChlKX07dC5mb3JF YWNoKGUsZnVuY3Rpb24oZSx0KXtlLnRoZW4oaSxzKX0pfX0pfSx1LmV2ZXJ5PWZ1 bmN0aW9uKCl7dmFyIGU9Yyhhcmd1bWVudHMpO3JldHVybiBuZXcgdShmdW5jdGlv bihuKXtpZighZS5sZW5ndGgpbi5yZWplY3QoIk5vIGZ1dHVyZXMgcGFzc2VkIHRv IFByb21pc2UuZXZlcnkoKSIpO2Vsc2V7dmFyIHI9bmV3IEFycmF5KGUubGVuZ3Ro KSxpPTAscz1mdW5jdGlvbih0LHMpe2krKyxyW3RdPXMsaT09ZS5sZW5ndGgmJm4u cmVzb2x2ZShyKX07dC5mb3JFYWNoKGUsZnVuY3Rpb24oZSxyKXtlLnRoZW4odC5i aW5kKHMsbnVsbCxbcl0pLG4ucmVqZWN0KX0pfX0pfSx1LnNvbWU9ZnVuY3Rpb24o KXt2YXIgZT1jKGFyZ3VtZW50cyk7cmV0dXJuIG5ldyB1KGZ1bmN0aW9uKG4pe2lm KCFlLmxlbmd0aCluLnJlamVjdCgiTm8gZnV0dXJlcyBwYXNzZWQgdG8gUHJvbWlz ZS5zb21lKCkiKTtlbHNle3ZhciByPTAsaT1mdW5jdGlvbih0KXtyKysscj09ZS5s ZW5ndGgmJm4ucmVqZWN0KCl9O3QuZm9yRWFjaChlLGZ1bmN0aW9uKGUsdCl7ZS50 aGVuKG4ucmVzb2x2ZSxpKX0pfX0pfSx1LmZ1bGZpbGw9ZnVuY3Rpb24oZSl7cmV0 dXJuIG5ldyB1KGZ1bmN0aW9uKHQpe3QuZnVsZmlsbChlKX0pfSx1LnJlc29sdmU9 ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB1KGZ1bmN0aW9uKHQpe3QucmVzb2x2ZShl KX0pfSx1LnJlamVjdD1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IHUoZnVuY3Rpb24o dCl7dC5yZWplY3QoZSl9KX0sZSh1KX0pfSk7CnByb3ZpZGUoInV0aWwvbGF5b3V0 IixmdW5jdGlvbihlKXt1c2luZygidXRpbC9wcm9taXNlIiwidXRpbC9sb2dnZXIi LGZ1bmN0aW9uKHQsbil7ZnVuY3Rpb24gcygpe312YXIgcj1bXSxpO3MucHJvdG90 eXBlLmVucXVldWU9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbmV3IHQoZnVuY3Rpb24o dCl7ci5wdXNoKHthY3Rpb246ZSxyZXNvbHZlcjp0LG5vdGU6bn0pfSl9LHMucHJv dG90eXBlLmV4ZWM9ZnVuY3Rpb24oKXt2YXIgZT1yLHQ7aWYoIWUubGVuZ3RoKXJl dHVybjtyPVtdO3doaWxlKGUubGVuZ3RoKXQ9ZS5zaGlmdCgpLHQmJnQuYWN0aW9u P3QucmVzb2x2ZXIuZnVsZmlsbCh0LmFjdGlvbigpKTp0LnJlc29sdmVyLnJlamVj dCgpfSxzLnByb3RvdHlwZS5kZWxheWVkRXhlYz1mdW5jdGlvbigpe2kmJndpbmRv dy5jbGVhclRpbWVvdXQoaSksaT13aW5kb3cuc2V0VGltZW91dCh0aGlzLmV4ZWMs MTAwKX0sZShzKX0pfSk7CnByb3ZpZGUoInV0aWwvaWZyYW1lIixmdW5jdGlvbihl KXt1c2luZygidXRpbC91dGlsIixmdW5jdGlvbih0KXtlKGZ1bmN0aW9uKGUsbixy KXt2YXIgaTtyPXJ8fGRvY3VtZW50LGU9ZXx8e30sbj1ufHx7fTtpZihlLm5hbWUp e3RyeXtpPXIuY3JlYXRlRWxlbWVudCgnPGlmcmFtZSBuYW1lPSInK2UubmFtZSsn Ij48L2lmcmFtZT4nKX1jYXRjaChzKXtpPXIuY3JlYXRlRWxlbWVudCgiaWZyYW1l IiksaS5uYW1lPWUubmFtZX1kZWxldGUgZS5uYW1lfWVsc2UgaT1yLmNyZWF0ZUVs ZW1lbnQoImlmcmFtZSIpO3JldHVybiBlLmlkJiYoaS5pZD1lLmlkLGRlbGV0ZSBl LmlkKSxpLmFsbG93dHJhbnNwYXJlbmN5PSJ0cnVlIixpLnNjcm9sbGluZz0ibm8i LGkuc2V0QXR0cmlidXRlKCJmcmFtZUJvcmRlciIsMCksaS5zZXRBdHRyaWJ1dGUo ImFsbG93VHJhbnNwYXJlbmN5IiwhMCksdC5mb3JJbihlLGZ1bmN0aW9uKGUsdCl7 aS5zZXRBdHRyaWJ1dGUoZSx0KX0pLHQuZm9ySW4obixmdW5jdGlvbihlLHQpe2ku c3R5bGVbZV09dH0pLGl9KX0pfSk7CnByb3ZpZGUoImRvbS9nZXQiLGZ1bmN0aW9u KGUpe3VzaW5nKCJ1dGlsL3V0aWwiLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoZSx0 LHIpe3JldHVybiBuKGUsdCxyLDEpWzBdfWZ1bmN0aW9uIGkoZSxuLHIpe3ZhciBz PW4mJm4ucGFyZW50Tm9kZSxvO2lmKCFzfHxzPT09cilyZXR1cm47cmV0dXJuIHMu dGFnTmFtZT09ZT9zOihvPXMuY2xhc3NOYW1lLnNwbGl0KCIgIiksMD09PWUuaW5k ZXhPZigiLiIpJiZ+dC5pbmRleE9mKG8sZS5zbGljZSgxKSk/czppKGUscyxyKSl9 dmFyIG49ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xh c3NOYW1lO3JldHVybiB0LmlzTmF0aXZlKGUpP2Z1bmN0aW9uKG4scixpLHMpe3Zh ciBvPXI/ci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG4pOmUuY2FsbChkb2N1bWVu dCxuKSx1PXQuZmlsdGVyKG8sZnVuY3Rpb24oZSl7cmV0dXJuIWl8fGUudGFnTmFt ZS50b0xvd2VyQ2FzZSgpPT1pLnRvTG93ZXJDYXNlKCl9KTtyZXR1cm5bXS5zbGlj ZS5jYWxsKHUsMCxzfHx1Lmxlbmd0aCl9OmZ1bmN0aW9uKGUsbixyLGkpe3ZhciBz LG8sdT1bXSxhLGYsbCxjLGgscDtuPW58fGRvY3VtZW50LGE9ZS5zcGxpdCgiICIp LGM9YS5sZW5ndGgscz1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKHJ8fCIqIikscD1z Lmxlbmd0aDtmb3IobD0wO2w8YyYmcD4wO2wrKyl7dT1bXSxmPWFbbF07Zm9yKGg9 MDtoPHA7aCsrKXtvPXNbaF0sfnQuaW5kZXhPZihvLmNsYXNzTmFtZS5zcGxpdCgi ICIpLGYpJiZ1LnB1c2gobyk7aWYobCsxPT1jJiZ1Lmxlbmd0aD09PWkpYnJlYWt9 cz11LHA9cy5sZW5ndGh9cmV0dXJuIHV9fSgpO2Uoe2FsbDpuLG9uZTpyLGFuY2Vz dG9yOml9KX0pfSk7CnByb3ZpZGUoInRmdy93aWRnZXQvYmFzZSIsZnVuY3Rpb24o ZSl7dXNpbmcoImRvbS9nZXQiLCJ1dGlsL2RvbXJlYWR5IiwidXRpbC9pZnJhbWUi LCJ1dGlsL2xheW91dCIsInV0aWwvcHJvbWlzZSIsInV0aWwvcXVlcnlzdHJpbmci LCJ1dGlsL3R5cGV2YWxpZGF0b3IiLCJ1dGlsL3V0aWwiLCJ0ZncvdXRpbC9nbG9i YWxzIixmdW5jdGlvbih0LG4scixpLHMsbyx1LGEsZil7ZnVuY3Rpb24gZyhlKXt2 YXIgdDtpZighZSlyZXR1cm47ZS5vd25lckRvY3VtZW50Pyh0aGlzLnNyY0VsPWUs dGhpcy5jbGFzc0F0dHI9ZS5jbGFzc05hbWUuc3BsaXQoIiAiKSk6KHRoaXMuc3Jj T2I9ZSx0aGlzLmNsYXNzQXR0cj1bXSksdD10aGlzLnBhcmFtcygpLHRoaXMuaWQ9 dGhpcy5nZW5lcmF0ZUlkKCksdGhpcy5zZXRMYW5ndWFnZSgpLHRoaXMucmVsYXRl ZD10LnJlbGF0ZWR8fHRoaXMuZGF0YUF0dHIoInJlbGF0ZWQiKSx0aGlzLnBhcnRu ZXI9dC5wYXJ0bmVyfHx0aGlzLmRhdGFBdHRyKCJwYXJ0bmVyIil8fGYudmFsKCJw YXJ0bmVyIiksdGhpcy5kbnQ9dC5kbnR8fHRoaXMuZGF0YUF0dHIoImRudCIpfHxm LmRudCgpfHwiIix0aGlzLnN0eWxlQXR0cj1bXSx0aGlzLnRhcmdldEVsPWUudGFy Z2V0RWwsdGhpcy5jb21wbGV0ZVByb21pc2U9bmV3IHMoYS5iaW5kKGZ1bmN0aW9u KGUpe3RoaXMuY29tcGxldGVSZXNvbHZlcj1lfSx0aGlzKSksdGhpcy5jb21wbGV0 ZWQoKS50aGVuKGZ1bmN0aW9uKGUpe2lmKCFlfHxlPT1kb2N1bWVudC5ib2R5KXJl dHVybjt0d3R0ci5ldmVudHMudHJpZ2dlcigicmVuZGVyZWQiLHt0YXJnZXQ6ZX0p fSl9ZnVuY3Rpb24geSgpe2EuZm9yRWFjaChwLGZ1bmN0aW9uKGUpe2UoKX0pLGcu ZG9MYXlvdXQoKX1mdW5jdGlvbiBiKGUpe2lmKCFlKXJldHVybjtyZXR1cm4gZS5s YW5nP2UubGFuZzpiKGUucGFyZW50Tm9kZSl9dmFyIGw9MCxjLGg9e2xpc3Q6W10s YnlJZDp7fX0scD1bXSxkPW5ldyBpLHY9ImRhdGEtdHd0dHItcmVuZGVyZWQiLG09 e2FyOnsiJXtmb2xsb3dlcnNfY291bnR9IGZvbGxvd2VycyI6Iti52K/YryDYp9mE 2YXYqtin2KjYudmK2YYgJXtmb2xsb3dlcnNfY291bnR9IiwiMTAwSysiOiIrMTAw INij2YTZgSIsIjEwayB1bml0IjoiMTAg2KLZhNin2YEg2YjYrdiv2KkiLEZvbGxv dzoi2KrYp9io2ZDYuSIsIkZvbGxvdyAle3NjcmVlbl9uYW1lfSI6Itiq2KfYqNmQ 2LkgJXtzY3JlZW5fbmFtZX0iLEs6Itij2YTZgSIsTToi2YXZhNmK2YjZhiIsVHdl ZXQ6Iti62LHZkNmR2K8iLCJUd2VldCAle2hhc2h0YWd9Ijoi2LrYsdmQ2ZHYryAl e2hhc2h0YWd9IiwiVHdlZXQgdG8gJXtuYW1lfSI6Iti62LHZkNmR2K8g2YTZgCAl e25hbWV9In0sZGE6eyIle2ZvbGxvd2Vyc19jb3VudH0gZm9sbG93ZXJzIjoiJXtm b2xsb3dlcnNfY291bnR9IGbDuGxnZXJlIiwiMTBrIHVuaXQiOiIxMGsgZW5oZWQi LEZvbGxvdzoiRsO4bGciLCJGb2xsb3cgJXtzY3JlZW5fbmFtZX0iOiJGw7hsZyAl e3NjcmVlbl9uYW1lfSIsIlR3ZWV0IHRvICV7bmFtZX0iOiJUd2VldCB0aWwgJXtu YW1lfSJ9LGRlOnsiJXtmb2xsb3dlcnNfY291bnR9IGZvbGxvd2VycyI6IiV7Zm9s bG93ZXJzX2NvdW50fSBGb2xsb3dlciIsIjEwMEsrIjoiMTAwVHNkKyIsIjEwayB1 bml0IjoiMTB0c2QtRWluaGVpdCIsRm9sbG93OiJGb2xnZW4iLCJGb2xsb3cgJXtz Y3JlZW5fbmFtZX0iOiIle3NjcmVlbl9uYW1lfSBmb2xnZW4iLEs6IlRzZCIsVHdl ZXQ6IlR3aXR0ZXJuIiwiVHdlZXQgdG8gJXtuYW1lfSI6IlR3ZWV0IGFuICV7bmFt ZX0ifSxlczp7IiV7Zm9sbG93ZXJzX2NvdW50fSBmb2xsb3dlcnMiOiIle2ZvbGxv d2Vyc19jb3VudH0gc2VndWlkb3JlcyIsIjEwayB1bml0IjoiMTBrIHVuaWRhZCIs Rm9sbG93OiJTZWd1aXIiLCJGb2xsb3cgJXtzY3JlZW5fbmFtZX0iOiJTZWd1aXIg YSAle3NjcmVlbl9uYW1lfSIsVHdlZXQ6IlR3aXR0ZWFyIiwiVHdlZXQgJXtoYXNo dGFnfSI6IlR3aXR0ZWFyICV7aGFzaHRhZ30iLCJUd2VldCB0byAle25hbWV9Ijoi VHdpdHRlYXIgYSAle25hbWV9In0sZmE6eyIle2ZvbGxvd2Vyc19jb3VudH0gZm9s bG93ZXJzIjoiJXtmb2xsb3dlcnNfY291bnR9INiv2YbYqNin2YTigIzaqdmG2YbY r9mHIiwiMTAwSysiOiI+27HbsNuw2YfYstin2LEiLCIxMGsgdW5pdCI6Itux27DZ h9iy2KfYsSDZiNin2K3YryIsRm9sbG93OiLYr9mG2KjYp9mEINqp2LHYr9mGIiwi Rm9sbG93ICV7c2NyZWVuX25hbWV9Ijoi2K/Zhtio2KfZhCDaqdix2K/ZhiAle3Nj cmVlbl9uYW1lfSIsSzoi2YfYstin2LEiLE06ItmF24zZhNuM2YjZhiIsVHdlZXQ6 Itiq2YjbjNuM2KoiLCJUd2VldCAle2hhc2h0YWd9Ijoi2KrZiNuM24zYqiDaqdix 2K/ZhiAle2hhc2h0YWd9IiwiVHdlZXQgdG8gJXtuYW1lfSI6Itio2YcgJXtuYW1l fSDYqtmI24zbjNiqINqp2YbbjNivIn0sZmk6eyIle2ZvbGxvd2Vyc19jb3VudH0g Zm9sbG93ZXJzIjoiJXtmb2xsb3dlcnNfY291bnR9IHNldXJhYWphYSIsIjEwMEsr IjoiMTAwIDAwMCsiLCIxMGsgdW5pdCI6IjEwIDAwMCB5a3Npa2vDtsOkIixGb2xs b3c6IlNldXJhYSIsIkZvbGxvdyAle3NjcmVlbl9uYW1lfSI6IlNldXJhYSBrw6R5 dHTDpGrDpMOkICV7c2NyZWVuX25hbWV9IixLOiJ0dWhhdHRhIixNOiJtaWxqLiIs VHdlZXQ6IlR3aWl0dGFhIiwiVHdlZXQgJXtoYXNodGFnfSI6IlR3aWl0dGFhICV7 aGFzaHRhZ30iLCJUd2VldCB0byAle25hbWV9IjoiVHdpaXR0YWEga8OkeXR0w6Rq w6RsbGUgJXtuYW1lfSJ9LGZpbDp7IiV7Zm9sbG93ZXJzX2NvdW50fSBmb2xsb3dl cnMiOiIle2ZvbGxvd2Vyc19jb3VudH0gbWdhIHRhZ2FzdW5vZCIsIjEwayB1bml0 IjoiMTBrIHl1bml0IixGb2xsb3c6IlN1bmRhbiIsIkZvbGxvdyAle3NjcmVlbl9u YW1lfSI6IlN1bmRhbiBzaSAle3NjcmVlbl9uYW1lfSIsVHdlZXQ6IkktdHdlZXQi LCJUd2VldCAle2hhc2h0YWd9IjoiSS10d2VldCBhbmcgJXtoYXNodGFnfSIsIlR3 ZWV0IHRvICV7bmFtZX0iOiJNYWctVHdlZXQga2F5ICV7bmFtZX0ifSxmcjp7IiV7 Zm9sbG93ZXJzX2NvdW50fSBmb2xsb3dlcnMiOiIle2ZvbGxvd2Vyc19jb3VudH0g YWJvbm7DqXMiLCIxMGsgdW5pdCI6InVuaXTDqSBkZSAxMGsiLEZvbGxvdzoiU3Vp dnJlIiwiRm9sbG93ICV7c2NyZWVuX25hbWV9IjoiU3VpdnJlICV7c2NyZWVuX25h bWV9IixUd2VldDoiVHdlZXRlciIsIlR3ZWV0ICV7aGFzaHRhZ30iOiJUd2VldGVy ICV7aGFzaHRhZ30iLCJUd2VldCB0byAle25hbWV9IjoiVHdlZXRlciDDoCAle25h bWV9In0saGU6eyIle2ZvbGxvd2Vyc19jb3VudH0gZm9sbG93ZXJzIjoiJXtmb2xs b3dlcnNfY291bnR9INei15XXp9eR15nXnSIsIjEwMEsrIjoi157XkNeV16og15DX nNek15nXnSIsIjEwayB1bml0Ijoi16LXqdeo15XXqiDXkNec16TXmdedIixGb2xs b3c6Itee16LXp9eRIiwiRm9sbG93ICV7c2NyZWVuX25hbWV9Ijoi15zXoten15XX kSDXkNeX16ggJXtzY3JlZW5fbmFtZX0iLEs6IteQ15zXoyIsTToi157Xmdec15nX ldefIixUd2VldDoi16bXmdeV16UiLCJUd2VldCAle2hhc2h0YWd9Ijoi16bXmdeZ 16bXlSAle2hhc2h0YWd9IiwiVHdlZXQgdG8gJXtuYW1lfSI6Item15nXldelINeQ 15wgJXtuYW1lfSJ9LGhpOnsiJXtmb2xsb3dlcnNfY291bnR9IGZvbGxvd2VycyI6 IiV7Zm9sbG93ZXJzX2NvdW50fSDgpKvgpLzgpYngpLLgpYvgpIXgpLDgpY3gpLgi LCIxMDBLKyI6IjEg4KSy4KS+4KSWKyIsIjEwayB1bml0IjoiMTAg4KS54KSc4KS+ 4KSwIOCkh+CkleCkvuCkiOCkr+CkvuCkgiIsRm9sbG93OiLgpKvgpLzgpYngpLLg pYsiLCJGb2xsb3cgJXtzY3JlZW5fbmFtZX0iOiIle3NjcmVlbl9uYW1lfSDgpJXg pYsg4KSr4KS84KWJ4KSy4KWLIOCkleCksOClh+CkgiIsSzoi4KS54KSc4KS+4KSw IixNOiLgpK7gpL/gpLLgpL/gpK/gpKgiLFR3ZWV0OiLgpJ/gpY3gpLXgpYDgpJ8i LCJUd2VldCAle2hhc2h0YWd9Ijoi4KSf4KWN4KS14KWA4KSfICV7aGFzaHRhZ30i LCJUd2VldCB0byAle25hbWV9IjoiJXtuYW1lfSDgpJXgpYsg4KSf4KWN4KS14KWA 4KSfIOCkleCksOClh+CkgiJ9LGh1OnsiJXtmb2xsb3dlcnNfY291bnR9IGZvbGxv d2VycyI6IiV7Zm9sbG93ZXJzX2NvdW50fSBrw7Z2ZXTFkSIsIjEwMEsrIjoiMTAw RSsiLCIxMGsgdW5pdCI6IjEwRSsiLEZvbGxvdzoiS8O2dmV0w6lzIiwiRm9sbG93 ICV7c2NyZWVuX25hbWV9IjoiJXtzY3JlZW5fbmFtZX0ga8O2dmV0w6lzZSIsSzoi RSIsIlR3ZWV0ICV7aGFzaHRhZ30iOiIle2hhc2h0YWd9IHR3ZWV0ZWzDqXNlIiwi VHdlZXQgdG8gJXtuYW1lfSI6IlR3ZWV0IGvDvGxkw6lzZSBuZWtpOiAle25hbWV9 In0saWQ6eyIle2ZvbGxvd2Vyc19jb3VudH0gZm9sbG93ZXJzIjoiJXtmb2xsb3dl cnNfY291bnR9IHBlbmdpa3V0IiwiMTAwSysiOiIxMDAgcmlidSsiLCIxMGsgdW5p dCI6IjEwIHJpYnUgdW5pdCIsRm9sbG93OiJJa3V0aSIsIkZvbGxvdyAle3NjcmVl bl9uYW1lfSI6IklrdXRpICV7c2NyZWVuX25hbWV9IixLOiImbmJzcDtyaWJ1IixN OiImbmJzcDtqdXRhIiwiVHdlZXQgdG8gJXtuYW1lfSI6IlR3ZWV0IGtlICV7bmFt ZX0ifSxpdDp7IiV7Zm9sbG93ZXJzX2NvdW50fSBmb2xsb3dlcnMiOiIle2ZvbGxv d2Vyc19jb3VudH0gZm9sbG93ZXIiLCIxMGsgdW5pdCI6IjEwayB1bml0w6AiLEZv bGxvdzoiU2VndWkiLCJGb2xsb3cgJXtzY3JlZW5fbmFtZX0iOiJTZWd1aSAle3Nj cmVlbl9uYW1lfSIsIlR3ZWV0ICV7aGFzaHRhZ30iOiJUd2l0dGEgJXtoYXNodGFn fSIsIlR3ZWV0IHRvICV7bmFtZX0iOiJUd2l0dGEgYSAle25hbWV9In0samE6eyIl e2ZvbGxvd2Vyc19jb3VudH0gZm9sbG93ZXJzIjoiJXtmb2xsb3dlcnNfY291bnR9 5Lq644Gu44OV44Kp44Ot44Ov44O8IiwiMTAwSysiOiIxMDBL5Lul5LiKIiwiMTBr IHVuaXQiOiLkuIciLEZvbGxvdzoi44OV44Kp44Ot44O844GZ44KLIiwiRm9sbG93 ICV7c2NyZWVuX25hbWV9IjoiJXtzY3JlZW5fbmFtZX3jgZXjgpPjgpLjg5Xjgqnj g63jg7wiLFR3ZWV0OiLjg4TjgqTjg7zjg4giLCJUd2VldCAle2hhc2h0YWd9Ijoi JXtoYXNodGFnfSDjgpLjg4TjgqTjg7zjg4jjgZnjgosiLCJUd2VldCB0byAle25h bWV9IjoiJXtuYW1lfeOBleOCk+OBuOODhOOCpOODvOODiOOBmeOCiyJ9LGtvOnsi JXtmb2xsb3dlcnNfY291bnR9IGZvbGxvd2VycyI6IiV7Zm9sbG93ZXJzX2NvdW50 feuqheydmCDtjJTroZzsm4wiLCIxMDBLKyI6IjEwMOunjCDsnbTsg4EiLCIxMGsg dW5pdCI6IuunjCDri6jsnIQiLEZvbGxvdzoi7YyU66Gc7JqwIiwiRm9sbG93ICV7 c2NyZWVuX25hbWV9IjoiJXtzY3JlZW5fbmFtZX0g64uYIO2MlOuhnOyasO2VmOq4 sCIsSzoi7LKcIixNOiLrsLHrp4wiLFR3ZWV0OiLtirjsnJciLCJUd2VldCAle2hh c2h0YWd9IjoiJXtoYXNodGFnfSDqtIDroKgg7Yq47JyX7ZWY6riwIiwiVHdlZXQg dG8gJXtuYW1lfSI6IiV7bmFtZX3ri5jsl5Dqsowg7Yq47JyX7ZWY6riwIn0sbXNh OnsiJXtmb2xsb3dlcnNfY291bnR9IGZvbGxvd2VycyI6IiV7Zm9sbG93ZXJzX2Nv dW50fSBwZW5naWt1dCIsIjEwMEsrIjoiMTAwIHJpYnUrIiwiMTBrIHVuaXQiOiIx MCByaWJ1IHVuaXQiLEZvbGxvdzoiSWt1dCIsIkZvbGxvdyAle3NjcmVlbl9uYW1l fSI6IklrdXQgJXtzY3JlZW5fbmFtZX0iLEs6InJpYnUiLE06Imp1dGEiLCJUd2Vl dCB0byAle25hbWV9IjoiVHdlZXQga2VwYWRhICV7bmFtZX0ifSxubDp7IiV7Zm9s bG93ZXJzX2NvdW50fSBmb2xsb3dlcnMiOiIle2ZvbGxvd2Vyc19jb3VudH0gdm9s Z2VycyIsIjEwMEsrIjoiMTAwaysiLCIxMGsgdW5pdCI6IjEway1lZW5oZWlkIixG b2xsb3c6IlZvbGdlbiIsIkZvbGxvdyAle3NjcmVlbl9uYW1lfSI6IiV7c2NyZWVu X25hbWV9IHZvbGdlbiIsSzoiayIsTToiIG1sbi4iLFR3ZWV0OiJUd2VldGVuIiwi VHdlZXQgJXtoYXNodGFnfSI6IiV7aGFzaHRhZ30gdHdlZXRlbiIsIlR3ZWV0IHRv ICV7bmFtZX0iOiJUd2VldGVuIG5hYXIgJXtuYW1lfSJ9LG5vOnsiJXtmb2xsb3dl cnNfY291bnR9IGZvbGxvd2VycyI6IiV7Zm9sbG93ZXJzX2NvdW50fSBmw7hsZ2Vy ZSIsIjEwMEsrIjoiMTAwIEsrIiwiMTBrIHVuaXQiOiIxMC1LLWVuaGV0IixGb2xs b3c6IkbDuGxnIiwiRm9sbG93ICV7c2NyZWVuX25hbWV9IjoiRsO4bGcgJXtzY3Jl ZW5fbmFtZX0iLCJUd2VldCB0byAle25hbWV9IjoiU2VuZCBlbiB0d2VldCB0aWwg JXtuYW1lfSJ9LHBsOnsiJXtmb2xsb3dlcnNfY291bnR9IGZvbGxvd2VycyI6IiV7 Zm9sbG93ZXJzX2NvdW50fSBvYnNlcnd1asSFY3ljaCIsIjEwMEsrIjoiMTAwIHR5 cy4rIiwiMTBrIHVuaXQiOiIxMCB0eXMuIixGb2xsb3c6Ik9ic2Vyd3VqIiwiRm9s bG93ICV7c2NyZWVuX25hbWV9IjoiT2JzZXJ3dWogJXtzY3JlZW5fbmFtZX0iLEs6 InR5cy4iLE06Im1sbiIsVHdlZXQ6IlR3ZWV0bmlqIiwiVHdlZXQgJXtoYXNodGFn fSI6IlR3ZWV0bmlqICV7aGFzaHRhZ30iLCJUd2VldCB0byAle25hbWV9IjoiVHdl ZXRuaWogZG8gJXtuYW1lfSJ9LHB0OnsiJXtmb2xsb3dlcnNfY291bnR9IGZvbGxv d2VycyI6IiV7Zm9sbG93ZXJzX2NvdW50fSBzZWd1aWRvcmVzIiwiMTAwSysiOiIr MTAwIG1pbCIsIjEwayB1bml0IjoiMTAgbWlsIHVuaWRhZGVzIixGb2xsb3c6IlNl Z3VpciIsIkZvbGxvdyAle3NjcmVlbl9uYW1lfSI6IlNlZ3VpciAle3NjcmVlbl9u YW1lfSIsSzoiTWlsIixUd2VldDoiVHdlZXRhciIsIlR3ZWV0ICV7aGFzaHRhZ30i OiJUd2VldGFyICV7aGFzaHRhZ30iLCJUd2VldCB0byAle25hbWV9IjoiVHdlZXRh ciBwYXJhICV7bmFtZX0ifSxydTp7IiV7Zm9sbG93ZXJzX2NvdW50fSBmb2xsb3dl cnMiOiLQp9C40YLQsNGC0LXQu9C4OiAle2ZvbGxvd2Vyc19jb3VudH0gIiwiMTAw SysiOiIxMDAg0YLRi9GBLisiLCIxMGsgdW5pdCI6ItCx0LvQvtC6IDEwayIsRm9s bG93OiLQp9C40YLQsNGC0YwiLCJGb2xsb3cgJXtzY3JlZW5fbmFtZX0iOiLQp9C4 0YLQsNGC0YwgJXtzY3JlZW5fbmFtZX0iLEs6ItGC0YvRgS4iLE06ItC80LvQvS4i LFR3ZWV0OiLQotCy0LjRgtC90YPRgtGMIiwiVHdlZXQgJXtoYXNodGFnfSI6ItCi 0LLQuNGC0L3Rg9GC0YwgJXtoYXNodGFnfSIsIlR3ZWV0IHRvICV7bmFtZX0iOiLQ otCy0LjRgtC90YPRgtGMICV7bmFtZX0ifSxzdjp7IiV7Zm9sbG93ZXJzX2NvdW50 fSBmb2xsb3dlcnMiOiIle2ZvbGxvd2Vyc19jb3VudH0gZsO2bGphcmUiLCIxMGsg dW5pdCI6IjEwayIsRm9sbG93OiJGw7ZsaiIsIkZvbGxvdyAle3NjcmVlbl9uYW1l fSI6IkbDtmxqICV7c2NyZWVuX25hbWV9IixUd2VldDoiVHdlZXRhIiwiVHdlZXQg JXtoYXNodGFnfSI6IlR3ZWV0YSAle2hhc2h0YWd9IiwiVHdlZXQgdG8gJXtuYW1l fSI6IlR3ZWV0YSB0aWxsICV7bmFtZX0ifSx0aDp7IiV7Zm9sbG93ZXJzX2NvdW50 fSBmb2xsb3dlcnMiOiIle2ZvbGxvd2Vyc19jb3VudH0g4Lic4Li54LmJ4LiV4Li0 4LiU4LiV4Liy4LihIiwiMTAwSysiOiIxMDDguJ7guLHguJkrIiwiMTBrIHVuaXQi OiLguKvguJnguYjguKfguKIgMTDguJ7guLHguJkiLEZvbGxvdzoi4LiV4Li04LiU 4LiV4Liy4LihIiwiRm9sbG93ICV7c2NyZWVuX25hbWV9Ijoi4LiV4Li04LiU4LiV 4Liy4LihICV7c2NyZWVuX25hbWV9IixNOiLguKXguYnguLLguJkiLFR3ZWV0OiLg uJfguKfguLXguJUiLCJUd2VldCAle2hhc2h0YWd9Ijoi4LiX4Lin4Li14LiVICV7 aGFzaHRhZ30iLCJUd2VldCB0byAle25hbWV9Ijoi4LiX4Lin4Li14LiV4LiW4Li2 4LiHICV7bmFtZX0ifSx0cjp7IiV7Zm9sbG93ZXJzX2NvdW50fSBmb2xsb3dlcnMi OiIle2ZvbGxvd2Vyc19jb3VudH0gdGFraXDDp2kiLCIxMDBLKyI6IisxMDAgYmlu IiwiMTBrIHVuaXQiOiIxMCBiaW4gYmlyaW0iLEZvbGxvdzoiVGFraXAgZXQiLCJG b2xsb3cgJXtzY3JlZW5fbmFtZX0iOiJUYWtpcCBldDogJXtzY3JlZW5fbmFtZX0i LEs6ImJpbiIsTToibWlseW9uIixUd2VldDoiVHdlZXRsZSIsIlR3ZWV0ICV7aGFz aHRhZ30iOiJUd2VldGxlOiAle2hhc2h0YWd9IiwiVHdlZXQgdG8gJXtuYW1lfSI6 IlR3ZWV0bGU6ICV7bmFtZX0ifSx1cjp7IiV7Zm9sbG93ZXJzX2NvdW50fSBmb2xs b3dlcnMiOiIle2ZvbGxvd2Vyc19jb3VudH0g2YHYp9mE2YjYsdiyIiwiMTAwSysi OiLYp9uM2qkg2YTYp9qp2r4g2LPbkiDYstuM2KfYr9uBIiwiMTBrIHVuaXQiOiLY r9izINuB2LLYp9ixINuM2YjZhtm5IixGb2xsb3c6ItmB2KfZhNmIINqp2LHbjNq6 IiwiRm9sbG93ICV7c2NyZWVuX25hbWV9IjoiJXtzY3JlZW5fbmFtZX0g2qnZiCDZ gdin2YTZiCDaqdix24zauiIsSzoi24HYstin2LEiLE06ItmF2YTbjNmGIixUd2Vl dDoi2bnZiNuM2bkg2qnYsduM2roiLCJUd2VldCAle2hhc2h0YWd9IjoiJXtoYXNo dGFnfSDZudmI24zZuSDaqdix24zauiIsIlR3ZWV0IHRvICV7bmFtZX0iOiIle25h bWV9INqp2Ygg2bnZiNuM2bkg2qnYsduM2roifSwiemgtY24iOnsiJXtmb2xsb3dl cnNfY291bnR9IGZvbGxvd2VycyI6IiV7Zm9sbG93ZXJzX2NvdW50fSDlhbPms6jo gIUiLCIxMDBLKyI6IjEw5LiHKyIsIjEwayB1bml0IjoiMeS4h+WNleWFgyIsRm9s bG93OiLlhbPms6giLCJGb2xsb3cgJXtzY3JlZW5fbmFtZX0iOiLlhbPms6ggJXtz Y3JlZW5fbmFtZX0iLEs6IuWNgyIsTToi55m+5LiHIixUd2VldDoi5Y+R5o6oIiwi VHdlZXQgJXtoYXNodGFnfSI6IuS7pSAle2hhc2h0YWd9IOWPkeaOqCIsIlR3ZWV0 IHRvICV7bmFtZX0iOiLlj5Hmjqjnu5kgJXtuYW1lfSJ9LCJ6aC10dyI6eyIle2Zv bGxvd2Vyc19jb3VudH0gZm9sbG93ZXJzIjoiJXtmb2xsb3dlcnNfY291bnR9IOS9 jei3n+maqOiAhSIsIjEwMEsrIjoi6LaF6YGO5Y2B6JCsIiwiMTBrIHVuaXQiOiIx 6JCsIOWWruS9jSIsRm9sbG93OiLot5/pmqgiLCJGb2xsb3cgJXtzY3JlZW5fbmFt ZX0iOiLot5/pmqggJXtzY3JlZW5fbmFtZX0iLEs6IuWNgyIsTToi55m+6JCsIixU d2VldDoi5o6o5paHIiwiVHdlZXQgJXtoYXNodGFnfSI6IuaOqOaWhyV7aGFzaHRh Z30iLCJUd2VldCB0byAle25hbWV9Ijoi5o6o5paH57WmJXtuYW1lfSJ9fTthLmF1 ZyhnLnByb3RvdHlwZSx7c2V0TGFuZ3VhZ2U6ZnVuY3Rpb24oZSl7dmFyIHQ7ZXx8 KGU9dGhpcy5wYXJhbXMoKS5sYW5nfHx0aGlzLmRhdGFBdHRyKCJsYW5nIil8fGIo dGhpcy5zcmNFbCkpLGU9ZSYmZS50b0xvd2VyQ2FzZSgpO2lmKCFlKXJldHVybiB0 aGlzLmxhbmc9ImVuIjtpZihtW2VdKXJldHVybiB0aGlzLmxhbmc9ZTt0PWUucmVw bGFjZSgvW1wtX10uKi8sIiIpO2lmKG1bdF0pcmV0dXJuIHRoaXMubGFuZz10O3Ro aXMubGFuZz0iZW4ifSxfOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5sYW5nO3Q9 dHx8e307aWYoIW58fCFtLmhhc093blByb3BlcnR5KG4pKW49dGhpcy5sYW5nPSJl biI7cmV0dXJuIGU9bVtuXSYmbVtuXVtlXXx8ZSx0aGlzLnJpbmdvKGUsdCwvJVx7 KFtcd19dKylcfS9nKX0scmluZ286ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBuPW58 fC9ce1x7KFtcd19dKylcfVx9L2csZS5yZXBsYWNlKG4sZnVuY3Rpb24oZSxuKXty ZXR1cm4gdFtuXSE9PXVuZGVmaW5lZD90W25dOmV9KX0sYWRkOmZ1bmN0aW9uKGUp e2gubGlzdC5wdXNoKHRoaXMpLGguYnlJZFt0aGlzLmlkXT1lfSxjcmVhdGU6ZnVu Y3Rpb24oZSx0LG4pe3ZhciBpPXRoaXMsbztyZXR1cm4gblt2XT0hMCxvPXIoYS5h dWcoe2lkOnRoaXMuaWQsc3JjOmUsImNsYXNzIjp0aGlzLmNsYXNzQXR0ci5qb2lu KCIgIil9LG4pLHQsdGhpcy50YXJnZXRFbCYmdGhpcy50YXJnZXRFbC5vd25lckRv Y3VtZW50KSx0aGlzLnNyY0VsP3RoaXMubGF5b3V0KGZ1bmN0aW9uKCl7cmV0dXJu IGkuc3JjRWwucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobyxpLnNyY0VsKSxpLmNv bXBsZXRlUmVzb2x2ZXIuZnVsZmlsbChvKSxvfSk6dGhpcy50YXJnZXRFbD90aGlz LmxheW91dChmdW5jdGlvbigpe3JldHVybiBpLnRhcmdldEVsLmFwcGVuZENoaWxk KG8pLGkuY29tcGxldGVSZXNvbHZlci5mdWxmaWxsKG8pLG99KTpzLnJlamVjdCgi RGlkIG5vdCBhcHBlbmQgd2lkZ2V0Iil9LHBhcmFtczpmdW5jdGlvbigpe3ZhciBl LHQ7cmV0dXJuIHRoaXMuc3JjT2I/dD10aGlzLnNyY09iOihlPXRoaXMuc3JjRWwm JnRoaXMuc3JjRWwuaHJlZiYmdGhpcy5zcmNFbC5ocmVmLnNwbGl0KCI/IilbMV0s dD1lP28uZGVjb2RlKGUpOnt9KSx0aGlzLnBhcmFtcz1mdW5jdGlvbigpe3JldHVy biB0fSx0fSxkYXRhQXR0cjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5zcmNFbCYm dGhpcy5zcmNFbC5nZXRBdHRyaWJ1dGUoImRhdGEtIitlKX0sYXR0cjpmdW5jdGlv bihlKXtyZXR1cm4gdGhpcy5zcmNFbCYmdGhpcy5zcmNFbC5nZXRBdHRyaWJ1dGUo ZSl9LGxheW91dDpmdW5jdGlvbihlKXtyZXR1cm4gZC5lbnF1ZXVlKGUpfSxzdHls ZXM6e2Jhc2U6W1siZm9udCIsIm5vcm1hbCBub3JtYWwgbm9ybWFsIDExcHgvMThw eCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgc2Fucy1zZXJpZiJdLFsibWFyZ2lu IiwiMCJdLFsicGFkZGluZyIsIjAiXSxbIndoaXRlU3BhY2UiLCJub3dyYXAiXV0s YnV0dG9uOltbImZvbnRXZWlnaHQiLCJib2xkIl0sWyJ0ZXh0U2hhZG93IiwiMCAx cHggMCByZ2JhKDI1NSwyNTUsMjU1LC41KSJdXSxsYXJnZTpbWyJmb250U2l6ZSIs IjEzcHgiXSxbImxpbmVIZWlnaHQiLCIyNnB4Il1dLHZidWJibGU6W1siZm9udFNp emUiLCIxNnB4Il1dfSx3aWR0aDpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihu YW1lKyIgbm90IGltcGxlbWVudGVkIil9LGhlaWdodDpmdW5jdGlvbigpe3JldHVy biB0aGlzLnNpemU9PSJtIj8yMDoyOH0sbWluV2lkdGg6ZnVuY3Rpb24oKXt9LG1h eFdpZHRoOmZ1bmN0aW9uKCl7fSxtaW5IZWlnaHQ6ZnVuY3Rpb24oKXt9LG1heEhl aWdodDpmdW5jdGlvbigpe30sZGltZW5zaW9uczpmdW5jdGlvbigpe2Z1bmN0aW9u IGUoZSl7c3dpdGNoKHR5cGVvZiBlKXtjYXNlInN0cmluZyI6cmV0dXJuIGU7Y2Fz ZSJ1bmRlZmluZWQiOnJldHVybjtkZWZhdWx0OnJldHVybiBlKyJweCJ9fXZhciB0 PXt3aWR0aDp0aGlzLndpZHRoKCksaGVpZ2h0OnRoaXMuaGVpZ2h0KCl9O3JldHVy biB0aGlzLm1pbldpZHRoKCkmJih0WyJtaW4td2lkdGgiXT10aGlzLm1pbldpZHRo KCkpLHRoaXMubWF4V2lkdGgoKSYmKHRbIm1heC13aWR0aCJdPXRoaXMubWF4V2lk dGgoKSksdGhpcy5taW5IZWlnaHQoKSYmKHRbIm1pbi1oZWlnaHQiXT10aGlzLm1p bkhlaWdodCgpKSx0aGlzLm1heEhlaWdodCgpJiYodFsibWF4LWhlaWdodCJdPXRo aXMubWF4SGVpZ2h0KCkpLGEuZm9ySW4odCxmdW5jdGlvbihuLHIpe3Rbbl09ZShy KX0pLHR9LGdlbmVyYXRlSWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zcmNFbCYm dGhpcy5zcmNFbC5pZHx8InR3aXR0ZXItd2lkZ2V0LSIrbCsrfSxjb21wbGV0ZWQ6 ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb21wbGV0ZVByb21pc2V9fSksZy5hZnRl ckxvYWQ9ZnVuY3Rpb24oZSl7cC5wdXNoKGUpfSxnLmRvTGF5b3V0PWZ1bmN0aW9u KCl7ZC5leGVjKCl9LGcuZG9MYXlvdXRBc3luYz1mdW5jdGlvbigpe2QuZGVsYXll ZEV4ZWMoKX0sZy5pbml0PWZ1bmN0aW9uKGUpe2M9ZX0sZy5maW5kPWZ1bmN0aW9u KGUpe3JldHVybiBlJiZoLmJ5SWRbZV0/aC5ieUlkW2VdLmVsZW1lbnQ6bnVsbH0s Zy5lbWJlZD1mdW5jdGlvbihlKXt2YXIgbj1jLndpZGdldHMscj1bXSxpPVtdO3Uu aXNBcnJheShlKXx8KGU9W2V8fGRvY3VtZW50XSksYS5mb3JFYWNoKGUsZnVuY3Rp b24oZSl7YS5mb3JJbihuLGZ1bmN0aW9uKG4saSl7dmFyIHMsbztuLm1hdGNoKC9c Li8pPyhzPW4uc3BsaXQoIi4iKSxvPXQuYWxsKHNbMV0sZSxzWzBdKSk6bz1lLmdl dEVsZW1lbnRzQnlUYWdOYW1lKG4pLGEuZm9yRWFjaChvLGZ1bmN0aW9uKGUpe2lm KGUuZ2V0QXR0cmlidXRlKHYpKXJldHVybjtlLnNldEF0dHJpYnV0ZSh2LCJ0cnVl Iiksci5wdXNoKG5ldyBpKGUpKX0pfSl9KSxnLmRvTGF5b3V0KCksYS5mb3JFYWNo KHIsZnVuY3Rpb24oZSl7aC5ieUlkW2UuaWRdPWUsaC5saXN0LnB1c2goZSksaS5w dXNoKGUuY29tcGxldGVkKCkpLGUucmVuZGVyKGMpfSkscy5ldmVyeS5hcHBseShu dWxsLGkpLnRoZW4oZnVuY3Rpb24oZSl7ZT1hLmZpbHRlcihlLGZ1bmN0aW9uKHQp e3JldHVybiB0fSk7aWYoIWUubGVuZ3RoKXJldHVybjt0d3R0ci5ldmVudHMudHJp Z2dlcigibG9hZGVkIix7d2lkZ2V0czplfSl9KSxnLmRvTGF5b3V0QXN5bmMoKSx5 KCl9LHdpbmRvdy5zZXRJbnRlcnZhbChmdW5jdGlvbigpe2cuZG9MYXlvdXQoKX0s NTAwKSxlKGcpfSl9KTsKcHJvdmlkZSgidGZ3L3dpZGdldC9pbnRlbnQiLGZ1bmN0 aW9uKGUpe3VzaW5nKCJ0Zncvd2lkZ2V0L2Jhc2UiLCJ1dGlsL3V0aWwiLCJ1dGls L3F1ZXJ5c3RyaW5nIiwidXRpbC91cmkiLCJ1dGlsL3Byb21pc2UiLGZ1bmN0aW9u KHQsbixyLGkscyl7ZnVuY3Rpb24gcChlKXt2YXIgdD1NYXRoLnJvdW5kKGMvMi1h LzIpLG49MDtsPmYmJihuPU1hdGgucm91bmQobC8yLWYvMikpLHdpbmRvdy5vcGVu KGUsdW5kZWZpbmVkLFt1LCJ3aWR0aD0iK2EsImhlaWdodD0iK2YsImxlZnQ9Iit0 LCJ0b3A9IituXS5qb2luKCIsIikpfWZ1bmN0aW9uIGQoZSx0KXt1c2luZygidGZ3 L2h1Yi9jbGllbnQiLGZ1bmN0aW9uKG4pe24ub3BlbkludGVudChlLHQpfSl9ZnVu Y3Rpb24gdihlKXt2YXIgdD1+bG9jYXRpb24uaG9zdC5pbmRleE9mKCJwb3B0aXAu Y29tIik/Imh0dHBzOi8vcG9wdGlwLmNvbSI6bG9jYXRpb24uaHJlZixuPSJvcmln aW5hbF9yZWZlcmVyPSIrdDtyZXR1cm5bZSxuXS5qb2luKGUuaW5kZXhPZigiPyIp PT0tMT8iPyI6IiYiKX1mdW5jdGlvbiBtKGUpe3ZhciB0LHIsaSxzO2U9ZXx8d2lu ZG93LmV2ZW50LHQ9ZS50YXJnZXR8fGUuc3JjRWxlbWVudDtpZihlLmFsdEtleXx8 ZS5tZXRhS2V5fHxlLnNoaWZ0S2V5KXJldHVybjt3aGlsZSh0KXtpZih+bi5pbmRl eE9mKFsiQSIsIkFSRUEiXSx0Lm5vZGVOYW1lKSlicmVhazt0PXQucGFyZW50Tm9k ZX10JiZ0LmhyZWYmJihyPXQuaHJlZi5tYXRjaChvKSxyJiYocz12KHQuaHJlZiks cz1zLnJlcGxhY2UoL15odHRwWzpdLywiaHR0cHM6Iikscz1zLnJlcGxhY2UoL15c L1wvLywiaHR0cHM6Ly8iKSxnKHMsdCksZS5yZXR1cm5WYWx1ZT0hMSxlLnByZXZl bnREZWZhdWx0JiZlLnByZXZlbnREZWZhdWx0KCkpKX1mdW5jdGlvbiBnKGUsdCl7 aWYodHd0dHIuZXZlbnRzLmh1YiYmdCl7dmFyIG49bmV3IHkoaC5nZW5lcmF0ZUlk KCksdCk7aC5hZGQobiksZChlLHQpLHR3dHRyLmV2ZW50cy50cmlnZ2VyKCJjbGlj ayIse3RhcmdldDp0LHJlZ2lvbjoiaW50ZW50Iix0eXBlOiJjbGljayIsZGF0YTp7 fX0pfWVsc2UgcChlKX1mdW5jdGlvbiB5KGUsdCl7dGhpcy5pZD1lLHRoaXMuZWxl bWVudD10aGlzLnNyY0VsPXR9ZnVuY3Rpb24gYihlKXt0aGlzLnNyY0VsPVtdLHRo aXMuZWxlbWVudD1lfXZhciBvPS90d2l0dGVyXC5jb20oXDpcZHsyLDR9KT9cL2lu dGVudFwvKFx3KykvLHU9InNjcm9sbGJhcnM9eWVzLHJlc2l6YWJsZT15ZXMsdG9v bGJhcj1ubyxsb2NhdGlvbj15ZXMiLGE9NTUwLGY9NTIwLGw9c2NyZWVuLmhlaWdo dCxjPXNjcmVlbi53aWR0aCxoO2IucHJvdG90eXBlPW5ldyB0LG4uYXVnKGIucHJv dG90eXBlLHtyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGg9dGhpcyx3aW5kb3cu X190d2l0dGVySW50ZW50SGFuZGxlcnx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVu ZXI/ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG0sITEpOmRvY3Vt ZW50LmF0dGFjaEV2ZW50JiZkb2N1bWVudC5hdHRhY2hFdmVudCgib25jbGljayIs bSksd2luZG93Ll9fdHdpdHRlckludGVudEhhbmRsZXI9ITApLHMuZnVsZmlsbChk b2N1bWVudC5ib2R5KX19KSxiLm9wZW49ZyxlKGIpfSl9KTsKcHJvdmlkZSgiZG9t L2NsYXNzbmFtZSIsZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3 IFJlZ0V4cCgiXFxiIitlKyJcXGIiLCJnIil9ZnVuY3Rpb24gbihlLG4pe2lmKGUu Y2xhc3NMaXN0KXtlLmNsYXNzTGlzdC5hZGQobik7cmV0dXJufXQobikudGVzdChl LmNsYXNzTmFtZSl8fChlLmNsYXNzTmFtZSs9IiAiK24pfWZ1bmN0aW9uIHIoZSxu KXtpZihlLmNsYXNzTGlzdCl7ZS5jbGFzc0xpc3QucmVtb3ZlKG4pO3JldHVybn1l LmNsYXNzTmFtZT1lLmNsYXNzTmFtZS5yZXBsYWNlKHQobiksIiAiKX1mdW5jdGlv biBpKGUsdCxpKXtyZXR1cm4gZS5jbGFzc0xpc3QmJmUuY2xhc3NMaXN0LnRvZ2ds ZT9lLmNsYXNzTGlzdC50b2dnbGUodCxpKTooaT9uKGUsdCk6cihlLHQpLGkpfWZ1 bmN0aW9uIHMoZSxpLHMpe2lmKGUuY2xhc3NMaXN0JiZvKGUsaSkpe3IoZSxpKSxu KGUscyk7cmV0dXJufWUuY2xhc3NOYW1lPWUuY2xhc3NOYW1lLnJlcGxhY2UodChp KSxzKX1mdW5jdGlvbiBvKGUsbil7cmV0dXJuIGUuY2xhc3NMaXN0P2UuY2xhc3NM aXN0LmNvbnRhaW5zKG4pOnQobikudGVzdChlLmNsYXNzTmFtZSl9ZSh7YWRkOm4s cmVtb3ZlOnIscmVwbGFjZTpzLHRvZ2dsZTppLHByZXNlbnQ6b30pfSk7CnByb3Zp ZGUoInV0aWwvdGhyb3R0bGUiLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSx0LG4p e2Z1bmN0aW9uIG8oKXt2YXIgbj0rKG5ldyBEYXRlKTt3aW5kb3cuY2xlYXJUaW1l b3V0KHMpO2lmKG4taT50KXtpPW4sZS5jYWxsKHIpO3JldHVybn1zPXdpbmRvdy5z ZXRUaW1lb3V0KG8sdCl9dmFyIHI9bnx8dGhpcyxpPTAscztyZXR1cm4gb31lKHQp fSk7CnByb3ZpZGUoInV0aWwvY3NzIixmdW5jdGlvbihlKXt1c2luZygidXRpbC91 dGlsIixmdW5jdGlvbih0KXtlKHtzYW5pdGl6ZTpmdW5jdGlvbihlLG4scil7dmFy IGk9L15bXHcgLCVcLyInXC1fI10rJC8scz1lJiZ0Lm1hcChlLnNwbGl0KCI7Iiks ZnVuY3Rpb24oZSl7cmV0dXJuIHQubWFwKGUuc3BsaXQoIjoiKS5zbGljZSgwLDIp LGZ1bmN0aW9uKGUpe3JldHVybiB0LnRyaW0oZSl9KX0pLG89MCx1LGE9W10sZj1y PyIhaW1wb3J0YW50IjoiIjtuPW58fC9eKGZvbnR8dGV4dFwtfGxldHRlclwtfGNv bG9yfGxpbmVcLSlbXHdcLV0qJC87Zm9yKDtzJiYodT1zW29dKTtvKyspdVswXS5t YXRjaChuKSYmdVsxXS5tYXRjaChpKSYmYS5wdXNoKHUuam9pbigiOiIpK2YpO3Jl dHVybiBhLmpvaW4oIjsiKX19KX0pfSk7CnByb3ZpZGUoInRmdy91dGlsL3BhcmFt cyIsZnVuY3Rpb24oZSl7dXNpbmcoInV0aWwvcXVlcnlzdHJpbmciLCJ1dGlsL3R3 aXR0ZXIiLGZ1bmN0aW9uKHQsbil7ZShmdW5jdGlvbihlLHIpe3JldHVybiBmdW5j dGlvbihpKXt2YXIgcyxvPSJkYXRhLXR3LXBhcmFtcyIsdSxhPWkuaW5uZXJIVE1M O2lmKCFpKXJldHVybjtpZighbi5pc1R3aXR0ZXJVUkwoaS5ocmVmKSlyZXR1cm47 aWYoaS5nZXRBdHRyaWJ1dGUobykpcmV0dXJuO2kuc2V0QXR0cmlidXRlKG8sITAp O2lmKHR5cGVvZiByPT0iZnVuY3Rpb24iKXtzPXIuY2FsbCh0aGlzLGkpO2Zvcih1 IGluIHMpcy5oYXNPd25Qcm9wZXJ0eSh1KSYmKGVbdV09c1t1XSl9aS5ocmVmPXQu dXJsKGkuaHJlZixlKX19KX0pfSk7CnByb3ZpZGUoInV0aWwvcGFyYW1zIixmdW5j dGlvbihlKXt1c2luZygidXRpbC9xdWVyeXN0cmluZyIsZnVuY3Rpb24odCl7dmFy IG49ZnVuY3Rpb24oZSl7dmFyIG49ZS5zZWFyY2guc3Vic3RyKDEpO3JldHVybiB0 LmRlY29kZShuKX0scj1mdW5jdGlvbihlKXt2YXIgbj1lLmhyZWYscj1uLmluZGV4 T2YoIiMiKSxpPXI8MD8iIjpuLnN1YnN0cmluZyhyKzEpO3JldHVybiB0LmRlY29k ZShpKX0saT1mdW5jdGlvbihlKXt2YXIgdD17fSxpPW4oZSkscz1yKGUpO2Zvcih2 YXIgbyBpbiBpKWkuaGFzT3duUHJvcGVydHkobykmJih0W29dPWlbb10pO2Zvcih2 YXIgbyBpbiBzKXMuaGFzT3duUHJvcGVydHkobykmJih0W29dPXNbb10pO3JldHVy biB0fTtlKHtjb21iaW5lZDppLGZyb21RdWVyeTpuLGZyb21GcmFnbWVudDpyfSl9 KX0pOwpwcm92aWRlKCJ0ZncvdXRpbC9lbnYiLGZ1bmN0aW9uKGUpe3VzaW5nKCJ1 dGlsL3BhcmFtcyIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gcigpe3ZhciBlPTM2ZTUs cj10LmNvbWJpbmVkKGRvY3VtZW50LmxvY2F0aW9uKS5fO3JldHVybiBuIT09dW5k ZWZpbmVkP246KG49ITEsciYmL15cZCskLy50ZXN0KHIpJiYobj0rKG5ldyBEYXRl KS1wYXJzZUludChyKTxlKSxuKX12YXIgbjtlKHtpc0R5bmFtaWNXaWRnZXQ6cn0p fSl9KTsKcHJvdmlkZSgidXRpbC9kb25vdHRyYWNrIixmdW5jdGlvbihlKXt1c2lu ZygidGZ3L3V0aWwvZ2xvYmFscyIsZnVuY3Rpb24odCl7ZShmdW5jdGlvbihlLG4p e3ZhciByPS9cLihnb3Z8bWlsKSg6XGQrKT8kL2ksaT0vaHR0cHM/OlwvXC8oW15c L10rKS4qL2k7cmV0dXJuIGU9ZXx8ZG9jdW1lbnQucmVmZXJyZXIsZT1pLnRlc3Qo ZSkmJlJlZ0V4cC4kMSxuPW58fGRvY3VtZW50LmxvY2F0aW9uLmhvc3QsdC5kbnQo KT8hMDpyLnRlc3Qobik/ITA6ZSYmci50ZXN0KGUpPyEwOmRvY3VtZW50Lm5hdmln YXRvcj9kb2N1bWVudC5uYXZpZ2F0b3JbImRvTm90VHJhY2siXT09MTpuYXZpZ2F0 b3I/bmF2aWdhdG9yWyJkb05vdFRyYWNrIl09PTF8fG5hdmlnYXRvclsibXNEb05v dFRyYWNrIl09PTE6ITF9KX0pfSk7CnByb3ZpZGUoInNhbmRib3gvYmFzZWZyYW1l IixmdW5jdGlvbihlKXt1c2luZygidXRpbC9kb21yZWFkeSIsInV0aWwvZW52Iiwi dXRpbC9pZnJhbWUiLCJ1dGlsL3Byb21pc2UiLCJ1dGlsL3V0aWwiLGZ1bmN0aW9u KHQsbixyLGkscyl7ZnVuY3Rpb24gdShlLHQsbixvKXt2YXIgdTt0aGlzLnJlYWR5 UHJvbWlzZT1uZXcgaShzLmJpbmQoZnVuY3Rpb24oZSl7dGhpcy5yZXNvbHZlcj1l fSx0aGlzKSksdGhpcy5hdHRycz1lfHx7fSx0aGlzLnN0eWxlcz10fHx7fSx0aGlz LmFwcGVuZGVyPW58fGZ1bmN0aW9uKGUpe2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp bGQoZSl9LHRoaXMubGF5b3V0PW98fGZ1bmN0aW9uKGUpe3JldHVybiBuZXcgaShm dW5jdGlvbih0KXtyZXR1cm4gdC5mdWxmaWxsKGUoKSl9KX0sdGhpcy5mcmFtZT11 PXIodGhpcy5hdHRycyx0aGlzLnN0eWxlcyksdS5vbnJlYWR5c3RhdGVjaGFuZ2U9 dS5vbmxvYWQ9dGhpcy5nZXRDYWxsYmFjayh0aGlzLm9uTG9hZCksdGhpcy5sYXlv dXQocy5iaW5kKGZ1bmN0aW9uKCl7dGhpcy5hcHBlbmRlcih1KX0sdGhpcykpfXZh ciBvPTA7d2luZG93LnR3dHRyPXdpbmRvdy50d3R0cnx8e30sd2luZG93LnR3dHRy LnNhbmRib3g9d2luZG93LnR3dHRyLnNhbmRib3h8fHt9LHUucHJvdG90eXBlLmdl dENhbGxiYWNrPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj0hMTtyZXR1cm4gZnVu Y3Rpb24oKXtufHwobj0hMCxlLmNhbGwodCkpfX0sdS5wcm90b3R5cGUucmVnaXN0 ZXJDYWxsYmFjaz1mdW5jdGlvbihlKXt2YXIgdD0iY2IiK28rKztyZXR1cm4gd2lu ZG93LnR3dHRyLnNhbmRib3hbdF09ZSx0fSx1LnByb3RvdHlwZS5vbkxvYWQ9ZnVu Y3Rpb24oKXt0cnl7dGhpcy5kb2N1bWVudD10aGlzLmZyYW1lLmNvbnRlbnRXaW5k b3cuZG9jdW1lbnR9Y2F0Y2goZSl7dGhpcy5zZXREb2NEb21haW4oKTtyZXR1cm59 dGhpcy53cml0ZVN0YW5kYXJkc0RvYygpLHRoaXMucmVzb2x2ZXIuZnVsZmlsbCh0 aGlzKX0sdS5wcm90b3R5cGUucmVhZHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5y ZWFkeVByb21pc2V9LHUucHJvdG90eXBlLnNldERvY0RvbWFpbj1mdW5jdGlvbigp e3ZhciBlPXIodGhpcy5hdHRycyx0aGlzLnN0eWxlcyksdD10aGlzLnJlZ2lzdGVy Q2FsbGJhY2sodGhpcy5nZXRDYWxsYmFjayh0aGlzLm9uTG9hZCkpO2Uuc3JjPVsi amF2YXNjcmlwdDoiLCdkb2N1bWVudC53cml0ZSgiIik7JywidHJ5IHsgd2luZG93 LnBhcmVudC5kb2N1bWVudDsgfSIsImNhdGNoIChlKSB7IiwnZG9jdW1lbnQuZG9t YWluPSInK2RvY3VtZW50LmRvbWFpbisnIjsnLCJ9Iiwnd2luZG93LnBhcmVudC50 d3R0ci5zYW5kYm94WyInK3QrJyJdKCk7J10uam9pbigiIiksdGhpcy5sYXlvdXQo cy5iaW5kKGZ1bmN0aW9uKCl7dGhpcy5mcmFtZS5wYXJlbnROb2RlLnJlbW92ZUNo aWxkKHRoaXMuZnJhbWUpLHRoaXMuZnJhbWU9bnVsbCx0aGlzLmFwcGVuZGVyP3Ro aXMuYXBwZW5kZXIoZSk6ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKSx0aGlz LmZyYW1lPWV9LHRoaXMpKX0sdS5wcm90b3R5cGUud3JpdGVTdGFuZGFyZHNEb2M9 ZnVuY3Rpb24oKXtpZighbi5hbnlJRSgpfHxuLmNzcEVuYWJsZWQoKSlyZXR1cm47 dmFyIGU9WyI8IURPQ1RZUEUgaHRtbD4iLCI8aHRtbD4iLCI8aGVhZD4iLCI8c2Ny IiwiaXB0PiIsInRyeSB7IHdpbmRvdy5wYXJlbnQuZG9jdW1lbnQ7IH0iLCdjYXRj aCAoZSkge2RvY3VtZW50LmRvbWFpbj0iJytkb2N1bWVudC5kb21haW4rJyI7fScs Ijwvc2NyIiwiaXB0PiIsIjwvaGVhZD4iLCI8Ym9keT48L2JvZHk+IiwiPC9odG1s PiJdLmpvaW4oIiIpO3RoaXMuZG9jdW1lbnQud3JpdGUoZSksdGhpcy5kb2N1bWVu dC5jbG9zZSgpfSxlKHUpfSl9KTsKcHJvdmlkZSgic2FuZGJveC9taW5pbWFsIixm dW5jdGlvbihlKXt1c2luZygic2FuZGJveC9iYXNlZnJhbWUiLCJ1dGlsL2VudiIs InV0aWwvcHJvbWlzZSIsInV0aWwvdXRpbCIsZnVuY3Rpb24odCxuLHIsaSl7ZnVu Y3Rpb24gcyhlLHQpe2lmKCFlKXJldHVybjt0aGlzLl9mcmFtZT1lLHRoaXMuX3dp bj1lLmNvbnRlbnRXaW5kb3csdGhpcy5fZG9jPXRoaXMuX3dpbi5kb2N1bWVudCx0 aGlzLl9ib2R5PXRoaXMuX2RvYy5ib2R5LHRoaXMuX2hlYWQ9dGhpcy5fYm9keS5w YXJlbnROb2RlLmNoaWxkcmVuWzBdLHRoaXMubGF5b3V0PXR9aS5hdWcocy5wcm90 b3R5cGUse2NyZWF0ZUVsZW1lbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2Rv Yy5jcmVhdGVFbGVtZW50KGUpfSxjcmVhdGVEb2N1bWVudEZyYWdtZW50OmZ1bmN0 aW9uKCl7cmV0dXJuIHRoaXMuX2RvYy5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCl9 LGFwcGVuZENoaWxkOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxheW91dChpLmJp bmQoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYm9keS5hcHBlbmRDaGlsZChlKX0s dGhpcykpfSxzZXRCYXNlVGFyZ2V0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2Rv Yy5jcmVhdGVFbGVtZW50KCJiYXNlIik7cmV0dXJuIHQudGFyZ2V0PWUsdGhpcy5s YXlvdXQoaS5iaW5kKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2hlYWQuYXBwZW5k Q2hpbGQodCl9LHRoaXMpKX0sc2V0VGl0bGU6ZnVuY3Rpb24oZSl7aWYoIWUpcmV0 dXJuO3RoaXMuX2ZyYW1lLnRpdGxlPWV9LGVsZW1lbnQ6ZnVuY3Rpb24oKXtyZXR1 cm4gdGhpcy5fZnJhbWV9LGRvY3VtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu X2RvY319KSxzLmNyZWF0ZVNhbmRib3g9ZnVuY3Rpb24oZSxuLHIsaSl7dmFyIG89 bmV3IHQoZSxuLHIsaSk7cmV0dXJuIG8ucmVhZHkoKS50aGVuKGZ1bmN0aW9uKGUp e3JldHVybiBuZXcgcyhlLmZyYW1lLGUubGF5b3V0KX0pfSxlKHMpfSl9KTsKcHJv dmlkZSgiZG9tL2Nvb2tpZSIsZnVuY3Rpb24oZSl7dXNpbmcoInV0aWwvdXRpbCIs ZnVuY3Rpb24odCl7ZShmdW5jdGlvbihlLG4scil7dmFyIGk9dC5hdWcoe30scik7 aWYoYXJndW1lbnRzLmxlbmd0aD4xJiZTdHJpbmcobikhPT0iW29iamVjdCBPYmpl Y3RdIil7aWYobj09PW51bGx8fG49PT11bmRlZmluZWQpaS5leHBpcmVzPS0xO2lm KHR5cGVvZiBpLmV4cGlyZXM9PSJudW1iZXIiKXt2YXIgcz1pLmV4cGlyZXMsbz1u ZXcgRGF0ZSgobmV3IERhdGUpLmdldFRpbWUoKStzKjYwKjFlMyk7aS5leHBpcmVz PW99cmV0dXJuIG49U3RyaW5nKG4pLGRvY3VtZW50LmNvb2tpZT1bZW5jb2RlVVJJ Q29tcG9uZW50KGUpLCI9IixpLnJhdz9uOmVuY29kZVVSSUNvbXBvbmVudChuKSxp LmV4cGlyZXM/IjsgZXhwaXJlcz0iK2kuZXhwaXJlcy50b1VUQ1N0cmluZygpOiIi LGkucGF0aD8iOyBwYXRoPSIraS5wYXRoOiIiLGkuZG9tYWluPyI7IGRvbWFpbj0i K2kuZG9tYWluOiIiLGkuc2VjdXJlPyI7IHNlY3VyZSI6IiJdLmpvaW4oIiIpfWk9 bnx8e307dmFyIHUsYT1pLnJhdz9mdW5jdGlvbihlKXtyZXR1cm4gZX06ZGVjb2Rl VVJJQ29tcG9uZW50O3JldHVybih1PShuZXcgUmVnRXhwKCIoPzpefDsgKSIrZW5j b2RlVVJJQ29tcG9uZW50KGUpKyI9KFteO10qKSIpKS5leGVjKGRvY3VtZW50LmNv b2tpZSkpP2EodVsxXSk6bnVsbH0pfSl9KTsKcHJvdmlkZSgidGZ3L3V0aWwvdHJh Y2tpbmciLGZ1bmN0aW9uKGUpe3VzaW5nKCJkb20vY29va2llIiwiZG9tL2RlbGVn YXRlIiwic2FuZGJveC9taW5pbWFsIiwidXRpbC9kb25vdHRyYWNrIiwidXRpbC9w cm9taXNlIiwidXRpbC9xdWVyeXN0cmluZyIsInRmdy91dGlsL2VudiIsInV0aWwv aWZyYW1lIiwidXRpbC91dGlsIiwiJHhkL2pzb24yLmpzIixmdW5jdGlvbih0LG4s cixpLHMsbyx1LGEsZil7ZnVuY3Rpb24gRSgpe3JldHVybiB5P3k6eT1yLmNyZWF0 ZVNhbmRib3goe2lkOiJydWZvdXMtc2FuZGJveCJ9LHtkaXNwbGF5OiJub25lIn0p LnRoZW4oZi5iaW5kKGZ1bmN0aW9uKGUpe2c9ZSxwPV8oKSxkPUQoKTt3aGlsZSh2 WzBdKWsuYXBwbHkodGhpcyx2LnNoaWZ0KCkpO3JldHVybiBtP0woKTpbcCxkXX0s dGhpcykpfWZ1bmN0aW9uIFMoZSx0LG4scil7dmFyIGk9IWYuaXNPYmplY3QoZSks cz10PyFmLmlzT2JqZWN0KHQpOiExLG8sdTtpZihpfHxzKXJldHVybjtvPU8oZSks dT1NKHQsISFuLCEhciksQyhvLHUsITApfWZ1bmN0aW9uIHgoZSx0LG4scixpKXt2 YXIgcz1UKGUudGFyZ2V0fHxlLnNyY0VsZW1lbnQpO3MuYWN0aW9uPWl8fCJjbGlj ayIsUyhzLHQsbixyKX1mdW5jdGlvbiBUKGUsdCl7dmFyIG47cmV0dXJuIHQ9dHx8 e30sIWV8fGUubm9kZVR5cGUhPT0xP3Q6KChuPWUuZ2V0QXR0cmlidXRlKCJkYXRh LXNjcmliZSIpKSYmZi5mb3JFYWNoKG4uc3BsaXQoIiAiKSxmdW5jdGlvbihlKXt2 YXIgbj1mLnRyaW0oZSkuc3BsaXQoIjoiKSxyPW5bMF0saT1uWzFdO3ImJmkmJiF0 W3JdJiYodFtyXT1pKX0pLFQoZS5wYXJlbnROb2RlLHQpKX1mdW5jdGlvbiBOKGUs dCxuKXt2YXIgcj1sK3Q7aWYoIWUpcmV0dXJuO3JldHVybiBlW3JdPW4sZX1mdW5j dGlvbiBDKGUsdCxuKXt2YXIgcixpLHMsdSxhO2lmKCFmLmlzT2JqZWN0KGUpfHwh Zi5pc09iamVjdCh0KSlyZXR1cm47cz1mLmF1Zyh7fSx0LHtldmVudF9uYW1lc3Bh Y2U6ZX0pLG4/KHU9e2w6QihzKX0scy5kbnQmJih1LmRudD0xKSxQKG8udXJsKGIs dSkpKToocj1wLmZpcnN0Q2hpbGQsci52YWx1ZT0rKCtyLnZhbHVlfHxzLmRudHx8 MCksYT1CKHMpLGk9Zy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGkudHlwZT0iaGlk ZGVuIixpLm5hbWU9ImwiLGkudmFsdWU9YSxwLmFwcGVuZENoaWxkKGkpKX1mdW5j dGlvbiBrKGUsdCxuLHIpe3ZhciBpPSFmLmlzT2JqZWN0KGUpLHM9dD8hZi5pc09i amVjdCh0KTohMSxvLHU7aWYoaXx8cylyZXR1cm47aWYoIWd8fCFwKXt2LnB1c2go W2UsdCxuLHJdKTtyZXR1cm59bz1PKGUpLHU9TSh0LCEhbiwhIXIpLEMobyx1KX1m dW5jdGlvbiBMKCl7aWYoIXApcmV0dXJuIG09ITAseXx8cy5yZWplY3QoKTtpZihw LmNoaWxkcmVuLmxlbmd0aDw9MilyZXR1cm4gcy5yZWplY3QoKTt2YXIgZT1zLmV2 ZXJ5KGcuYXBwZW5kQ2hpbGQocCksZy5hcHBlbmRDaGlsZChkKSkudGhlbihmdW5j dGlvbihlKXt2YXIgdD1lWzBdLHI9ZVsxXTtyZXR1cm4gbi5vbihyLCJsb2FkIixm dW5jdGlvbigpe3dpbmRvdy5zZXRUaW1lb3V0KEEodCxyKSwwKX0pLHQuc3VibWl0 KCksZX0pO3JldHVybiBwPV8oKSxkPUQoKSxlfWZ1bmN0aW9uIEEoZSx0KXtyZXR1 cm4gZnVuY3Rpb24oKXt2YXIgbj1lLnBhcmVudE5vZGU7aWYoIW4pcmV0dXJuO24u cmVtb3ZlQ2hpbGQoZSksbi5yZW1vdmVDaGlsZCh0KX19ZnVuY3Rpb24gTyhlKXty ZXR1cm4gZi5hdWcoe2NsaWVudDoidGZ3In0sZXx8e30pfWZ1bmN0aW9uIE0oZSx0 LG4pe3ZhciByPXtfY2F0ZWdvcnlfOiJ0ZndfY2xpZW50X2V2ZW50In0scyxvO3Q9 ISF0LG49ISFuLHM9Zi5hdWcocixlfHx7fSksbz1zLndpZGdldF9vcmlnaW58fGRv Y3VtZW50LnJlZmVycmVyLHMuZm9ybWF0X3ZlcnNpb249MSxzLnRyaWdnZXJlZF9v bj1zLnRyaWdnZXJlZF9vbnx8KyhuZXcgRGF0ZSksdHx8KHMud2lkZ2V0X29yaWdp bj1vKTtpZihufHxpKG8pKXMuZG50PSEwLEgocyk7cmV0dXJuIHN9ZnVuY3Rpb24g Xygpe3ZhciBlPWcuY3JlYXRlRWxlbWVudCgiZm9ybSIpLHQ9Zy5jcmVhdGVFbGVt ZW50KCJpbnB1dCIpLG49Zy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO3JldHVybiBo KyssZS5hY3Rpb249YixlLm1ldGhvZD0iUE9TVCIsZS50YXJnZXQ9InJ1Zm91cy1m cmFtZS0iK2gsZS5pZD0icnVmb3VzLWZvcm0tIitoLHQudHlwZT0iaGlkZGVuIix0 Lm5hbWU9ImRudCIsdC52YWx1ZT0wLG4udHlwZT0iaGlkZGVuIixuLm5hbWU9InRm d19yZWRpcmVjdCIsbi52YWx1ZT13LGUuYXBwZW5kQ2hpbGQodCksZS5hcHBlbmRD aGlsZChuKSxlfWZ1bmN0aW9uIEQoKXt2YXIgZT0icnVmb3VzLWZyYW1lLSIraDty ZXR1cm4gYSh7aWQ6ZSxuYW1lOmUsd2lkdGg6MCxoZWlnaHQ6MCxib3JkZXI6MH0s e2Rpc3BsYXk6Im5vbmUifSxnLmRvY3VtZW50KCkpfWZ1bmN0aW9uIFAoZSl7dmFy IHQ9bmV3IEltYWdlO3Quc3JjPWV9ZnVuY3Rpb24gSChlKXtmLmZvckluKGUsZnVu Y3Rpb24odCl7fmYuaW5kZXhPZihjLHQpJiZkZWxldGUgZVt0XX0pfWZ1bmN0aW9u IEIoZSl7dmFyIHQ9QXJyYXkucHJvdG90eXBlLnRvSlNPTixuO3JldHVybiBkZWxl dGUgQXJyYXkucHJvdG90eXBlLnRvSlNPTixuPUpTT04uc3RyaW5naWZ5KGUpLHQm JihBcnJheS5wcm90b3R5cGUudG9KU09OPXQpLG59dmFyIGw9InR3dHRyXyIsYz1b Imhhc2siLCJsaSIsImxvZ2dlZF9pbiIsInBpZCIsInVzZXJfaWQiLCJndWVzdF9p ZCIsbCsiaGFzayIsbCsibGkiLGwrInBpZCJdLGg9MCxwLGQsdj1bXSxtLGcseSxi PSJodHRwczovL3R3aXR0ZXIuY29tL2kvam90Iix3PSJodHRwczovL3BsYXRmb3Jt LnR3aXR0ZXIuY29tL2pvdC5odG1sIjtlKHtlbnF1ZXVlOmssZmx1c2g6TCxpbml0 UG9zdExvZ2dpbmc6RSxzY3JpYmVJbnRlcmFjdGlvbjp4LGV4dHJhY3RUZXJtc0Zy b21ET006VCxhZGRQaXhlbDpTLGFkZFZhcjpOfSl9KX0pOwpwcm92aWRlKCJ0Zncv dXRpbC9kYXRhIixmdW5jdGlvbihlKXt1c2luZygidXRpbC9sb2dnZXIiLCJ1dGls L3V0aWwiLCJ1dGlsL3F1ZXJ5c3RyaW5nIixmdW5jdGlvbih0LG4scil7ZnVuY3Rp b24gYyhlKXtyZXR1cm4gZnVuY3Rpb24obil7bi5lcnJvcj9lLmVycm9yJiZlLmVy cm9yKG4pOm4uaGVhZGVycyYmbi5oZWFkZXJzLnN0YXR1cyE9MjAwPyhlLmVycm9y JiZlLmVycm9yKG4pLHQud2FybihuLmhlYWRlcnMubWVzc2FnZSkpOmUuc3VjY2Vz cyYmZS5zdWNjZXNzKG4pLGUuY29tcGxldGUmJmUuY29tcGxldGUobiksaChlKX19 ZnVuY3Rpb24gaChlKXt2YXIgdD1lLnNjcmlwdDt0JiYodC5vbmxvYWQ9dC5vbnJl YWR5c3RhdGVjaGFuZ2U9bnVsbCx0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5y ZW1vdmVDaGlsZCh0KSxlLnNjcmlwdD11bmRlZmluZWQsdD11bmRlZmluZWQpLGUu Y2FsbGJhY2tOYW1lJiZ0d3R0ci50ZncuY2FsbGJhY2tzW2UuY2FsbGJhY2tOYW1l XSYmZGVsZXRlIHR3dHRyLnRmdy5jYWxsYmFja3NbZS5jYWxsYmFja05hbWVdfWZ1 bmN0aW9uIHAoZSl7dmFyIHQ9e307cmV0dXJuIGUuc3VjY2VzcyYmbi5pc1R5cGUo ImZ1bmN0aW9uIixlLnN1Y2Nlc3MpJiYodC5zdWNjZXNzPWUuc3VjY2VzcyksZS5l cnJvciYmbi5pc1R5cGUoImZ1bmN0aW9uIixlLmVycm9yKSYmKHQuZXJyb3I9ZS5l cnJvciksZS5jb21wbGV0ZSYmbi5pc1R5cGUoImZ1bmN0aW9uIixlLmNvbXBsZXRl KSYmKHQuY29tcGxldGU9ZS5jb21wbGV0ZSksdH13aW5kb3cudHd0dHI9d2luZG93 LnR3dHRyfHx7fSx0d3R0ci50Znc9dHd0dHIudGZ3fHx7fSx0d3R0ci50ZncuY2Fs bGJhY2tzPXR3dHRyLnRmdy5jYWxsYmFja3N8fHt9O3ZhciBpPSJ0d3R0ci50Zncu Y2FsbGJhY2tzIixzPXR3dHRyLnRmdy5jYWxsYmFja3Msbz0iY2IiLHU9MCxhPSEx LGY9e30sbD17dHdlZXRzOiJodHRwczovL3N5bmRpY2F0aW9uLnR3aXR0ZXIuY29t L3R3ZWV0cy5qc29uIix0aW1lbGluZToiaHR0cHM6Ly9jZG4uc3luZGljYXRpb24u dHdpbWcuY29tL3dpZGdldHMvdGltZWxpbmVzLyIsdGltZWxpbmVQb2xsOiJodHRw czovL3N5bmRpY2F0aW9uLnR3aXR0ZXIuY29tL3dpZGdldHMvdGltZWxpbmVzL3Bh Z2VkLyIsdGltZWxpbmVQcmV2aWV3OiJodHRwczovL3N5bmRpY2F0aW9uLnR3aXR0 ZXIuY29tL3dpZGdldHMvdGltZWxpbmVzL3ByZXZpZXcvIn07dHd0dHIud2lkZ2V0 cyYmdHd0dHIud2lkZ2V0cy5lbmRwb2ludHMmJm4uYXVnKGwsdHd0dHIud2lkZ2V0 cy5lbmRwb2ludHMpLGYuanNvbnA9ZnVuY3Rpb24oZSx0LG4pe3ZhciBmPW58fG8r dSxsPWkrIi4iK2YsaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxw PXtjYWxsYmFjazpsLHN1cHByZXNzX3Jlc3BvbnNlX2NvZGVzOiEwfTtzW2ZdPWMo dCk7aWYoYXx8IS9eaHR0cHM/XDokLy50ZXN0KHdpbmRvdy5sb2NhdGlvbi5wcm90 b2NvbCkpZT1lLnJlcGxhY2UoL15cL1wvLywiaHR0cHM6Ly8iKTtoLnNyYz1yLnVy bChlLHApLGguYXN5bmM9ImFzeW5jIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk KGgpLHQuc2NyaXB0PWgsdC5jYWxsYmFja05hbWU9ZixufHx1Kyt9LGYuY29uZmln PWZ1bmN0aW9uKGUpe2lmKGUuZm9yY2VTU0w9PT0hMHx8ZS5mb3JjZVNTTD09PSEx KWE9ZS5mb3JjZVNTTH0sZi50d2VldHM9ZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1l bnRzWzBdLG49cCh0KSxpPXtpZHM6ZS5pZHMuam9pbigiLCIpLGxhbmc6ZS5sYW5n fSxzPXIudXJsKGwudHdlZXRzLGkpO3RoaXMuanNvbnAocyxuKX0sZi50aW1lbGlu ZT1mdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHNbMF0saT1wKHQpLHMsbz05ZTUs dT1NYXRoLmZsb29yKCsobmV3IERhdGUpL28pLGE9e2xhbmc6ZS5sYW5nLHQ6dSxk b21haW46d2luZG93LmxvY2F0aW9uLmhvc3QsZG50OmUuZG50LG92ZXJyaWRlX3R5 cGU6ZS5vdmVycmlkZVR5cGUsb3ZlcnJpZGVfaWQ6ZS5vdmVycmlkZUlkLG92ZXJy aWRlX25hbWU6ZS5vdmVycmlkZU5hbWUsb3ZlcnJpZGVfb3duZXJfaWQ6ZS5vdmVy cmlkZU93bmVySWQsb3ZlcnJpZGVfb3duZXJfbmFtZTplLm92ZXJyaWRlT3duZXJO YW1lLHdpdGhfcmVwbGllczplLndpdGhSZXBsaWVzfTtuLmNvbXBhY3QoYSkscz1y LnVybChsLnRpbWVsaW5lK2UuaWQsYSksdGhpcy5qc29ucChzLGksInRsXyIrZS5p ZCsiXyIrZS5pbnN0YW5jZUlkKX0sZi50aW1lbGluZVBvbGw9ZnVuY3Rpb24oZSl7 dmFyIHQ9YXJndW1lbnRzWzBdLGk9cCh0KSxzPXtsYW5nOmUubGFuZyxzaW5jZV9p ZDplLnNpbmNlSWQsbWF4X2lkOmUubWF4SWQsbWluX3Bvc2l0aW9uOmUubWluUG9z aXRpb24sbWF4X3Bvc2l0aW9uOmUubWF4UG9zaXRpb24sZG9tYWluOndpbmRvdy5s b2NhdGlvbi5ob3N0LGRudDplLmRudCxvdmVycmlkZV90eXBlOmUub3ZlcnJpZGVU eXBlLG92ZXJyaWRlX2lkOmUub3ZlcnJpZGVJZCxvdmVycmlkZV9uYW1lOmUub3Zl cnJpZGVOYW1lLG92ZXJyaWRlX293bmVyX2lkOmUub3ZlcnJpZGVPd25lcklkLG92 ZXJyaWRlX293bmVyX25hbWU6ZS5vdmVycmlkZU93bmVyTmFtZSx3aXRoX3JlcGxp ZXM6ZS53aXRoUmVwbGllc30sbztuLmNvbXBhY3Qocyksbz1yLnVybChsLnRpbWVs aW5lUG9sbCtlLmlkLHMpLHRoaXMuanNvbnAobyxpLCJ0bFBvbGxfIitlLmlkKyJf IitlLmluc3RhbmNlSWQrIl8iKyhlLnNpbmNlSWR8fGUubWF4SWR8fGUubWF4UG9z aXRpb258fGUubWluUG9zaXRpb24pKX0sZi50aW1lbGluZVByZXZpZXc9ZnVuY3Rp b24oZSl7dmFyIHQ9YXJndW1lbnRzWzBdLG49cCh0KSxpPWUucGFyYW1zLHM9ci51 cmwobC50aW1lbGluZVByZXZpZXcsaSk7dGhpcy5qc29ucChzLG4pfSxlKGYpfSl9 KTsKcHJvdmlkZSgiYW5pbS90cmFuc2l0aW9uIixmdW5jdGlvbihlKXtmdW5jdGlv biB0KGUsdCl7dmFyIG47cmV0dXJuIHQ9dHx8d2luZG93LG49dC5yZXF1ZXN0QW5p bWF0aW9uRnJhbWV8fHQud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx0Lm1v elJlcXVlc3RBbmltYXRpb25GcmFtZXx8dC5tc1JlcXVlc3RBbmltYXRpb25GcmFt ZXx8dC5vUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxmdW5jdGlvbihuKXt0LnNldFRp bWVvdXQoZnVuY3Rpb24oKXtlKCsobmV3IERhdGUpKX0sMWUzLzYwKX0sbihlKX1m dW5jdGlvbiBuKGUsdCl7cmV0dXJuIE1hdGguc2luKE1hdGguUEkvMip0KSplfWZ1 bmN0aW9uIHIoZSxuLHIsaSxzKXtmdW5jdGlvbiBhKCl7dmFyIHU9KyhuZXcgRGF0 ZSksZj11LW8sbD1NYXRoLm1pbihmL3IsMSksYz1pP2kobixsKTpuKmw7ZShjKTtp ZihsPT0xKXJldHVybjt0KGEscyl9dmFyIG89KyhuZXcgRGF0ZSksdTt0KGEpfWUo e2FuaW1hdGU6cixyZXF1ZXN0QW5pbWF0aW9uRnJhbWU6dCxlYXNlT3V0Om59KX0p Owpwcm92aWRlKCJ1dGlsL2RhdGV0aW1lIixmdW5jdGlvbihlKXt1c2luZygidXRp bC91dGlsIixmdW5jdGlvbih0KXtmdW5jdGlvbiBoKGUpe3JldHVybiBlPDEwPyIw IitlOmV9ZnVuY3Rpb24gcChlKXtmdW5jdGlvbiBpKGUsbil7cmV0dXJuIHQmJnRb ZV0mJihlPXRbZV0pLGUucmVwbGFjZSgvJVx7KFtcd19dKylcfS9nLGZ1bmN0aW9u KGUsdCl7cmV0dXJuIG5bdF0hPT11bmRlZmluZWQ/blt0XTplfSl9dmFyIHQ9ZSYm ZS5waHJhc2VzLG49ZSYmZS5tb250aHN8fHMscj1lJiZlLmZvcm1hdHN8fG87dGhp cy50aW1lQWdvPWZ1bmN0aW9uKGUpe3ZhciB0PXAucGFyc2VEYXRlKGUpLHM9Kyhu ZXcgRGF0ZSksbz1zLXQsaDtyZXR1cm4gdD9pc05hTihvKXx8bzx1KjI/aSgibm93 Iik6bzxhPyhoPU1hdGguZmxvb3Ioby91KSxpKHIuYWJicix7bnVtYmVyOmgsc3lt Ym9sOmkoYyx7YWJicjppKCJzIiksZXhwYW5kZWQ6aD4xP2koInNlY29uZHMiKTpp KCJzZWNvbmQiKX0pfSkpOm88Zj8oaD1NYXRoLmZsb29yKG8vYSksaShyLmFiYnIs e251bWJlcjpoLHN5bWJvbDppKGMse2FiYnI6aSgibSIpLGV4cGFuZGVkOmg+MT9p KCJtaW51dGVzIik6aSgibWludXRlIil9KX0pKTpvPGw/KGg9TWF0aC5mbG9vcihv L2YpLGkoci5hYmJyLHtudW1iZXI6aCxzeW1ib2w6aShjLHthYmJyOmkoImgiKSxl eHBhbmRlZDpoPjE/aSgiaG91cnMiKTppKCJob3VyIil9KX0pKTpvPGwqMzY1P2ko ci5zaG9ydGRhdGUse2RheTp0LmdldERhdGUoKSxtb250aDppKG5bdC5nZXRNb250 aCgpXSl9KTppKHIubG9uZ2RhdGUse2RheTp0LmdldERhdGUoKSxtb250aDppKG5b dC5nZXRNb250aCgpXSkseWVhcjp0LmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKS5z bGljZSgyKX0pOiIifSx0aGlzLmxvY2FsVGltZVN0YW1wPWZ1bmN0aW9uKGUpe3Zh ciB0PXAucGFyc2VEYXRlKGUpLHM9dCYmdC5nZXRIb3VycygpO3JldHVybiB0P2ko ci5mdWxsLHtkYXk6dC5nZXREYXRlKCksbW9udGg6aShuW3QuZ2V0TW9udGgoKV0p LHllYXI6dC5nZXRGdWxsWWVhcigpLGhvdXJzMjQ6aChzKSxob3VyczEyOnM8MTM/ cz9zOiIxMiI6cy0xMixtaW51dGVzOmgodC5nZXRNaW51dGVzKCkpLHNlY29uZHM6 aCh0LmdldFNlY29uZHMoKSksYW1QbTpzPDEyP2koIkFNIik6aSgiUE0iKX0pOiIi fX12YXIgbj0vKFxkezR9KS0/KFxkezJ9KS0/KFxkezJ9KVQoXGR7Mn0pOj8oXGR7 Mn0pOj8oXGR7Mn0pKFp8W1wrXC1dXGR7Mn06P1xkezJ9KS8scj0vW2Etel17Myw0 fSAoW2Etel17M30pIChcZHsxLDJ9KSAoXGR7MSwyfSk6KFxkezJ9KTooXGR7Mn0p IChbXCtcLV1cZHsyfTo/XGR7Mn0pIChcZHs0fSkvaSxpPS9eXGQrJC8scz1bIkph biIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNl cCIsIk9jdCIsIk5vdiIsIkRlYyJdLG89e2FiYnI6IiV7bnVtYmVyfSV7c3ltYm9s fSIsc2hvcnRkYXRlOiIle2RheX0gJXttb250aH0iLGxvbmdkYXRlOiIle2RheX0g JXttb250aH0gJXt5ZWFyfSIsZnVsbDoiJXtob3VyczEyfTole21pbnV0ZXN9ICV7 YW1QbX0gLSAle2RheX0gJXttb250aH0gJXt5ZWFyfSJ9LHU9MWUzLGE9dSo2MCxm PWEqNjAsbD1mKjI0LGM9JzxhYmJyIHRpdGxlPSIle2V4cGFuZGVkfSI+JXthYmJy fTwvYWJicj4nO3AucGFyc2VEYXRlPWZ1bmN0aW9uKGUpe3ZhciBvPWV8fCIiLHU9 by50b1N0cmluZygpLGEsZjtyZXR1cm4gYT1mdW5jdGlvbigpe3ZhciBlO2lmKGku dGVzdCh1KSlyZXR1cm4gcGFyc2VJbnQodSwxMCk7aWYoZT11Lm1hdGNoKHIpKXJl dHVybiBEYXRlLlVUQyhlWzddLHQuaW5kZXhPZihzLGVbMV0pLGVbMl0sZVszXSxl WzRdLGVbNV0pO2lmKGU9dS5tYXRjaChuKSlyZXR1cm4gRGF0ZS5VVEMoZVsxXSxl WzJdLTEsZVszXSxlWzRdLGVbNV0sZVs2XSl9KCksYT8oZj1uZXcgRGF0ZShhKSwh aXNOYU4oZi5nZXRUaW1lKCkpJiZmKTohMX0sZShwKX0pfSk7CnByb3ZpZGUoInNh bmRib3gvZnJhbWUiLGZ1bmN0aW9uKGUpe3VzaW5nKCJzYW5kYm94L2Jhc2VmcmFt ZSIsInNhbmRib3gvbWluaW1hbCIsInV0aWwvZW52IiwidXRpbC9wcm9taXNlIiwi dXRpbC91dGlsIixmdW5jdGlvbih0LG4scixpLHMpe2Z1bmN0aW9uIGgoKXt2YXIg ZSx0O2E9e307aWYoZilyZXR1cm47ZT1kb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdo dCx0PWRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGg7aWYoZT09YyYmdD09bClyZXR1 cm47cy5mb3JFYWNoKHUsZnVuY3Rpb24oZSl7ZS5kaXNwYXRjaEZyYW1lUmVzaXpl KGwsYyl9KSxjPWUsbD10fWZ1bmN0aW9uIHAoZSl7dmFyIHQ7cmV0dXJuIGUuaWQ/ ZS5pZDoodD1lLmdldEF0dHJpYnV0ZSgiZGF0YS10d3R0ci1pZCIpKT90Oih0PSJ0 d3R0ci1zYW5kYm94LSIrbysrLGUuc2V0QXR0cmlidXRlKCJkYXRhLXR3dHRyLWlk Iix0KSx0KX1mdW5jdGlvbiBkKGUsdCl7bi5hcHBseSh0aGlzLFtlLHRdKSx0aGlz Ll9yZXNpemVIYW5kbGVycz1bXSx1LnB1c2godGhpcyksdGhpcy5fd2luLmFkZEV2 ZW50TGlzdGVuZXI/dGhpcy5fd2luLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIs cy5iaW5kKGZ1bmN0aW9uKCl7dGhpcy5kaXNwYXRjaEZyYW1lUmVzaXplKCl9LHRo aXMpLCEwKTp0aGlzLl93aW4uYXR0YWNoRXZlbnQoIm9ucmVzaXplIixzLmJpbmQo ZnVuY3Rpb24oKXt0aGlzLmRpc3BhdGNoRnJhbWVSZXNpemUodGhpcy5fd2luLmV2 ZW50KX0sdGhpcykpfXZhciBvPTAsdT1bXSxhPXt9LGYsbD0wLGM9MDt3aW5kb3cu YWRkRXZlbnRMaXN0ZW5lcj93aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXpl IixoLCEwKTpkb2N1bWVudC5ib2R5LmF0dGFjaEV2ZW50KCJvbnJlc2l6ZSIsZnVu Y3Rpb24oKXtoKHdpbmRvdy5ldmVudCl9KSxkLnByb3RvdHlwZT1uZXcgbixzLmF1 ZyhkLnByb3RvdHlwZSx7ZGlzcGF0Y2hGcmFtZVJlc2l6ZTpmdW5jdGlvbigpe3Zh ciBlPXRoaXMuX2ZyYW1lLnBhcmVudE5vZGUsdD1wKGUpLG49YVt0XTtmPSEwO2lm KCF0aGlzLl9yZXNpemVIYW5kbGVycy5sZW5ndGgpcmV0dXJuO258fChuPWFbdF09 e3c6dGhpcy5fZnJhbWUub2Zmc2V0V2lkdGgsaDp0aGlzLl9mcmFtZS5vZmZzZXRI ZWlnaHR9KTtpZih0aGlzLl9mcmFtZVdpZHRoPT1uLncmJnRoaXMuX2ZyYW1lSGVp Z2h0PT1uLmgpcmV0dXJuO3RoaXMuX2ZyYW1lV2lkdGg9bi53LHRoaXMuX2ZyYW1l SGVpZ2h0PW4uaCxzLmZvckVhY2godGhpcy5fcmVzaXplSGFuZGxlcnMsZnVuY3Rp b24oZSl7ZShuLncsbi5oKX0pLHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7 YT17fX0sNTApfSxhcHBlbmRTdHlsZVNoZWV0OmZ1bmN0aW9uKGUpe3ZhciB0PXRo aXMuX2RvYy5jcmVhdGVFbGVtZW50KCJsaW5rIik7cmV0dXJuIHQudHlwZT0idGV4 dC9jc3MiLHQucmVsPSJzdHlsZXNoZWV0Iix0LmhyZWY9ZSx0aGlzLmxheW91dChz LmJpbmQoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faGVhZC5hcHBlbmRDaGlsZCh0 KX0sdGhpcykpfSxhcHBlbmRDc3M6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIHIu Y3NwRW5hYmxlZCgpP2kucmVqZWN0KCJDU1AgZW5hYmxlZDsgY2Fubm90IGVtYmVk IGlubGluZSBzdHlsZXMuIik6KHQ9dGhpcy5fZG9jLmNyZWF0ZUVsZW1lbnQoInN0 eWxlIiksdC50eXBlPSJ0ZXh0L2NzcyIsdC5zdHlsZVNoZWV0P3Quc3R5bGVTaGVl dC5jc3NUZXh0PWU6dC5hcHBlbmRDaGlsZCh0aGlzLl9kb2MuY3JlYXRlVGV4dE5v ZGUoZSkpLHRoaXMubGF5b3V0KHMuYmluZChmdW5jdGlvbigpe3JldHVybiB0aGlz Ll9oZWFkLmFwcGVuZENoaWxkKHQpfSx0aGlzKSkpfSxzdHlsZTpmdW5jdGlvbihl KXtyZXR1cm4gdGhpcy5sYXlvdXQocy5iaW5kKGZ1bmN0aW9uKCl7cy5mb3JJbihl LHMuYmluZChmdW5jdGlvbihlLHQpe3RoaXMuX2ZyYW1lLnN0eWxlW2VdPXR9LHRo aXMpKX0sdGhpcykpfSxvbnJlc2l6ZTpmdW5jdGlvbihlKXt0aGlzLl9yZXNpemVI YW5kbGVycy5wdXNoKGUpfSx3aWR0aDpmdW5jdGlvbihlKXtyZXR1cm4gZSE9PXVu ZGVmaW5lZCYmKHRoaXMuX2ZyYW1lLndpZHRoPWUpLHIuaW9zKCk/TWF0aC5taW4o dGhpcy5fZnJhbWUucGFyZW50Tm9kZS5vZmZzZXRXaWR0aCx0aGlzLl9mcmFtZS5v ZmZzZXRXaWR0aCk6dGhpcy5fZnJhbWUub2Zmc2V0V2lkdGh9LGhlaWdodDpmdW5j dGlvbihlKXtyZXR1cm4gZSE9PXVuZGVmaW5lZCYmKHRoaXMuX2ZyYW1lLmhlaWdo dD1lKSx0aGlzLl9mcmFtZS5vZmZzZXRIZWlnaHR9fSksZC5jcmVhdGVTYW5kYm94 PWZ1bmN0aW9uKGUsbixyLGkpe3ZhciBzPW5ldyB0KGUsbixyLGkpO3JldHVybiBz LnJlYWR5KCkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gbmV3IGQoZS5mcmFtZSxl LmxheW91dCl9KX0sZShkKX0pfSk7CnByb3ZpZGUoInRmdy91dGlsL2Fzc2V0cyIs ZnVuY3Rpb24oZSl7dXNpbmcoInV0aWwvZW52IixmdW5jdGlvbih0KXtmdW5jdGlv biByKGUscil7dmFyIGk9bltlXSxzO3JldHVybiB0LnJldGluYSgpP3M9IjJ4Ijp0 LmllNigpfHx0LmllNygpP3M9ImdpZiI6cz0iZGVmYXVsdCIsciYmKHMrPSIucnRs IiksaVtzXX12YXIgbj17ImVtYmVkL3RpbWVsaW5lLmNzcyI6eyJkZWZhdWx0Ijoi ZW1iZWQvdGltZWxpbmUuNmE3MmE1MGUxYTkzZGM0ZDk3ZmY4OTcxMjQyNjNhYjcu ZGVmYXVsdC5jc3MiLCIyeCI6ImVtYmVkL3RpbWVsaW5lLjZhNzJhNTBlMWE5M2Rj NGQ5N2ZmODk3MTI0MjYzYWI3LjJ4LmNzcyIsZ2lmOiJlbWJlZC90aW1lbGluZS42 YTcyYTUwZTFhOTNkYzRkOTdmZjg5NzEyNDI2M2FiNy5naWYuY3NzIiwiZGVmYXVs dC5ydGwiOiJlbWJlZC90aW1lbGluZS42YTcyYTUwZTFhOTNkYzRkOTdmZjg5NzEy NDI2M2FiNy5kZWZhdWx0LnJ0bC5jc3MiLCIyeC5ydGwiOiJlbWJlZC90aW1lbGlu ZS42YTcyYTUwZTFhOTNkYzRkOTdmZjg5NzEyNDI2M2FiNy4yeC5ydGwuY3NzIiwi Z2lmLnJ0bCI6ImVtYmVkL3RpbWVsaW5lLjZhNzJhNTBlMWE5M2RjNGQ5N2ZmODk3 MTI0MjYzYWI3LmdpZi5ydGwuY3NzIn19O2Uocil9KX0pOwpwcm92aWRlKCJ0Zncv d2lkZ2V0L3N5bmRpY2F0ZWRiYXNlIixmdW5jdGlvbihlKXt1c2luZygidGZ3L3dp ZGdldC9iYXNlIiwidGZ3L3dpZGdldC9pbnRlbnQiLCJ0ZncvdXRpbC9hc3NldHMi LCJ0ZncvdXRpbC9nbG9iYWxzIiwidGZ3L3V0aWwvdHJhY2tpbmciLCJkb20vY2xh c3NuYW1lIiwiZG9tL2dldCIsImRvbS9kZWxlZ2F0ZSIsInNhbmRib3gvZnJhbWUi LCJ1dGlsL2VudiIsInV0aWwvcHJvbWlzZSIsInV0aWwvdHdpdHRlciIsInV0aWwv dHlwZXZhbGlkYXRvciIsInV0aWwvdXRpbCIsZnVuY3Rpb24odCxuLHIsaSxzLG8s dSxhLGYsbCxjLGgscCxkKXtmdW5jdGlvbiBDKCl7Yj1rLlZBTElEX0NPTE9SLnRl c3QoaS52YWwoIndpZGdldHM6bGluay1jb2xvciIpKSYmUmVnRXhwLiQxLEU9ay5W QUxJRF9DT0xPUi50ZXN0KGkudmFsKCJ3aWRnZXRzOmJvcmRlci1jb2xvciIpKSYm UmVnRXhwLiQxLHc9aS52YWwoIndpZGdldHM6dGhlbWUiKX1mdW5jdGlvbiBrKGUp e2lmKCFlKXJldHVybjt2YXIgbjt0aGlzLnJlYWR5UHJvbWlzZT1uZXcgYyhkLmJp bmQoZnVuY3Rpb24oZSl7dGhpcy5yZWFkeVJlc29sdmVyPWV9LHRoaXMpKSx0aGlz LnJlbmRlcmVkUHJvbWlzZT1uZXcgYyhkLmJpbmQoZnVuY3Rpb24oZSl7dGhpcy5y ZW5kZXJSZXNvbHZlcj1lfSx0aGlzKSksdC5hcHBseSh0aGlzLFtlXSksbj10aGlz LnBhcmFtcygpLHRoaXMudGFyZ2V0RWw9dGhpcy5zcmNFbCYmdGhpcy5zcmNFbC5w YXJlbnROb2RlfHxuLnRhcmdldEVsfHxkb2N1bWVudC5ib2R5LHRoaXMucHJlZGVm aW5lZFdpZHRoPWsuVkFMSURfVU5JVC50ZXN0KG4ud2lkdGh8fHRoaXMuYXR0cigi d2lkdGgiKSkmJlJlZ0V4cC4kMSx0aGlzLmxheW91dChkLmJpbmQoZnVuY3Rpb24o KXtyZXR1cm4gdGhpcy5jb250YWluZXJXaWR0aD10aGlzLnRhcmdldEVsJiZ0aGlz LnRhcmdldEVsLm9mZnNldFdpZHRofSx0aGlzKSkudGhlbihkLmJpbmQoZnVuY3Rp b24oZSl7dmFyIHQ9dGhpcy5wcmVkZWZpbmVkV2lkdGh8fGV8fHRoaXMuZGltZW5z aW9ucy5ERUZBVUxUX1dJRFRIO3RoaXMuaGVpZ2h0PWsuVkFMSURfVU5JVC50ZXN0 KG4uaGVpZ2h0fHx0aGlzLmF0dHIoImhlaWdodCIpKSYmUmVnRXhwLiQxLHRoaXMu d2lkdGg9TWF0aC5tYXgodGhpcy5kaW1lbnNpb25zLk1JTl9XSURUSCxNYXRoLm1p bih0LHRoaXMuZGltZW5zaW9ucy5ERUZBVUxUX1dJRFRIKSl9LHRoaXMpKSxrLlZB TElEX0NPTE9SLnRlc3Qobi5saW5rQ29sb3J8fHRoaXMuZGF0YUF0dHIoImxpbmst Y29sb3IiKSk/dGhpcy5saW5rQ29sb3I9UmVnRXhwLiQxOnRoaXMubGlua0NvbG9y PWIsay5WQUxJRF9DT0xPUi50ZXN0KG4uYm9yZGVyQ29sb3J8fHRoaXMuZGF0YUF0 dHIoImJvcmRlci1jb2xvciIpKT90aGlzLmJvcmRlckNvbG9yPVJlZ0V4cC4kMTp0 aGlzLmJvcmRlckNvbG9yPUUsdGhpcy50aGVtZT1uLnRoZW1lfHx0aGlzLmF0dHIo ImRhdGEtdGhlbWUiKXx8dyx0aGlzLnRoZW1lPS8oZGFya3xsaWdodCkvLnRlc3Qo dGhpcy50aGVtZSk/dGhpcy50aGVtZToiIix0aGlzLmNsYXNzQXR0ci5wdXNoKGwu dG91Y2goKT8iaXMtdG91Y2giOiJub3QtdG91Y2giKSxsLmllOSgpJiZ0aGlzLmNs YXNzQXR0ci5wdXNoKCJpZTkiKSxmLmNyZWF0ZVNhbmRib3goeyJjbGFzcyI6dGhp cy5yZW5kZXJlZENsYXNzTmFtZXMsaWQ6dGhpcy5pZH0se3dpZHRoOiIxcHgiLGhl aWdodDoiMHB4Iixib3JkZXI6Im5vbmUiLHBvc2l0aW9uOiJhYnNvbHV0ZSIsdmlz aWJpbGl0eToiaGlkZGVuIn0sZC5iaW5kKGZ1bmN0aW9uKGUpe3RoaXMuc3JjRWw/ dGhpcy50YXJnZXRFbC5pbnNlcnRCZWZvcmUoZSx0aGlzLnNyY0VsKTp0aGlzLnRh cmdldEVsLmFwcGVuZENoaWxkKGUpfSx0aGlzKSx0aGlzLmxheW91dCkudGhlbihk LmJpbmQoZnVuY3Rpb24oZSl7dGhpcy5zZXR1cFNhbmRib3goZSl9LHRoaXMpKX1m dW5jdGlvbiBMKGUsdCl7cmV0dXJuIGUrdH1mdW5jdGlvbiBBKGUsdCl7cmV0dXJu IGU9PTJ8fGU9PTMmJnQ9PTB9dmFyIHY9WyIuY3VzdG9taXNhYmxlIiwiLmN1c3Rv bWlzYWJsZTpsaW5rIiwiLmN1c3RvbWlzYWJsZTp2aXNpdGVkIiwiLmN1c3RvbWlz YWJsZTpob3ZlciIsIi5jdXN0b21pc2FibGU6Zm9jdXMiLCIuY3VzdG9taXNhYmxl OmFjdGl2ZSIsIi5jdXN0b21pc2FibGUtaGlnaGxpZ2h0OmhvdmVyIiwiLmN1c3Rv bWlzYWJsZS1oaWdobGlnaHQ6Zm9jdXMiLCJhOmhvdmVyIC5jdXN0b21pc2FibGUt aGlnaGxpZ2h0IiwiYTpmb2N1cyAuY3VzdG9taXNhYmxlLWhpZ2hsaWdodCJdLG09 WyJhOmhvdmVyIC5pYy1tYXNrIiwiYTpmb2N1cyAuaWMtbWFzayJdLGc9WyIuY3Vz dG9taXNhYmxlLWJvcmRlciJdLHk9WyIudGltZWxpbmUtaGVhZGVyIGgxLnN1bW1h cnkiLCIudGltZWxpbmUtaGVhZGVyIGgxLnN1bW1hcnkgYTpsaW5rIiwiLnRpbWVs aW5lLWhlYWRlciBoMS5zdW1tYXJ5IGE6dmlzaXRlZCJdLGIsdyxFLFM9e1RXRUVU OjAsUkVUV0VFVDoxMH0seD02LFQ9OC85LE49MTYvOTtrLnByb3RvdHlwZT1uZXcg dCxkLmF1ZyhrLnByb3RvdHlwZSx7c2V0dXBTYW5kYm94OmZ1bmN0aW9uKGUpe3Ro aXMuc2FuZGJveD1lLGMuc29tZShlLmFwcGVuZENzcygiYm9keXtkaXNwbGF5Om5v bmV9IiksZS5zZXRCYXNlVGFyZ2V0KCJfYmxhbmsiKSxlLmFwcGVuZFN0eWxlU2hl ZXQodHd0dHIud2lkZ2V0cy5jb25maWcuYXNzZXRVcmwoKSsiLyIrcigiZW1iZWQv dGltZWxpbmUuY3NzIikpKS50aGVuKGQuYmluZChmdW5jdGlvbigpe3RoaXMucmVh ZHlSZXNvbHZlci5mdWxmaWxsKGUpfSx0aGlzKSl9LHJlYWR5OmZ1bmN0aW9uKCl7 cmV0dXJuIHRoaXMucmVhZHlQcm9taXNlfSxyZW5kZXJlZDpmdW5jdGlvbigpe3Jl dHVybiB0aGlzLnJlbmRlcmVkUHJvbWlzZX0sY29udGVudFdpZHRoOmZ1bmN0aW9u KGUpe3ZhciB0PXRoaXMuZGltZW5zaW9ucyxuPXRoaXMuZnVsbEJsZWVkUGhvdG8/ MDp0aGlzLmNocm9tZWxlc3MmJnRoaXMubmFycm93P3QuTkFSUk9XX01FRElBX1BB RERJTkdfQ0w6dGhpcy5jaHJvbWVsZXNzP3QuV0lERV9NRURJQV9QQURESU5HX0NM OnRoaXMubmFycm93P3QuTkFSUk9XX01FRElBX1BBRERJTkc6dC5XSURFX01FRElB X1BBRERJTkc7cmV0dXJuKGV8fHRoaXMud2lkdGgpLW59LGFkZFNpdGVTdHlsZXM6 ZnVuY3Rpb24oKXt2YXIgZT1kLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuKHRoaXMu dGhlbWU9PSJkYXJrIj8iLnRobS1kYXJrICI6IiIpK2V9LHRoaXMpLHQ9W107dGhp cy5oZWFkaW5nU3R5bGUmJnQucHVzaChkLm1hcCh5LGUpLmpvaW4oIiwiKSsieyIr dGhpcy5oZWFkaW5nU3R5bGUrIn0iKSx0aGlzLmxpbmtDb2xvciYmKHQucHVzaChk Lm1hcCh2LGUpLmpvaW4oIiwiKSsie2NvbG9yOiIrdGhpcy5saW5rQ29sb3IrIn0i KSx0LnB1c2goZC5tYXAobSxlKS5qb2luKCIsIikrIntiYWNrZ3JvdW5kLWNvbG9y OiIrdGhpcy5saW5rQ29sb3IrIn0iKSksdGhpcy5ib3JkZXJDb2xvciYmdC5wdXNo KGQubWFwKGcsZSkuY29uY2F0KHRoaXMudGhlbWU9PSJkYXJrIj9bIi50aG0tZGFy ay5jdXN0b21pc2FibGUtYm9yZGVyIl06W10pLmpvaW4oIiwiKSsie2JvcmRlci1j b2xvcjoiK3RoaXMuYm9yZGVyQ29sb3IrIn0iKTtpZighdC5sZW5ndGgpcmV0dXJu O3JldHVybiB0aGlzLnNhbmRib3guYXBwZW5kQ3NzKHQuam9pbigiIikpfSxzZXRO YXJyb3c6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm5hcnJvdztyZXR1cm4gdGhpcy5u YXJyb3c9dGhpcy53aWR0aDx0aGlzLmRpbWVuc2lvbnMuTkFSUk9XX1dJRFRILGUh PXRoaXMubmFycm93P3RoaXMubGF5b3V0KGQuYmluZChmdW5jdGlvbigpe3JldHVy biBvLnRvZ2dsZSh0aGlzLmVsZW1lbnQsInZhci1uYXJyb3ciLHRoaXMubmFycm93 KX0sdGhpcykpOmMuZnVsZmlsbCh0aGlzLm5hcnJvdyl9LGJpbmRJbnRlbnRIYW5k bGVyczpmdW5jdGlvbigpe2Z1bmN0aW9uIHIobil7dmFyIHI9dS5hbmNlc3Rvcigi LnR3ZWV0Iix0aGlzLHQpLGk9ZC5hdWcoe30sZS5iYXNlU2NyaWJlRGF0YSgpLGUu ZXh0cmFjdFR3ZWV0U2NyaWJlRGV0YWlscyhyKSk7cy5zY3JpYmVJbnRlcmFjdGlv bihuLGksITAsZS5kbnQpfXZhciBlPXRoaXMsdD10aGlzLmVsZW1lbnQ7YS5kZWxl Z2F0ZSh0LCJjbGljayIsIkEiLHIpLGEuZGVsZWdhdGUodCwiY2xpY2siLCJCVVRU T04iLHIpLGEuZGVsZWdhdGUodCwiY2xpY2siLCIucHJvZmlsZSIsZnVuY3Rpb24o KXtlLmFkZFVybFBhcmFtcyh0aGlzKX0pLGEuZGVsZWdhdGUodCwiY2xpY2siLCIu Zm9sbG93LWJ1dHRvbiIsZnVuY3Rpb24odCl7dmFyIHI7aWYodC5hbHRLZXl8fHQu bWV0YUtleXx8dC5zaGlmdEtleSlyZXR1cm47aWYobC5pb3MoKXx8bC5hbmRyb2lk KCkpcmV0dXJuO2lmKHAuYXNCb29sZWFuKHRoaXMuZ2V0QXR0cmlidXRlKCJkYXRh LWFnZS1nYXRlIikpKXJldHVybjtyPWguaW50ZW50Rm9yUHJvZmlsZVVSTCh0aGlz LmhyZWYpLHImJihuLm9wZW4ocixlLnNhbmRib3guZWxlbWVudCgpKSxhLnByZXZl bnREZWZhdWx0KHQpKX0pLGEuZGVsZWdhdGUodCwiY2xpY2siLCIud2ViLWludGVu dCIsZnVuY3Rpb24odCl7ZS5hZGRVcmxQYXJhbXModGhpcyk7aWYodC5hbHRLZXl8 fHQubWV0YUtleXx8dC5zaGlmdEtleSlyZXR1cm47bi5vcGVuKHRoaXMuaHJlZixl LnNhbmRib3guZWxlbWVudCgpKSxhLnByZXZlbnREZWZhdWx0KHQpfSl9LGJhc2VT Y3JpYmVEYXRhOmZ1bmN0aW9uKCl7cmV0dXJue319LGV4dHJhY3RUd2VldFNjcmli ZURldGFpbHM6ZnVuY3Rpb24oZSl7dmFyIHQsbixyPXt9O3JldHVybiBlPyh0PWUu Z2V0QXR0cmlidXRlKCJkYXRhLXR3ZWV0LWlkIiksbj1lLmdldEF0dHJpYnV0ZSgi ZGF0YS1yZW5kZXJlZC10d2VldC1pZCIpfHx0LG49PXQ/cltuXT17aXRlbV90eXBl OlMuVFdFRVR9OnQmJihyW25dPXtpdGVtX3R5cGU6Uy5SRVRXRUVULHRhcmdldF90 eXBlOlMuVFdFRVQsdGFyZ2V0X2lkOnR9KSxyKTpyfSxjb25zdHJhaW5NZWRpYTpm dW5jdGlvbihlLHQpe3ZhciBuPTAscj10aGlzLmZ1bGxCbGVlZFBob3RvPzYwMDoz NzUsaT11Lm9uZSgibXVsdGktcGhvdG8iLGUsIkRJViIpLHM9aSYmK2kuZ2V0QXR0 cmlidXRlKCJkYXRhLXBob3RvLWNvdW50Iik7ZT1lfHx0aGlzLmVsZW1lbnQsdD10 fHx0aGlzLmNvbnRlbnRXaWR0aCgpO2lmKCFlKXJldHVybjtyZXR1cm4gZC5mb3JF YWNoKHUuYWxsKCJhdXRvc2l6ZWQtbWVkaWEiLGUpLGQuYmluZChmdW5jdGlvbihl KXt2YXIgaT1rLnNjYWxlRGltZW5zaW9ucyhlLmdldEF0dHJpYnV0ZSgiZGF0YS13 aWR0aCIpLGUuZ2V0QXR0cmlidXRlKCJkYXRhLWhlaWdodCIpLHQscik7dGhpcy5s YXlvdXQoZnVuY3Rpb24oKXtlLndpZHRoPWkud2lkdGgsZS5oZWlnaHQ9aS5oZWln aHR9KSxuPWkuaGVpZ2h0Pm4/aS5oZWlnaHQ6bn0sdGhpcykpLGQuZm9yRWFjaCh1 LmFsbCgiY3JvcHBlZC1tZWRpYSIsZSwiSU1HIiksZC5iaW5kKGZ1bmN0aW9uKGUp e3ZhciBpPXQtMTIsbz1lLnBhcmVudE5vZGUsdT1lLmdldEF0dHJpYnV0ZSgiZGF0 YS1jcm9wLXgiKXx8MCxhPWUuZ2V0QXR0cmlidXRlKCJkYXRhLWNyb3AteSIpfHww LGYsbCxjPUEocyxlLmdldEF0dHJpYnV0ZSgiZGF0YS1pbWFnZS1pbmRleCIpKSxo PU1hdGguZmxvb3IoaS8yLXgpLHA9TWF0aC5mbG9vcihoLyhjP1Q6TikpLGQ7Y3x8 KHAtPXgvMiksZD1rLnNjYWxlRGltZW5zaW9ucyhlLmdldEF0dHJpYnV0ZSgiZGF0 YS13aWR0aCIpLGUuZ2V0QXR0cmlidXRlKCJkYXRhLWhlaWdodCIpLGgscixoLHAp LGY9ZC53aWR0aC1oLXUsbD1kLmhlaWdodC1wLWEsZjwwJiZNYXRoLm1heCgwLHUr PWYpLGw8MCYmTWF0aC5tYXgoMCxhKz1sKSx0aGlzLmxheW91dChmdW5jdGlvbigp e2Uud2lkdGg9ZC53aWR0aCxlLmhlaWdodD1kLmhlaWdodCxvLnN0eWxlLndpZHRo PWgtMSsicHgiLG8uc3R5bGUuaGVpZ2h0PXArInB4Iix1JiYoZS5zdHlsZS5tYXJn aW5MZWZ0PSItIitNYXRoLmZsb29yKGQud2lkdGgqdS8xMDApKyJweCIpLGEmJihl LnN0eWxlLm1hcmdpblRvcD0iLSIrTWF0aC5mbG9vcihkLmhlaWdodCphLzEwMCkr InB4Iil9KSxuPWQuaGVpZ2h0KihjPzI6MSk+bj9kLmhlaWdodDpufSx0aGlzKSks bn0sY29sbGFwc2VSZWdpb25zOmZ1bmN0aW9uKCl7ZC5mb3JFYWNoKHUuYWxsKCJj b2xsYXBzaWJsZS1jb250YWluZXIiLHRoaXMuZWxlbWVudCksZC5iaW5kKGZ1bmN0 aW9uKGUpe3ZhciB0PWUuY2hpbGRyZW4sbj10Lmxlbmd0aCYmZS5vZmZzZXRXaWR0 aCxyPXQubGVuZ3RoJiZkLm1hcCh0LGZ1bmN0aW9uKGUpe3JldHVybiBlLm9mZnNl dFdpZHRofSksaT10Lmxlbmd0aCxzLHU7aWYoIXQubGVuZ3RoKXJldHVybjt3aGls ZShpPjApe2ktLSxzPWQucmVkdWNlKHIsTCwwKTtpZighbnx8IXMpcmV0dXJuO2lm KHM8bilyZXR1cm47dT10W2ldLmdldEF0dHJpYnV0ZSgiZGF0YS1jb2xsYXBzZWQt Y2xhc3MiKTtpZighdSljb250aW51ZTtvLmFkZCh0aGlzLmVsZW1lbnQsdSkscltp XT10W2ldLm9mZnNldFdpZHRofX0sdGhpcykpfX0pLGsuVkFMSURfVU5JVD0vXihb MC05XSspKCA/cHgpPyQvLGsuVkFMSURfQ09MT1I9L14oIyg/OlswLTlhLWZdezN9 fFswLTlhLWZdezZ9KSkkL2ksay5yZXRpbml6ZT1mdW5jdGlvbihlKXtpZighbC5y ZXRpbmEoKSlyZXR1cm47ZC5mb3JFYWNoKGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUo IklNRyIpLGZ1bmN0aW9uKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKCJkYXRhLXNy Yy0yeCIpO3QmJihlLnNyYz10KX0pfSxrLnNjYWxlRGltZW5zaW9ucz1mdW5jdGlv bihlLHQsbixyLGkscyl7cmV0dXJuIG49bnx8ZSxyPXJ8fHQsaT1pfHwwLHM9c3x8 MCxlPm4mJih0Kj1uL2UsZT1uKSx0PnImJihlKj1yL3QsdD1yKSxlPGkmJih0Kj1p L2UsZT1pKSx0PHMmJihlKj1zL3QsdD1zKSx7d2lkdGg6TWF0aC5mbG9vcihlKSxo ZWlnaHQ6TWF0aC5mbG9vcih0KX19LEMoKSxlKGspfSl9KTsKcHJvdmlkZSgidGZ3 L3dpZGdldC90aW1lbGluZSIsZnVuY3Rpb24oZSl7dXNpbmcoInRmdy93aWRnZXQv YmFzZSIsInRmdy93aWRnZXQvc3luZGljYXRlZGJhc2UiLCJ1dGlsL2RhdGV0aW1l IiwidXRpbC9wcm9taXNlIiwiYW5pbS90cmFuc2l0aW9uIiwidGZ3L3V0aWwvYXJ0 aWNsZSIsInRmdy91dGlsL2RhdGEiLCJ0ZncvdXRpbC90cmFja2luZyIsInRmdy91 dGlsL3BhcmFtcyIsInV0aWwvY3NzIiwidXRpbC9lbnYiLCJ1dGlsL3Rocm90dGxl IiwidXRpbC90d2l0dGVyIiwidXRpbC9xdWVyeXN0cmluZyIsInV0aWwvdHlwZXZh bGlkYXRvciIsInV0aWwvdXRpbCIsImRvbS9kZWxlZ2F0ZSIsImRvbS9jbGFzc25h bWUiLCJkb20vZ2V0IixmdW5jdGlvbih0LG4scixpLHMsbyx1LGEsZixsLGMsaCxw LGQsdixtLGcseSxiKXtmdW5jdGlvbiBJKGUpe2lmKCFlKXJldHVybjt2YXIgdCxy LGkscyxvLHUsYSxmO24uYXBwbHkodGhpcyxbZV0pLHQ9dGhpcy5wYXJhbXMoKSxy PSh0LmNocm9tZXx8dGhpcy5kYXRhQXR0cigiY2hyb21lIil8fCIiKS5zcGxpdCgi ICIpLHRoaXMucHJldmlldz10LnByZXZpZXdQYXJhbXMsdGhpcy53aWRnZXRJZD10 LndpZGdldElkfHx0aGlzLmRhdGFBdHRyKCJ3aWRnZXQtaWQiKSx0aGlzLmluc3Rh bmNlSWQ9KytGLHRoaXMuY3Vyc29ycz17bWF4UG9zaXRpb246MCxtaW5Qb3NpdGlv bjowfSwocz10LnNjcmVlbk5hbWV8fHRoaXMuZGF0YUF0dHIoInNjcmVlbi1uYW1l IikpfHwobz10LnVzZXJJZHx8dGhpcy5kYXRhQXR0cigidXNlci1pZCIpKT90aGlz Lm92ZXJyaWRlPXtvdmVycmlkZVR5cGU6InVzZXIiLG92ZXJyaWRlSWQ6byxvdmVy cmlkZU5hbWU6cyx3aXRoUmVwbGllczp2LmFzQm9vbGVhbih0LnNob3dSZXBsaWVz fHx0aGlzLmRhdGFBdHRyKCJzaG93LXJlcGxpZXMiKSk/InRydWUiOiJmYWxzZSJ9 OihzPXQuZmF2b3JpdGVzU2NyZWVuTmFtZXx8dGhpcy5kYXRhQXR0cigiZmF2b3Jp dGVzLXNjcmVlbi1uYW1lIikpfHwobz10LmZhdm9yaXRlc1VzZXJJZHx8dGhpcy5k YXRhQXR0cigiZmF2b3JpdGVzLXVzZXItaWQiKSk/dGhpcy5vdmVycmlkZT17b3Zl cnJpZGVUeXBlOiJmYXZvcml0ZXMiLG92ZXJyaWRlSWQ6byxvdmVycmlkZU5hbWU6 c306KChzPXQubGlzdE93bmVyU2NyZWVuTmFtZXx8dGhpcy5kYXRhQXR0cigibGlz dC1vd25lci1zY3JlZW4tbmFtZSIpKXx8KG89dC5saXN0T3duZXJJZHx8dGhpcy5k YXRhQXR0cigibGlzdC1vd25lci1pZCIpKSkmJigodT10Lmxpc3RJZHx8dGhpcy5k YXRhQXR0cigibGlzdC1pZCIpKXx8KGE9dC5saXN0U2x1Z3x8dGhpcy5kYXRhQXR0 cigibGlzdC1zbHVnIikpKT90aGlzLm92ZXJyaWRlPXtvdmVycmlkZVR5cGU6Imxp c3QiLG92ZXJyaWRlT3duZXJJZDpvLG92ZXJyaWRlT3duZXJOYW1lOnMsb3ZlcnJp ZGVJZDp1LG92ZXJyaWRlTmFtZTphfTooZj10LmN1c3RvbVRpbWVsaW5lSWR8fHRo aXMuZGF0YUF0dHIoImN1c3RvbS10aW1lbGluZS1pZCIpKT90aGlzLm92ZXJyaWRl PXtvdmVycmlkZVR5cGU6ImN1c3RvbSIsb3ZlcnJpZGVJZDpmfTp0aGlzLm92ZXJy aWRlPXt9LHRoaXMudHdlZXRMaW1pdD12LmFzSW50KHQudHdlZXRMaW1pdHx8dGhp cy5kYXRhQXR0cigidHdlZXQtbGltaXQiKSksdGhpcy5zdGF0aWNUaW1lbGluZT10 aGlzLnR3ZWV0TGltaXQ+MCxyLmxlbmd0aCYmKGk9fm0uaW5kZXhPZihyLCJub25l IiksdGhpcy5jaHJvbWVsZXNzPWl8fH5tLmluZGV4T2YociwidHJhbnNwYXJlbnQi KSx0aGlzLmhlYWRlcmxlc3M9aXx8fm0uaW5kZXhPZihyLCJub2hlYWRlciIpLHRo aXMuZm9vdGVybGVzcz1pfHx+bS5pbmRleE9mKHIsIm5vZm9vdGVyIiksdGhpcy5i b3JkZXJsZXNzPWl8fH5tLmluZGV4T2Yociwibm9ib3JkZXJzIiksdGhpcy5ub3Nj cm9sbGJhcj1+bS5pbmRleE9mKHIsIm5vc2Nyb2xsYmFyIikpLHRoaXMuaGVhZGlu Z1N0eWxlPWwuc2FuaXRpemUodC5oZWFkaW5nU3R5bGV8fHRoaXMuZGF0YUF0dHIo ImhlYWRpbmctc3R5bGUiKSx1bmRlZmluZWQsITApLHRoaXMuY2xhc3NBdHRyLnB1 c2goInR3aXR0ZXItdGltZWxpbmUtcmVuZGVyZWQiKSx0aGlzLmFyaWFQb2xpdGU9 dC5hcmlhUG9saXRlfHx0aGlzLmRhdGFBdHRyKCJhcmlhLXBvbGl0ZSIpfXZhciB3 PSIxLjAiLEU9e0NMSUVOVF9TSURFX1VTRVI6MCxDTElFTlRfU0lERV9BUFA6Mn0s Uz0idGltZWxpbmUiLHg9Im5ldy10d2VldHMtYmFyIixUPSJ0aW1lbGluZS1oZWFk ZXIiLE49InRpbWVsaW5lLWZvb3RlciIsQz0ic3RyZWFtIixrPSJoLWZlZWQiLEw9 InR3ZWV0IixBPSJleHBhbmRlZCIsTz0iZGV0YWlsLWV4cGFuZGVyIixNPSJleHBh bmQiLF89InBlcm1hbGluayIsRD0idHdpdHRlci1mb2xsb3ctYnV0dG9uIixQPSJu by1tb3JlLXBhbmUiLEg9InBlbmRpbmctc2Nyb2xsLWluIixCPSJwZW5kaW5nLW5l dy10d2VldCIsaj0icGVuZGluZy1uZXctdHdlZXQtZGlzcGxheSIsRj0wO0kucHJv dG90eXBlPW5ldyBuLG0uYXVnKEkucHJvdG90eXBlLHtyZW5kZXJlZENsYXNzTmFt ZXM6InR3aXR0ZXItdGltZWxpbmUgdHdpdHRlci10aW1lbGluZS1yZW5kZXJlZCIs ZGltZW5zaW9uczp7REVGQVVMVF9IRUlHSFQ6IjYwMCIsREVGQVVMVF9XSURUSDoi NTIwIixOQVJST1dfV0lEVEg6IjMyMCIsTUlOX1dJRFRIOiIxODAiLE1JTl9IRUlH SFQ6IjIwMCIsV0lERV9NRURJQV9QQURESU5HOjgxLE5BUlJPV19NRURJQV9QQURE SU5HOjE2LFdJREVfTUVESUFfUEFERElOR19DTDo2MCxOQVJST1dfTUVESUFfUEFE RElOR19DTDoxMn0sY3JlYXRlOmZ1bmN0aW9uKGUpe3ZhciByPXRoaXMuc2FuZGJv eC5jcmVhdGVFbGVtZW50KCJkaXYiKSxpLHMsbyx1PVtdLGY7ci5pbm5lckhUTUw9 ZS5ib2R5LGk9ci5jaGlsZHJlblswXXx8ITE7aWYoIWkpcmV0dXJuO3JldHVybiB0 aGlzLnJlY29uZmlndXJlKGUuY29uZmlnKSx0aGlzLmRpc2NhcmRTdGF0aWNPdmVy ZmxvdyhpKSx0aGlzLnNhbmRib3guc2V0VGl0bGUoaS5nZXRBdHRyaWJ1dGUoImRh dGEtaWZyYW1lLXRpdGxlIil8fCJUaW1lbGluZSIpLG4ucmV0aW5pemUoaSksdGhp cy5jb25zdHJhaW5NZWRpYShpKSx0aGlzLnNlYXJjaFF1ZXJ5PWkuZ2V0QXR0cmli dXRlKCJkYXRhLXNlYXJjaC1xdWVyeSIpLHRoaXMucHJvZmlsZUlkPWkuZ2V0QXR0 cmlidXRlKCJkYXRhLXByb2ZpbGUtaWQiKSx0aGlzLnRpbWVsaW5lVHlwZT1pLmdl dEF0dHJpYnV0ZSgiZGF0YS10aW1lbGluZS10eXBlIiksZj10aGlzLmdldFR3ZWV0 RGV0YWlscyhyKSxtLmZvckluKGYsZnVuY3Rpb24oZSl7dS5wdXNoKGUpfSksbz10 aGlzLmJhc2VTY3JpYmVEYXRhKCksby5pdGVtX2lkcz11LG8uaXRlbV9kZXRhaWxz PWYsdGhpcy50aW1lbGluZVR5cGUmJmEuZW5xdWV1ZSh7cGFnZTp0aGlzLnRpbWVs aW5lVHlwZSsiX3RpbWVsaW5lIixjb21wb25lbnQ6InRpbWVsaW5lIixlbGVtZW50 OiJpbml0aWFsIixhY3Rpb246dS5sZW5ndGg/InJlc3VsdHMiOiJub19yZXN1bHRz In0sbywhMCx0aGlzLmRudCksYS5lbnF1ZXVlKHtwYWdlOiJ0aW1lbGluZSIsY29t cG9uZW50OiJ0aW1lbGluZSIsZWxlbWVudDoiaW5pdGlhbCIsYWN0aW9uOnUubGVu Z3RoPyJyZXN1bHRzIjoibm9fcmVzdWx0cyJ9LG8sITAsdGhpcy5kbnQpLGEuZmx1 c2goKSx0aGlzLmFyaWFQb2xpdGU9PSJhc3NlcnRpdmUiJiYocz1iLm9uZSh4LGks IkRJViIpLHMuc2V0QXR0cmlidXRlKCJhcmlhLXBvbGl0ZSIsImFzc2VydGl2ZSIp KSxpLmlkPXRoaXMuaWQsaS5jbGFzc05hbWUrPSIgIit0aGlzLmNsYXNzQXR0ci5q b2luKCIgIiksaS5sYW5nPXRoaXMubGFuZyx0aGlzLmF1Z21lbnRXaWRnZXRzKGkp LHRoaXMucmVhZHkoKS50aGVuKG0uYmluZChmdW5jdGlvbihlKXtlLmFwcGVuZENo aWxkKGkpLnRoZW4obS5iaW5kKGZ1bmN0aW9uKCl7dGhpcy5yZW5kZXJSZXNvbHZl ci5mdWxmaWxsKHRoaXMuc2FuZGJveCl9LHRoaXMpKSxlLnN0eWxlKHtjc3NUZXh0 OiIiLGJvcmRlcjoibm9uZSIsbWF4V2lkdGg6IjEwMCUiLG1pbldpZHRoOnRoaXMu ZGltZW5zaW9ucy5NSU5fV0lEVEgrInB4In0pLHRoaXMubGF5b3V0KG0uYmluZChm dW5jdGlvbigpe3RoaXMuc3JjRWwmJnRoaXMuc3JjRWwucGFyZW50Tm9kZSYmdGhp cy5zcmNFbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuc3JjRWwpLHRoaXMu cHJlZGVmaW5lZFdpZHRoPXRoaXMud2lkdGgsdGhpcy5wcmVkZWZpbmVkSGVpZ2h0 PXRoaXMuaGVpZ2h0LHRoaXMud2lkdGg9ZS53aWR0aCh0aGlzLndpZHRoKSx0aGlz LmhlaWdodD1lLmhlaWdodCh0aGlzLmhlaWdodCl9LHRoaXMpKS50aGVuKG0uYmlu ZChmdW5jdGlvbigpe3RoaXMuY29tcGxldGVSZXNvbHZlci5mdWxmaWxsKHRoaXMu c2FuZGJveC5lbGVtZW50KCkpLHRoaXMud2lkdGg8dGhpcy5wcmVkZWZpbmVkV2lk dGgmJih0aGlzLmxheW91dChtLmJpbmQoZnVuY3Rpb24oKXt0aGlzLndpZHRoPWUu d2lkdGgodGhpcy5wcmVkZWZpbmVkV2lkdGgpfSx0aGlzKSksdC5kb0xheW91dEFz eW5jKCkpLHRoaXMuaGVpZ2h0PHRoaXMucHJlZGVmaW5lZEhlaWdodCYmKHRoaXMu bGF5b3V0KG0uYmluZChmdW5jdGlvbigpe3RoaXMuaGVpZ2h0PWUuaGVpZ2h0KHRo aXMucHJlZGVmaW5lZEhlaWdodCksdGhpcy5yZWNhbGN1bGF0ZVN0cmVhbUhlaWdo dCgpfSx0aGlzKSksdC5kb0xheW91dEFzeW5jKCkpfSx0aGlzKSksdGhpcy5zZXRO YXJyb3coKS50aGVuKG0uYmluZChmdW5jdGlvbigpe3RoaXMuc2FuZGJveC5vbnJl c2l6ZShtLmJpbmQodGhpcy5oYW5kbGVSZXNpemUsdGhpcykpfSx0aGlzKSl9LHRo aXMpKSxpfSxyZW5kZXI6ZnVuY3Rpb24oZSxuKXtyZXR1cm4hdGhpcy5wcmV2aWV3 JiYhdGhpcy53aWRnZXRJZD8odGhpcy5jb21wbGV0ZVJlc29sdmVyLnJlamVjdCg0 MDApLHRoaXMuY29tcGxldGVkKCkpOih0aGlzLnN0YXRpY1RpbWVsaW5lP3RoaXMu cmVuZGVyZWQoKS50aGVuKG0uYmluZChmdW5jdGlvbihlKXt0aGlzLmxheW91dCht LmJpbmQoZnVuY3Rpb24oKXtlLmhlaWdodCh0aGlzLmhlaWdodD10aGlzLmVsZW1l bnQub2Zmc2V0SGVpZ2h0KX0sdGhpcykpLHQuZG9MYXlvdXRBc3luYygpfSx0aGlz KSk6dGhpcy5yZW5kZXJlZCgpLnRoZW4obS5iaW5kKGZ1bmN0aW9uKCl7dGhpcy5y ZWNhbGN1bGF0ZVN0cmVhbUhlaWdodCgpLHQuZG9MYXlvdXRBc3luYygpfSx0aGlz KSksdGhpcy5wcmV2aWV3P3RoaXMuZ2V0UHJldmlld1RpbWVsaW5lKCk6dGhpcy5n ZXRUaW1lbGluZSgpLG4mJnRoaXMuY29tcGxldGVkKCkudGhlbihuKSx0aGlzLmNv bXBsZXRlZCgpKX0sZ2V0UHJldmlld1RpbWVsaW5lOmZ1bmN0aW9uKCl7dS50aW1l bGluZVByZXZpZXcoe3N1Y2Nlc3M6bS5iaW5kKGZ1bmN0aW9uKGUpe3RoaXMucmVh ZHkoKS50aGVuKG0uYmluZChmdW5jdGlvbigpe3RoaXMuZWxlbWVudD10aGlzLmNy ZWF0ZShlKSx0aGlzLnJlYWRUcmFuc2xhdGlvbnMoKSx0aGlzLmJpbmRJbnRlcmFj dGlvbnMoKSx0aGlzLnVwZGF0ZUN1cnNvcnMoZS5oZWFkZXJzLHtpbml0aWFsOiEw fSksdC5kb0xheW91dEFzeW5jKCl9LHRoaXMpKX0sdGhpcyksZXJyb3I6ZnVuY3Rp b24oZSl7aWYoIWV8fCFlLmhlYWRlcnMpe3RoaXMuY29tcGxldGVSZXNvbHZlci5m dWxmaWxsKHRoaXMuc3JjRWwpO3JldHVybn10aGlzLmNvbXBsZXRlUmVzb2x2ZXIu cmVqZWN0KGUuaGVhZGVycy5zdGF0dXMpfSxwYXJhbXM6dGhpcy5wcmV2aWV3fSl9 LGdldFRpbWVsaW5lOmZ1bmN0aW9uKCl7YS5pbml0UG9zdExvZ2dpbmcoKSx1LnRp bWVsaW5lKG0uYXVnKHtpZDp0aGlzLndpZGdldElkLGluc3RhbmNlSWQ6dGhpcy5p bnN0YW5jZUlkLGRudDp0aGlzLmRudCxsYW5nOnRoaXMubGFuZyxzdWNjZXNzOm0u YmluZChmdW5jdGlvbihlKXt0aGlzLnJlYWR5KCkudGhlbihtLmJpbmQoZnVuY3Rp b24oKXt0aGlzLmVsZW1lbnQ9dGhpcy5jcmVhdGUoZSksdGhpcy5yZWFkVHJhbnNs YXRpb25zKCksdGhpcy5iaW5kSW50ZXJhY3Rpb25zKCksdGhpcy51cGRhdGVUaW1l U3RhbXBzKCksdGhpcy51cGRhdGVDdXJzb3JzKGUuaGVhZGVycyx7aW5pdGlhbDoh MH0pLGUuaGVhZGVycy54UG9sbGluZyYmL1xkLy50ZXN0KGUuaGVhZGVycy54UG9s bGluZykmJih0aGlzLnBvbGxJbnRlcnZhbD1lLmhlYWRlcnMueFBvbGxpbmcqMWUz KSx0aGlzLnN0YXRpY1RpbWVsaW5lfHx0aGlzLnNjaGVkdWxlUG9sbGluZygpLHQu ZG9MYXlvdXRBc3luYygpfSx0aGlzKSl9LHRoaXMpLGVycm9yOmZ1bmN0aW9uKGUp e2lmKCFlfHwhZS5oZWFkZXJzKXt0aGlzLmNvbXBsZXRlUmVzb2x2ZXIuZnVsZmls bCh0aGlzLnNyY0VsKTtyZXR1cm59dGhpcy5jb21wbGV0ZVJlc29sdmVyLnJlamVj dChlLmhlYWRlcnMuc3RhdHVzKX19LHRoaXMub3ZlcnJpZGUpKX0scmVjb25maWd1 cmU6ZnVuY3Rpb24oZSl7dGhpcy5sYW5nPWUubGFuZyx0aGlzLnRoZW1lfHwodGhp cy50aGVtZT1lLnRoZW1lKSx0aGlzLnRoZW1lPT0iZGFyayImJnRoaXMuY2xhc3NB dHRyLnB1c2goInRobS1kYXJrIiksdGhpcy5jaHJvbWVsZXNzJiZ0aGlzLmNsYXNz QXR0ci5wdXNoKCJ2YXItY2hyb21lbGVzcyIpLHRoaXMuYm9yZGVybGVzcyYmdGhp cy5jbGFzc0F0dHIucHVzaCgidmFyLWJvcmRlcmxlc3MiKSx0aGlzLmhlYWRlcmxl c3MmJnRoaXMuY2xhc3NBdHRyLnB1c2goInZhci1oZWFkZXJsZXNzIiksdGhpcy5m b290ZXJsZXNzJiZ0aGlzLmNsYXNzQXR0ci5wdXNoKCJ2YXItZm9vdGVybGVzcyIp LHRoaXMuc3RhdGljVGltZWxpbmUmJnRoaXMuY2xhc3NBdHRyLnB1c2goInZhci1z dGF0aWMiKSwhdGhpcy5saW5rQ29sb3ImJmUubGlua0NvbG9yJiZuLlZBTElEX0NP TE9SLnRlc3QoZS5saW5rQ29sb3IpJiYodGhpcy5saW5rQ29sb3I9UmVnRXhwLiQx KSwhdGhpcy5oZWlnaHQmJm4uVkFMSURfVU5JVC50ZXN0KGUuaGVpZ2h0KSYmKHRo aXMuaGVpZ2h0PVJlZ0V4cC4kMSksdGhpcy5oZWlnaHQ9TWF0aC5tYXgodGhpcy5k aW1lbnNpb25zLk1JTl9IRUlHSFQsdGhpcy5oZWlnaHQ/dGhpcy5oZWlnaHQ6dGhp cy5kaW1lbnNpb25zLkRFRkFVTFRfSEVJR0hUKSx0aGlzLnByZXZpZXcmJnRoaXMu Y2xhc3NBdHRyLnB1c2goInZhci1wcmV2aWV3IiksdGhpcy5uYXJyb3c9dGhpcy53 aWR0aDw9dGhpcy5kaW1lbnNpb25zLk5BUlJPV19XSURUSCx0aGlzLm5hcnJvdyYm dGhpcy5jbGFzc0F0dHIucHVzaCgidmFyLW5hcnJvdyIpLHRoaXMuYWRkU2l0ZVN0 eWxlcygpfSxnZXRUd2VldERldGFpbHM6ZnVuY3Rpb24oZSl7dmFyIHQ9Yi5vbmUo ayxlKSxuLHI9e30saSxzLG89MDtuPXQmJnQuY2hpbGRyZW58fFtdO2Zvcig7aT1u W29dO28rKylzPWIub25lKF8saSwiQSIpLG0uYXVnKHIsdGhpcy5leHRyYWN0VHdl ZXRTY3JpYmVEZXRhaWxzKGkpKTtyZXR1cm4gcn0sYmFzZVNjcmliZURhdGE6ZnVu Y3Rpb24oKXtyZXR1cm57d2lkZ2V0X2lkOnRoaXMud2lkZ2V0SWQsd2lkZ2V0X29y aWdpbjpvLnVybCgpLGNsaWVudF92ZXJzaW9uOncsbWVzc2FnZTp0aGlzLnBhcnRu ZXIscXVlcnk6dGhpcy5zZWFyY2hRdWVyeSxwcm9maWxlX2lkOnRoaXMucHJvZmls ZUlkfX0sYmluZEludGVyYWN0aW9uczpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD10 aGlzLmVsZW1lbnQsbj0hMDt0aGlzLmJpbmRJbnRlbnRIYW5kbGVycygpLGcuZGVs ZWdhdGUodCwiY2xpY2siLCIubG9hZC10d2VldHMiLGZ1bmN0aW9uKHQpe24mJihu PSExLGUuZm9yY2VMb2FkKCksZy5zdG9wKHQpKX0pLGcuZGVsZWdhdGUodCwiY2xp Y2siLCIuZGlzcGxheS1zZW5zaXRpdmUtaW1hZ2UiLGZ1bmN0aW9uKG4pe2Uuc2hv d05TRlcoYi5hbmNlc3RvcigiLiIrTCx0aGlzLHQpKSxnLnN0b3Aobil9KSxnLmRl bGVnYXRlKHQsIm1vdXNlb3ZlciIsIi4iK1MsZnVuY3Rpb24oKXtlLm1vdXNlT3Zl cj0hMH0pLGcuZGVsZWdhdGUodCwibW91c2VvdXQiLCIuIitTLGZ1bmN0aW9uKCl7 ZS5tb3VzZU92ZXI9ITF9KSxnLmRlbGVnYXRlKHQsIm1vdXNlb3ZlciIsIi4iK3gs ZnVuY3Rpb24oKXtlLm1vdXNlT3Zlck5vdGlmaWVyPSEwfSksZy5kZWxlZ2F0ZSh0 LCJtb3VzZW91dCIsIi4iK3gsZnVuY3Rpb24oKXtlLm1vdXNlT3Zlck5vdGlmaWVy PSExLHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5oaWRlTmV3VHdlZXRO b3RpZmllcigpfSwzZTMpfSk7aWYodGhpcy5zdGF0aWNUaW1lbGluZSlyZXR1cm47 Zy5kZWxlZ2F0ZSh0LCJjbGljayIsIi4iK00sZnVuY3Rpb24obil7aWYobi5hbHRL ZXl8fG4ubWV0YUtleXx8bi5zaGlmdEtleSlyZXR1cm47ZS50b2dnbGVFeHBhbmRv KGIuYW5jZXN0b3IoIi4iK0wsdGhpcyx0KSksZy5zdG9wKG4pfSksZy5kZWxlZ2F0 ZSh0LCJjbGljayIsIkEiLGZ1bmN0aW9uKGUpe2cuc3RvcFByb3BhZ2F0aW9uKGUp fSksZy5kZWxlZ2F0ZSh0LCJjbGljayIsIi53aXRoLWV4cGFuc2lvbiIsZnVuY3Rp b24odCl7ZS50b2dnbGVFeHBhbmRvKHRoaXMpLGcuc3RvcCh0KX0pLGcuZGVsZWdh dGUodCwiY2xpY2siLCIubG9hZC1tb3JlIixmdW5jdGlvbigpe2UubG9hZE1vcmUo KX0pLGcuZGVsZWdhdGUodCwiY2xpY2siLCIuIit4LGZ1bmN0aW9uKCl7ZS5zY3Jv bGxUb1RvcCgpLGUuaGlkZU5ld1R3ZWV0Tm90aWZpZXIoITApfSl9LHNjcm9sbFRv VG9wOmZ1bmN0aW9uKCl7dmFyIGU9Yi5vbmUoQyx0aGlzLmVsZW1lbnQsIkRJViIp O2Uuc2Nyb2xsVG9wPTAsZS5mb2N1cygpfSx1cGRhdGU6ZnVuY3Rpb24oKXt2YXIg ZT10aGlzLHQ9Yi5vbmUoayx0aGlzLmVsZW1lbnQpLG49dCYmdC5jaGlsZHJlblsw XSxyPW4mJm4uZ2V0QXR0cmlidXRlKCJkYXRhLXR3ZWV0LWlkIik7dGhpcy51cGRh dGVUaW1lU3RhbXBzKCksdGhpcy5yZXF1ZXN0VHdlZXRzKHIsITAsZnVuY3Rpb24o dCl7dC5jaGlsZE5vZGVzLmxlbmd0aD4wJiZlLmluc2VydE5ld1R3ZWV0cyh0KX0p fSxsb2FkTW9yZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1iLmFsbChMLHRoaXMu ZWxlbWVudCwiTEkiKS5wb3AoKSxuPXQmJnQuZ2V0QXR0cmlidXRlKCJkYXRhLXR3 ZWV0LWlkIik7dGhpcy5yZXF1ZXN0VHdlZXRzKG4sITEsZnVuY3Rpb24odCl7dmFy IHI9Yi5vbmUoUCxlLmVsZW1lbnQsIlAiKSxpPXQuY2hpbGROb2Rlc1swXTtyLnN0 eWxlLmNzc1RleHQ9IiIsaSYmaS5nZXRBdHRyaWJ1dGUoImRhdGEtdHdlZXQtaWQi KT09biYmdC5yZW1vdmVDaGlsZChpKTtpZih0LmNoaWxkTm9kZXMubGVuZ3RoPjAp e2UuYXBwZW5kVHdlZXRzKHQpO3JldHVybn15LmFkZChlLmVsZW1lbnQsIm5vLW1v cmUiKSxyLmZvY3VzKCl9KX0sZm9yY2VMb2FkOmZ1bmN0aW9uKCl7dmFyIGU9dGhp cyx0PSEhYi5hbGwoayx0aGlzLmVsZW1lbnQsIk9MIikubGVuZ3RoO3RoaXMucmVx dWVzdFR3ZWV0cygxLCEwLGZ1bmN0aW9uKG4pe24uY2hpbGROb2Rlcy5sZW5ndGgm JihlW3Q/Imluc2VydE5ld1R3ZWV0cyI6ImFwcGVuZFR3ZWV0cyJdKG4pLHkuYWRk KGUuZWxlbWVudCwiaGFzLXR3ZWV0cyIpKX0pfSxzY2hlZHVsZVBvbGxpbmc6ZnVu Y3Rpb24oZSl7dmFyIHQ9dGhpcztpZih0aGlzLnBvbGxJbnRlcnZhbD09PW51bGwp cmV0dXJuO2U9dHd0dHIud2lkZ2V0cy5wb2xsfHxlfHx0aGlzLnBvbGxJbnRlcnZh bHx8MWU0LGU+LTEmJndpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy5p c1VwZGF0aW5nfHx0LnVwZGF0ZSgpLHQuc2NoZWR1bGVQb2xsaW5nKCl9LGUpfSx1 cGRhdGVDdXJzb3JzOmZ1bmN0aW9uKGUsdCl7KHR8fHt9KS5pbml0aWFsPyh0aGlz LmN1cnNvcnMubWF4UG9zaXRpb249ZS5tYXhQb3NpdGlvbix0aGlzLmN1cnNvcnMu bWluUG9zaXRpb249ZS5taW5Qb3NpdGlvbik6KHR8fHt9KS5uZXdlcj90aGlzLmN1 cnNvcnMubWF4UG9zaXRpb249ZS5tYXhQb3NpdGlvbnx8dGhpcy5jdXJzb3JzLm1h eFBvc2l0aW9uOnRoaXMuY3Vyc29ycy5taW5Qb3NpdGlvbj1lLm1pblBvc2l0aW9u fHx0aGlzLmN1cnNvcnMubWluUG9zaXRpb259LHJlcXVlc3RUd2VldHM6ZnVuY3Rp b24oZSx0LHIpe3ZhciBpPXRoaXMscz17aWQ6dGhpcy53aWRnZXRJZCxpbnN0YW5j ZUlkOnRoaXMuaW5zdGFuY2VJZCxzY3JlZW5OYW1lOnRoaXMud2lkZ2V0U2NyZWVu TmFtZSx1c2VySWQ6dGhpcy53aWRnZXRVc2VySWQsd2l0aFJlcGxpZXM6dGhpcy53 aWRnZXRTaG93UmVwbGllcyxkbnQ6dGhpcy5kbnQsbGFuZzp0aGlzLmxhbmd9O3Qm JnRoaXMuY3Vyc29ycy5tYXhQb3NpdGlvbj9zLm1pblBvc2l0aW9uPXRoaXMuY3Vy c29ycy5tYXhQb3NpdGlvbjohdCYmdGhpcy5jdXJzb3JzLm1pblBvc2l0aW9uP3Mu bWF4UG9zaXRpb249dGhpcy5jdXJzb3JzLm1pblBvc2l0aW9uOnQ/cy5zaW5jZUlk PWU6cy5tYXhJZD1lLHMuY29tcGxldGU9ZnVuY3Rpb24oKXt0aGlzLmlzVXBkYXRp bmc9ITF9LHMuZXJyb3I9ZnVuY3Rpb24oZSl7aWYoZSYmZS5oZWFkZXJzKXtpZihl LmhlYWRlcnMuc3RhdHVzPT0iNDA0Iil7aS5wb2xsSW50ZXJ2YWw9bnVsbDtyZXR1 cm59aWYoZS5oZWFkZXJzLnN0YXR1cz09IjUwMyIpe2kucG9sbEludGVydmFsKj0x LjU7cmV0dXJufX19LHMuc3VjY2Vzcz1mdW5jdGlvbihlKXt2YXIgcz1pLnNhbmRi b3guY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLG89aS5zYW5kYm94LmNyZWF0ZUVs ZW1lbnQoImRpdiIpLHUsZj1bXSxsLGM7aS51cGRhdGVDdXJzb3JzKGUuaGVhZGVy cyx7bmV3ZXI6dH0pLGUmJmUuaGVhZGVycyYmZS5oZWFkZXJzLnhQb2xsaW5nJiYv XGQrLy50ZXN0KGUuaGVhZGVycy54UG9sbGluZykmJihpLnBvbGxJbnRlcnZhbD1l LmhlYWRlcnMueFBvbGxpbmcqMWUzKTtpZihlJiZlLmJvZHkhPT11bmRlZmluZWQp e28uaW5uZXJIVE1MPWUuYm9keTtpZihvLmNoaWxkcmVuWzBdJiZvLmNoaWxkcmVu WzBdLnRhZ05hbWUhPSJMSSIpcmV0dXJuO2w9aS5nZXRUd2VldERldGFpbHMobyk7 Zm9yKGMgaW4gbClsLmhhc093blByb3BlcnR5KGMpJiZmLnB1c2goYyk7Zi5sZW5n dGgmJih1PWkuYmFzZVNjcmliZURhdGEoKSx1Lml0ZW1faWRzPWYsdS5pdGVtX2Rl dGFpbHM9bCx1LmV2ZW50X2luaXRpYXRvcj10P0UuQ0xJRU5UX1NJREVfQVBQOkUu Q0xJRU5UX1NJREVfVVNFUix0aGlzLnRpbWVsaW5lVHlwZSYmYS5lbnF1ZXVlKHtw YWdlOnRoaXMudGltZWxpbmVUeXBlKyJfdGltZWxpbmUiLGNvbXBvbmVudDoidGlt ZWxpbmUiLGVsZW1lbnQ6ImluaXRpYWwiLGFjdGlvbjpmLmxlbmd0aD8icmVzdWx0 cyI6Im5vX3Jlc3VsdHMifSx1LCEwLHRoaXMuZG50KSxhLmVucXVldWUoe3BhZ2U6 InRpbWVsaW5lIixjb21wb25lbnQ6InRpbWVsaW5lIixlbGVtZW50OnQ/Im5ld2Vy Ijoib2xkZXIiLGFjdGlvbjoicmVzdWx0cyJ9LHUsITAsaS5kbnQpLGEuZmx1c2go KSksbi5yZXRpbml6ZShvKSxpLmNvbnN0cmFpbk1lZGlhKG8pO3doaWxlKG8uY2hp bGRyZW5bMF0pcy5hcHBlbmRDaGlsZChvLmNoaWxkcmVuWzBdKTtyKHMpfX0sdS50 aW1lbGluZVBvbGwobS5hdWcocyx0aGlzLm92ZXJyaWRlKSl9LGluc2VydE5ld1R3 ZWV0czpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49Yi5vbmUoQyx0aGlzLmVsZW1l bnQsIkRJViIpLHI9Yi5vbmUoayxuLCJPTCIpLGk9ci5vZmZzZXRIZWlnaHQsbzty Lmluc2VydEJlZm9yZShlLHIuZmlyc3RDaGlsZCksbz1yLm9mZnNldEhlaWdodC1p O2lmKG4uc2Nyb2xsVG9wPjQwfHx0aGlzLm1vdXNlSXNPdmVyKCkpe24uc2Nyb2xs VG9wPW4uc2Nyb2xsVG9wK28sdGhpcy51cGRhdGVUaW1lU3RhbXBzKCksdGhpcy5z aG93TmV3VHdlZXROb3RpZmllcigpO3JldHVybn15LnJlbW92ZSh0aGlzLmVsZW1l bnQsSCksci5zdHlsZS5jc3NUZXh0PSJtYXJnaW4tdG9wOiAtIitvKyJweCIsd2lu ZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLnNjcm9sbFRvcD0wLHkuYWRkKHQu ZWxlbWVudCxIKSxjLmNzc1RyYW5zaXRpb25zKCk/ci5zdHlsZS5jc3NUZXh0PSIi OnMuYW5pbWF0ZShmdW5jdGlvbihlKXtlPG8/ci5zdHlsZS5jc3NUZXh0PSJtYXJn aW4tdG9wOiAtIisoby1lKSsicHgiOnIuc3R5bGUuY3NzVGV4dD0iIn0sbyw1MDAs cy5lYXNlT3V0KX0sNTAwKSx0aGlzLnVwZGF0ZVRpbWVTdGFtcHMoKSx0aGlzLnRp bWVsaW5lVHlwZSE9ImN1c3RvbSImJnRoaXMuZ2NUd2VldHMoNTApfSxhcHBlbmRU d2VldHM6ZnVuY3Rpb24oZSl7dmFyIHQ9Yi5vbmUoQyx0aGlzLmVsZW1lbnQsIkRJ ViIpLG49Yi5vbmUoayx0LCJPTCIpO24uYXBwZW5kQ2hpbGQoZSksdGhpcy51cGRh dGVUaW1lU3RhbXBzKCl9LGdjVHdlZXRzOmZ1bmN0aW9uKGUpe3ZhciB0PWIub25l KGssdGhpcy5lbGVtZW50LCJPTCIpLG49dC5jaGlsZHJlbi5sZW5ndGgscjtlPWV8 fDUwO2Zvcig7bj5lJiYocj10LmNoaWxkcmVuW24tMV0pO24tLSl0LnJlbW92ZUNo aWxkKHIpfSxzaG93TmV3VHdlZXROb3RpZmllcjpmdW5jdGlvbigpe3ZhciBlPXRo aXMsdD1iLm9uZSh4LHRoaXMuZWxlbWVudCwiRElWIiksbj10LmNoaWxkcmVuWzBd O3Quc3R5bGUuY3NzVGV4dD0iIix0LnJlbW92ZUNoaWxkKG4pLHQuYXBwZW5kQ2hp bGQobikseS5hZGQodGhpcy5lbGVtZW50LGopLHdpbmRvdy5zZXRUaW1lb3V0KGZ1 bmN0aW9uKCl7eS5hZGQoZS5lbGVtZW50LEIpfSwxMCksdGhpcy5uZXdOb3RpY2VE aXNwbGF5VGltZT0rKG5ldyBEYXRlKSx3aW5kb3cuc2V0VGltZW91dChmdW5jdGlv bigpe2UuaGlkZU5ld1R3ZWV0Tm90aWZpZXIoKX0sNWUzKX0saGlkZU5ld1R3ZWV0 Tm90aWZpZXI6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztpZighZSYmdGhpcy5tb3Vz ZU92ZXJOb3RpZmllcilyZXR1cm47eS5yZW1vdmUodGhpcy5lbGVtZW50LEIpLHdp bmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7eS5yZW1vdmUodC5lbGVtZW50LGop fSw1MDApfSxhdWdtZW50V2lkZ2V0czpmdW5jdGlvbihlKXt2YXIgdD1iLm9uZShE LGUsIkEiKTtpZighdClyZXR1cm47dC5zZXRBdHRyaWJ1dGUoImRhdGEtcmVsYXRl ZCIsdGhpcy5yZWxhdGVkKSx0LnNldEF0dHJpYnV0ZSgiZGF0YS1wYXJ0bmVyIix0 aGlzLnBhcnRuZXIpLHQuc2V0QXR0cmlidXRlKCJkYXRhLWRudCIsdGhpcy5kbnQp LHQuc2V0QXR0cmlidXRlKCJkYXRhLXNlYXJjaC1xdWVyeSIsdGhpcy5zZWFyY2hR dWVyeSksdC5zZXRBdHRyaWJ1dGUoImRhdGEtcHJvZmlsZS1pZCIsdGhpcy5wcm9m aWxlSWQpLHRoaXMud2lkdGg8MjUwJiZ0LnNldEF0dHJpYnV0ZSgiZGF0YS1zaG93 LXNjcmVlbi1uYW1lIiwiZmFsc2UiKSx0d3R0ci53aWRnZXRzLmxvYWQodC5wYXJl bnROb2RlKX0sZGlzY2FyZFN0YXRpY092ZXJmbG93OmZ1bmN0aW9uKGUpe3ZhciB0 PWIub25lKGssZSwiT0wiKSxuO2lmKHRoaXMuc3RhdGljVGltZWxpbmUpe3RoaXMu aGVpZ2h0PTA7d2hpbGUobj10LmNoaWxkcmVuW3RoaXMudHdlZXRMaW1pdF0pdC5y ZW1vdmVDaGlsZChuKX19LGhpZGVTdHJlYW1TY3JvbGxCYXI6ZnVuY3Rpb24oKXt2 YXIgZT1iLm9uZShDLHRoaXMuZWxlbWVudCwiRElWIiksdD1iLm9uZShrLHRoaXMu ZWxlbWVudCwiT0wiKSxuO2Uuc3R5bGUud2lkdGg9IiIsbj10aGlzLmVsZW1lbnQu b2Zmc2V0V2lkdGgtdC5vZmZzZXRXaWR0aCxuPjAmJihlLnN0eWxlLndpZHRoPXRo aXMuZWxlbWVudC5vZmZzZXRXaWR0aCtuKyJweCIpfSxyZWFkVHJhbnNsYXRpb25z OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5lbGVtZW50LHQ9ImRhdGEtZHQtIjt0aGlz LmRhdGV0aW1lPW5ldyByKG0uY29tcGFjdCh7cGhyYXNlczp7bm93OmUuZ2V0QXR0 cmlidXRlKHQrIm5vdyIpLHM6ZS5nZXRBdHRyaWJ1dGUodCsicyIpLG06ZS5nZXRB dHRyaWJ1dGUodCsibSIpLGg6ZS5nZXRBdHRyaWJ1dGUodCsiaCIpLHNlY29uZDpl LmdldEF0dHJpYnV0ZSh0KyJzZWNvbmQiKSxzZWNvbmRzOmUuZ2V0QXR0cmlidXRl KHQrInNlY29uZHMiKSxtaW51dGU6ZS5nZXRBdHRyaWJ1dGUodCsibWludXRlIiks bWludXRlczplLmdldEF0dHJpYnV0ZSh0KyJtaW51dGVzIiksaG91cjplLmdldEF0 dHJpYnV0ZSh0KyJob3VyIiksaG91cnM6ZS5nZXRBdHRyaWJ1dGUodCsiaG91cnMi KX0sbW9udGhzOmUuZ2V0QXR0cmlidXRlKHQrIm1vbnRocyIpLnNwbGl0KCJ8Iiks Zm9ybWF0czp7YWJicjplLmdldEF0dHJpYnV0ZSh0KyJhYmJyIiksc2hvcnRkYXRl OmUuZ2V0QXR0cmlidXRlKHQrInNob3J0IiksbG9uZ2RhdGU6ZS5nZXRBdHRyaWJ1 dGUodCsibG9uZyIpfX0pKX0sdXBkYXRlVGltZVN0YW1wczpmdW5jdGlvbigpe3Zh ciBlPWIuYWxsKF8sdGhpcy5lbGVtZW50LCJBIiksdCxuLHI9MCxpLHM7Zm9yKDt0 PWVbcl07cisrKXtpPXQuZ2V0QXR0cmlidXRlKCJkYXRhLWRhdGV0aW1lIikscz1p JiZ0aGlzLmRhdGV0aW1lLnRpbWVBZ28oaSx0aGlzLmkxOG4pLG49dC5nZXRFbGVt ZW50c0J5VGFnTmFtZSgiVElNRSIpWzBdO2lmKCFzKWNvbnRpbnVlO2lmKG4mJm4u aW5uZXJIVE1MKXtuLmlubmVySFRNTD1zO2NvbnRpbnVlfXQuaW5uZXJIVE1MPXN9 fSxtb3VzZUlzT3ZlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1vdXNlT3Zlcn0s YWRkVXJsUGFyYW1zOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj17dHdfdzp0aGlz LndpZGdldElkLHJlbGF0ZWQ6dGhpcy5yZWxhdGVkLHBhcnRuZXI6dGhpcy5wYXJ0 bmVyLHF1ZXJ5OnRoaXMuc2VhcmNoUXVlcnkscHJvZmlsZV9pZDp0aGlzLnByb2Zp bGVJZCxvcmlnaW5hbF9yZWZlcmVyOm8udXJsKCksdHdfcDoiZW1iZWRkZWR0aW1l bGluZSJ9O3JldHVybiB0aGlzLmFkZFVybFBhcmFtcz1mKG4sZnVuY3Rpb24oZSl7 dmFyIG49Yi5hbmNlc3RvcigiLiIrTCxlLHQuZWxlbWVudCk7cmV0dXJuIG4mJnt0 d19pOm4uZ2V0QXR0cmlidXRlKCJkYXRhLXR3ZWV0LWlkIil9fSksdGhpcy5hZGRV cmxQYXJhbXMoZSl9LHNob3dOU0ZXOmZ1bmN0aW9uKGUpe3ZhciB0PWIub25lKCJu c2Z3IixlLCJESVYiKSxyLGkscz0wLG8sdSxhLGY7aWYoIXQpcmV0dXJuO2k9bi5z Y2FsZURpbWVuc2lvbnModC5nZXRBdHRyaWJ1dGUoImRhdGEtd2lkdGgiKSx0Lmdl dEF0dHJpYnV0ZSgiZGF0YS1oZWlnaHQiKSx0aGlzLmNvbnRlbnRXaWR0aCgpLHQu Z2V0QXR0cmlidXRlKCJkYXRhLWhlaWdodCIpKSxyPSEhKHU9dC5nZXRBdHRyaWJ1 dGUoImRhdGEtcGxheWVyIikpLHI/YT10aGlzLnNhbmRib3guY3JlYXRlRWxlbWVu dCgiaWZyYW1lIik6KGE9dGhpcy5zYW5kYm94LmNyZWF0ZUVsZW1lbnQoImltZyIp LHU9dC5nZXRBdHRyaWJ1dGUoYy5yZXRpbmEoKT8iZGF0YS1pbWFnZS0yeCI6ImRh dGEtaW1hZ2UiKSxhLmFsdD10LmdldEF0dHJpYnV0ZSgiZGF0YS1hbHQiKSxmPXRo aXMuc2FuZGJveC5jcmVhdGVFbGVtZW50KCJhIiksZi5ocmVmPXQuZ2V0QXR0cmli dXRlKCJkYXRhLWhyZWYiKSxmLmFwcGVuZENoaWxkKGEpKSxhLnRpdGxlPXQuZ2V0 QXR0cmlidXRlKCJkYXRhLXRpdGxlIiksYS5zcmM9dSxhLndpZHRoPWkud2lkdGgs YS5oZWlnaHQ9aS5oZWlnaHQsbz1iLmFuY2VzdG9yKCIuIitPLHQsZSkscz1pLmhl aWdodC10Lm9mZnNldEhlaWdodCx0LnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHI/ YTpmLHQpLG8uc3R5bGUuY3NzVGV4dD0iaGVpZ2h0OiIrKG8ub2Zmc2V0SGVpZ2h0 K3MpKyJweCJ9LHRvZ2dsZUV4cGFuZG86ZnVuY3Rpb24oZSl7dmFyIHI9Yi5vbmUo TyxlLCJESVYiKSxpPXImJnIuY2hpbGRyZW5bMF0scz1pJiZpLmdldEF0dHJpYnV0 ZSgiZGF0YS1leHBhbmRlZC1tZWRpYSIpLG8sdT0wLGE9Yi5vbmUoTSxlLCJBIiks Zj1hJiZhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJCIilbMF0sbD1mJiYoZi5pbm5l clRleHR8fGYudGV4dENvbnRlbnQpLGM7aWYoIWYpcmV0dXJuO3RoaXMubGF5b3V0 KGZ1bmN0aW9uKCl7Zi5pbm5lckhUTUw9YS5nZXRBdHRyaWJ1dGUoImRhdGEtdG9n Z2xlZC10ZXh0IiksYS5zZXRBdHRyaWJ1dGUoImRhdGEtdG9nZ2xlZC10ZXh0Iixs KX0pO2lmKHkucHJlc2VudChlLEEpKXt0aGlzLmxheW91dChmdW5jdGlvbigpe3ku cmVtb3ZlKGUsQSl9KTtpZighcil7dC5kb0xheW91dCgpO3JldHVybn10aGlzLmxh eW91dChmdW5jdGlvbigpe3Iuc3R5bGUuY3NzVGV4dD0iIixpLmlubmVySFRNTD0i In0pLHQuZG9MYXlvdXQoKTtyZXR1cm59cyYmKG89dGhpcy5zYW5kYm94LmNyZWF0 ZUVsZW1lbnQoIkRJViIpLG8uaW5uZXJIVE1MPXMsbi5yZXRpbml6ZShvKSx1PXRo aXMuY29uc3RyYWluTWVkaWEobyksdGhpcy5sYXlvdXQoZnVuY3Rpb24oKXtpLmFw cGVuZENoaWxkKG8pfSkpLHImJnRoaXMubGF5b3V0KGZ1bmN0aW9uKCl7Yz1NYXRo Lm1heChpLm9mZnNldEhlaWdodCx1KSxyLnN0eWxlLmNzc1RleHQ9ImhlaWdodDoi K2MrInB4In0pLHRoaXMubGF5b3V0KGZ1bmN0aW9uKCl7eS5hZGQoZSxBKX0pLHQu ZG9MYXlvdXQoKX0scmVjYWxjdWxhdGVTdHJlYW1IZWlnaHQ6ZnVuY3Rpb24oZSl7 dmFyIHQ9Yi5vbmUoVCx0aGlzLmVsZW1lbnQsIkRJViIpLG49Yi5vbmUoTix0aGlz LmVsZW1lbnQsIkRJViIpLHI9Yi5vbmUoQyx0aGlzLmVsZW1lbnQsIkRJViIpO3Ro aXMubGF5b3V0KG0uYmluZChmdW5jdGlvbigpe3ZhciBpPXQub2Zmc2V0SGVpZ2h0 KyhuP24ub2Zmc2V0SGVpZ2h0OjApLHM9ZXx8dGhpcy5zYW5kYm94LmhlaWdodCgp O3Iuc3R5bGUuY3NzVGV4dD0iaGVpZ2h0OiIrKHMtaS0yKSsicHgiLHRoaXMubm9z Y3JvbGxiYXImJnRoaXMuaGlkZVN0cmVhbVNjcm9sbEJhcigpfSx0aGlzKSl9LGhh bmRsZVJlc2l6ZTpmdW5jdGlvbihlLG4pe3ZhciByPU1hdGgubWluKHRoaXMuZGlt ZW5zaW9ucy5ERUZBVUxUX1dJRFRILE1hdGgubWF4KHRoaXMuZGltZW5zaW9ucy5N SU5fV0lEVEgsTWF0aC5taW4odGhpcy5wcmVkZWZpbmVkV2lkdGh8fHRoaXMuZGlt ZW5zaW9ucy5ERUZBVUxUX1dJRFRILGUpKSk7aWYocj09dGhpcy53aWR0aCYmbj09 dGhpcy5oZWlnaHQpcmV0dXJuO3RoaXMud2lkdGg9cix0aGlzLmhlaWdodD1uLHRo aXMuc2V0TmFycm93KCksdGhpcy5jb25zdHJhaW5NZWRpYSh0aGlzLmVsZW1lbnQs dGhpcy5jb250ZW50V2lkdGgocikpLHRoaXMuc3RhdGljVGltZWxpbmU/dGhpcy5s YXlvdXQobS5iaW5kKGZ1bmN0aW9uKCl7dGhpcy5oZWlnaHQ9dGhpcy5lbGVtZW50 Lm9mZnNldEhlaWdodCx0aGlzLnNhbmRib3guaGVpZ2h0KHRoaXMuaGVpZ2h0KX0s dGhpcykpOnRoaXMucmVjYWxjdWxhdGVTdHJlYW1IZWlnaHQobiksdC5kb0xheW91 dEFzeW5jKCl9fSksZShJKX0pfSk7CnByb3ZpZGUoInRmdy93aWRnZXQvZW1iZWQi LGZ1bmN0aW9uKGUpe3VzaW5nKCJ0Zncvd2lkZ2V0L2Jhc2UiLCJ0Zncvd2lkZ2V0 L3N5bmRpY2F0ZWRiYXNlIiwidXRpbC9kYXRldGltZSIsInRmdy91dGlsL3BhcmFt cyIsImRvbS9jbGFzc25hbWUiLCJkb20vZ2V0IiwidXRpbC9lbnYiLCJ1dGlsL3By b21pc2UiLCJ1dGlsL3V0aWwiLCJ1dGlsL3Rocm90dGxlIiwidXRpbC90d2l0dGVy IiwidGZ3L3V0aWwvYXJ0aWNsZSIsInRmdy91dGlsL2RhdGEiLCJ0ZncvdXRpbC90 cmFja2luZyIsZnVuY3Rpb24odCxuLHIsaSxzLG8sdSxhLGYsbCxjLGgscCxkKXtm dW5jdGlvbiB3KGUsdCxuLHIpe3ZhciBpPW8ub25lKCJzdWJqZWN0IixlLCJCTE9D S1FVT1RFIikscz1vLm9uZSgicmVwbHkiLGUsIkJMT0NLUVVPVEUiKSx1PWkmJmku Z2V0QXR0cmlidXRlKCJkYXRhLXR3ZWV0LWlkIiksYT1zJiZzLmdldEF0dHJpYnV0 ZSgiZGF0YS10d2VldC1pZCIpLGw9e30sYz17fTtpZighdSlyZXR1cm47bFt1XT17 aXRlbV90eXBlOjB9LGQuZW5xdWV1ZSh7cGFnZToidHdlZXQiLHNlY3Rpb246InN1 YmplY3QiLGNvbXBvbmVudDoidHdlZXQiLGFjdGlvbjoicmVzdWx0cyJ9LGYuYXVn KHt9LHQse2l0ZW1faWRzOlt1XSxpdGVtX2RldGFpbHM6bH0pLCEwLHIpO2lmKCFh KXJldHVybjtjW2FdPXtpdGVtX3R5cGU6MH0sZC5lbnF1ZXVlKHtwYWdlOiJ0d2Vl dCIsc2VjdGlvbjoiY29udmVyc2F0aW9uIixjb21wb25lbnQ6InR3ZWV0IixhY3Rp b246InJlc3VsdHMifSxmLmF1Zyh7fSx0LHtpdGVtX2lkczpbYV0saXRlbV9kZXRh aWxzOmMsYXNzb2NpYXRpb25zOns0Onthc3NvY2lhdGlvbl9pZDp1LGFzc29jaWF0 aW9uX3R5cGU6NH19fSksITAscil9ZnVuY3Rpb24gRShlLHQsbil7dmFyIHI9e307 aWYoIWUpcmV0dXJuO3JbZV09e2l0ZW1fdHlwZTowfSxkLmVucXVldWUoe3BhZ2U6 InR3ZWV0IixzZWN0aW9uOiJzdWJqZWN0Iixjb21wb25lbnQ6InJhd2VtYmVkY29k ZSIsYWN0aW9uOiJub19yZXN1bHRzIn0se2NsaWVudF92ZXJzaW9uOnYsd2lkZ2V0 X29yaWdpbjpoLnVybCgpLHdpZGdldF9mcmFtZTpoLmZyYW1lVXJsKCksbWVzc2Fn ZTp0LGl0ZW1faWRzOltlXSxpdGVtX2RldGFpbHM6cn0sITAsbil9ZnVuY3Rpb24g UyhlLHQsbixyKXtnW2VdPWdbZV18fFtdLGdbZV0ucHVzaCh7czpuLGY6cixsYW5n OnR9KX1mdW5jdGlvbiB4KCl7Yi5sZW5ndGgmJnR3dHRyLndpZGdldHMubG9hZChi KX1mdW5jdGlvbiBUKGUpe2lmKCFlKXJldHVybjt2YXIgdCxyLGk7bi5hcHBseSh0 aGlzLFtlXSksdD10aGlzLnBhcmFtcygpLHI9dGhpcy5zcmNFbCYmdGhpcy5zcmNF bC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiQSIpLGk9ciYmcltyLmxlbmd0aC0xXSx0 aGlzLmhpZGVUaHJlYWQ9KHQuY29udmVyc2F0aW9ufHx0aGlzLmRhdGFBdHRyKCJj b252ZXJzYXRpb24iKSk9PSJub25lInx8fmYuaW5kZXhPZih0aGlzLmNsYXNzQXR0 ciwidHctaGlkZS10aHJlYWQiKSx0aGlzLmhpZGVDYXJkPSh0LmNhcmRzfHx0aGlz LmRhdGFBdHRyKCJjYXJkcyIpKT09ImhpZGRlbiJ8fH5mLmluZGV4T2YodGhpcy5j bGFzc0F0dHIsInR3LWhpZGUtbWVkaWEiKTtpZigodC5hbGlnbnx8dGhpcy5hdHRy KCJhbGlnbiIpKT09ImxlZnQifHx+Zi5pbmRleE9mKHRoaXMuY2xhc3NBdHRyLCJ0 dy1hbGlnbi1sZWZ0IikpdGhpcy5hbGlnbj0ibGVmdCI7ZWxzZSBpZigodC5hbGln bnx8dGhpcy5hdHRyKCJhbGlnbiIpKT09InJpZ2h0Inx8fmYuaW5kZXhPZih0aGlz LmNsYXNzQXR0ciwidHctYWxpZ24tcmlnaHQiKSl0aGlzLmFsaWduPSJyaWdodCI7 ZWxzZSBpZigodC5hbGlnbnx8dGhpcy5hdHRyKCJhbGlnbiIpKT09ImNlbnRlciJ8 fH5mLmluZGV4T2YodGhpcy5jbGFzc0F0dHIsInR3LWFsaWduLWNlbnRlciIpKXRo aXMuYWxpZ249ImNlbnRlciIsdGhpcy5jb250YWluZXJXaWR0aD50aGlzLmRpbWVu c2lvbnMuTUlOX1dJRFRIKigxLy43KSYmdGhpcy53aWR0aD50aGlzLmNvbnRhaW5l cldpZHRoKi43JiYodGhpcy53aWR0aD10aGlzLmNvbnRhaW5lcldpZHRoKi43KTt0 aGlzLm5hcnJvdz10Lm5hcnJvd3x8dGhpcy53aWR0aDw9dGhpcy5kaW1lbnNpb25z Lk5BUlJPV19XSURUSCx0aGlzLm5hcnJvdyYmdGhpcy5jbGFzc0F0dHIucHVzaCgi dmFyLW5hcnJvdyIpLHRoaXMudHdlZXRJZD10LnR3ZWV0SWR8fGkmJmMuc3RhdHVz KGkuaHJlZil9dmFyIHY9IjIuMCIsbT0idHdlZXRlbWJlZCIsZz17fSx5PVtdLGI9 W107VC5wcm90b3R5cGU9bmV3IG4sZi5hdWcoVC5wcm90b3R5cGUse3JlbmRlcmVk Q2xhc3NOYW1lczoidHdpdHRlci10d2VldCB0d2l0dGVyLXR3ZWV0LXJlbmRlcmVk IixkaW1lbnNpb25zOntERUZBVUxUX0hFSUdIVDoiMCIsREVGQVVMVF9XSURUSDoi NTAwIixOQVJST1dfV0lEVEg6IjM1MCIsTUlOX1dJRFRIOiIyMjAiLE1JTl9IRUlH SFQ6IjAiLFdJREVfTUVESUFfUEFERElORzozMixOQVJST1dfTUVESUFfUEFERElO RzozMn0sY3JlYXRlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuc2FuZGJveC5jcmVh dGVFbGVtZW50KCJkaXYiKSxyLGk7dC5pbm5lckhUTUw9ZSxyPXQuY2hpbGRyZW5b MF18fCExO2lmKCFyKXJldHVybjtyZXR1cm4gdGhpcy50aGVtZT09ImRhcmsiJiZ0 aGlzLmNsYXNzQXR0ci5wdXNoKCJ0aG0tZGFyayIpLHRoaXMubGlua0NvbG9yJiZ0 aGlzLmFkZFNpdGVTdHlsZXMoKSxzLnByZXNlbnQociwibWVkaWEtZm9yd2FyZCIp JiYodGhpcy5mdWxsQmxlZWRQaG90bz0hMCksdGhpcy5hdWdtZW50V2lkZ2V0cyhy KSxuLnJldGluaXplKHIpLHIuaWQ9dGhpcy5pZCxyLmNsYXNzTmFtZSs9IiAiK3Ro aXMuY2xhc3NBdHRyLmpvaW4oIiAiKSxyLmxhbmc9dGhpcy5sYW5nLHRoaXMuc2Fu ZGJveC5zZXRUaXRsZShyLmdldEF0dHJpYnV0ZSgiZGF0YS1pZnJhbWUtdGl0bGUi KXx8IlR3ZWV0IiksdGhpcy5zYW5kYm94LmFwcGVuZENoaWxkKHIpLnRoZW4oZi5i aW5kKGZ1bmN0aW9uKCl7dGhpcy5yZW5kZXJSZXNvbHZlci5mdWxmaWxsKHRoaXMu c2FuZGJveCl9LHRoaXMpKSx0aGlzLnNhbmRib3guc3R5bGUoe2Nzc1RleHQ6IiIs ZGlzcGxheToiYmxvY2siLG1heFdpZHRoOiI5OSUiLG1pbldpZHRoOnRoaXMuZGlt ZW5zaW9ucy5NSU5fV0lEVEgrInB4IixwYWRkaW5nOiIwIixib3JkZXJSYWRpdXM6 IjVweCIsbWFyZ2luOiIxMHB4IDAiLGJvcmRlcjoiI2RkZCAxcHggc29saWQiLGJv cmRlclRvcENvbG9yOiIjZWVlIixib3JkZXJCb3R0b21Db2xvcjoiI2JiYiIsYm94 U2hhZG93OiIwIDFweCAzcHggcmdiYSgwLDAsMCwwLjE1KSIscG9zaXRpb246ImFi c29sdXRlIix2aXNpYmlsaXR5OiJoaWRkZW4ifSksaT10aGlzLmxheW91dChmLmJp bmQoZnVuY3Rpb24oKXt0aGlzLnByZWRlZmluZWRXaWR0aD10aGlzLndpZHRoLHRo aXMud2lkdGg9dGhpcy5zYW5kYm94LndpZHRoKHRoaXMud2lkdGgpLHRoaXMuY29s bGFwc2VSZWdpb25zKCl9LHRoaXMpLCJJbnNlcnQgU2FuZGJveCIpLGkudGhlbihm LmJpbmQoZnVuY3Rpb24oKXt0aGlzLmNvbnN0cmFpbk1lZGlhKHIsdGhpcy5jb250 ZW50V2lkdGgodGhpcy53aWR0aCkpLHRoaXMuc2V0TmFycm93KCkudGhlbihmLmJp bmQoZnVuY3Rpb24oKXt0aGlzLmxheW91dChmLmJpbmQoZnVuY3Rpb24oKXt0aGlz LmNvbXBsZXRlUmVzb2x2ZXIuZnVsZmlsbCh0aGlzLnNhbmRib3guZWxlbWVudCgp KX0sdGhpcykpfSx0aGlzKSl9LHRoaXMpKSx3KHIsdGhpcy5iYXNlU2NyaWJlRGF0 YSgpLHRoaXMucGFydG5lcix0aGlzLmRudCkscn0scmVuZGVyOmZ1bmN0aW9uKGUs bil7dmFyIHI9IiIsaT10aGlzLnR3ZWV0SWQ7cmV0dXJuIGk/KHRoaXMuaGlkZUNh cmQmJihyKz0iYyIpLHRoaXMuaGlkZVRocmVhZCYmKHIrPSJ0IiksciYmKGkrPSIt IityKSx0aGlzLnJlbmRlcmVkKCkudGhlbihmLmJpbmQoZnVuY3Rpb24oZSl7dGhp cy5zcmNFbCYmdGhpcy5zcmNFbC5wYXJlbnROb2RlJiZ0aGlzLmxheW91dChmLmJp bmQoZnVuY3Rpb24oKXt0aGlzLnNyY0VsJiZ0aGlzLnNyY0VsLnBhcmVudE5vZGUm JnRoaXMuc3JjRWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnNyY0VsKX0s dGhpcyksIlJlbW92ZSBFbWJlZCBDb2RlIiksdGhpcy5hbGlnbj09ImNlbnRlciI/ ZS5zdHlsZSh7bWFyZ2luOiI3cHggYXV0byIsY3NzRmxvYXQ6Im5vbmUifSk6dGhp cy5hbGlnbiYmKHRoaXMud2lkdGg9PXRoaXMuZGltZW5zaW9ucy5ERUZBVUxUX1dJ RFRIJiYodGhpcy5wcmVkZWZpbmVkV2lkdGg9dGhpcy53aWR0aD10aGlzLmRpbWVu c2lvbnMuTkFSUk9XX1dJRFRIKSxlLnN0eWxlKHtjc3NGbG9hdDp0aGlzLmFsaWdu fSkpLHRoaXMubGF5b3V0KGYuYmluZChmdW5jdGlvbigpe3RoaXMuaGVpZ2h0PXRo aXMuc2FuZGJveC5oZWlnaHQodGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodCl9LHRo aXMpKS50aGVuKGYuYmluZChmdW5jdGlvbigpe3JldHVybiB0LmRvTGF5b3V0QXN5 bmMoKSx0aGlzLmxheW91dChmLmJpbmQoZnVuY3Rpb24oKXt0aGlzLmhlaWdodD10 aGlzLnNhbmRib3guaGVpZ2h0KHRoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHQpfSx0 aGlzKSl9LHRoaXMpKS50aGVuKGYuYmluZChmdW5jdGlvbigpe2Uub25yZXNpemUo Zi5iaW5kKHRoaXMuaGFuZGxlUmVzaXplLHRoaXMpKX0sdGhpcykpLGUuc3R5bGUo e3Bvc2l0aW9uOiJzdGF0aWMiLHZpc2liaWxpdHk6InZpc2libGUifSksdC5kb0xh eW91dEFzeW5jKCl9LHRoaXMpKSxTKGksdGhpcy5sYW5nLGYuYmluZChmdW5jdGlv bihuKXt0aGlzLnJlYWR5KCkudGhlbihmLmJpbmQoZnVuY3Rpb24oKXt0aGlzLmVs ZW1lbnQ9dGhpcy5jcmVhdGUobiksdGhpcy5yZWFkVGltZXN0YW1wVHJhbnNsYXRp b25zKCksdGhpcy51cGRhdGVUaW1lU3RhbXBzKCksdGhpcy5iaW5kSW50ZW50SGFu ZGxlcnMoKSx0LmRvTGF5b3V0QXN5bmMoKX0sdGhpcykpfSx0aGlzKSxmLmJpbmQo ZnVuY3Rpb24oKXtFKHRoaXMudHdlZXRJZCx0aGlzLnBhcnRuZXIsdGhpcy5kbnQp LHRoaXMuY29tcGxldGVSZXNvbHZlci5mdWxmaWxsKHRoaXMuc3JjRWwpfSx0aGlz KSkseS5wdXNoKHRoaXMucmVuZGVyZWQoKSksbiYmdGhpcy5jb21wbGV0ZWQoKS50 aGVuKG4pLHRoaXMuY29tcGxldGVkKCkpOih0aGlzLmNvbXBsZXRlUmVzb2x2ZXIu ZnVsZmlsbCh0aGlzLnNyY0VsKSx0aGlzLmNvbXBsZXRlZCgpKX0sYXVnbWVudFdp ZGdldHM6ZnVuY3Rpb24oZSl7dmFyIHQ9by5vbmUoInR3aXR0ZXItZm9sbG93LWJ1 dHRvbiIsZSwiQSIpO2lmKCF0KXJldHVybjt0LnNldEF0dHJpYnV0ZSgiZGF0YS1y ZWxhdGVkIix0aGlzLnJlbGF0ZWQpLHQuc2V0QXR0cmlidXRlKCJkYXRhLXBhcnRu ZXIiLHRoaXMucGFydG5lciksdC5zZXRBdHRyaWJ1dGUoImRhdGEtZG50Iix0aGlz LmRudCksdC5zZXRBdHRyaWJ1dGUoImRhdGEtc2hvdy1zY3JlZW4tbmFtZSIsImZh bHNlIiksYi5wdXNoKHQucGFyZW50Tm9kZSl9LGFkZFVybFBhcmFtczpmdW5jdGlv bihlKXt2YXIgdD10aGlzLG49e3JlbGF0ZWQ6dGhpcy5yZWxhdGVkLHBhcnRuZXI6 dGhpcy5wYXJ0bmVyLG9yaWdpbmFsX3JlZmVyZXI6aC51cmwoKSx0d19wOm19O3Jl dHVybiB0aGlzLmFkZFVybFBhcmFtcz1pKG4sZnVuY3Rpb24oZSl7dmFyIG49by5h bmNlc3RvcigiLnR3ZWV0IixlLHQuZWxlbWVudCk7cmV0dXJue3R3X2k6bi5nZXRB dHRyaWJ1dGUoImRhdGEtdHdlZXQtaWQiKX19KSx0aGlzLmFkZFVybFBhcmFtcyhl KX0sYmFzZVNjcmliZURhdGE6ZnVuY3Rpb24oKXtyZXR1cm57Y2xpZW50X3ZlcnNp b246dix3aWRnZXRfb3JpZ2luOmgudXJsKCksd2lkZ2V0X2ZyYW1lOmguZnJhbWVV cmwoKSxtZXNzYWdlOnRoaXMucGFydG5lcn19LGhhbmRsZVJlc2l6ZTpmdW5jdGlv bihlKXt2YXIgbj1NYXRoLm1pbih0aGlzLmRpbWVuc2lvbnMuREVGQVVMVF9XSURU SCxNYXRoLm1heCh0aGlzLmRpbWVuc2lvbnMuTUlOX1dJRFRILE1hdGgubWluKHRo aXMucHJlZGVmaW5lZFdpZHRofHx0aGlzLmRpbWVuc2lvbnMuREVGQVVMVF9XSURU SCxlKSkpO2lmKG49PXRoaXMud2lkdGgpcmV0dXJuO3RoaXMud2lkdGg9bix0aGlz LnNldE5hcnJvdygpLHRoaXMuY29uc3RyYWluTWVkaWEodGhpcy5lbGVtZW50LHRo aXMuY29udGVudFdpZHRoKG4pKSx0aGlzLmNvbGxhcHNlUmVnaW9ucygpLHRoaXMu bGF5b3V0KGYuYmluZChmdW5jdGlvbigpe3RoaXMuaGVpZ2h0PXRoaXMuZWxlbWVu dC5vZmZzZXRIZWlnaHQsdGhpcy5zYW5kYm94LmhlaWdodCh0aGlzLmhlaWdodCl9 LHRoaXMpLCJFbWJlZCBSZXNpemUiKSx0LmRvTGF5b3V0QXN5bmMoKX0scmVhZFRp bWVzdGFtcFRyYW5zbGF0aW9uczpmdW5jdGlvbigpe3ZhciBlPXRoaXMuZWxlbWVu dCx0PSJkYXRhLWR0LSIsbj1lLmdldEF0dHJpYnV0ZSh0KyJtb250aHMiKXx8IiI7 dGhpcy5kYXRldGltZT1uZXcgcihmLmNvbXBhY3Qoe3BocmFzZXM6e0FNOmUuZ2V0 QXR0cmlidXRlKHQrImFtIiksUE06ZS5nZXRBdHRyaWJ1dGUodCsicG0iKX0sbW9u dGhzOm4uc3BsaXQoInwiKSxmb3JtYXRzOntmdWxsOmUuZ2V0QXR0cmlidXRlKHQr ImZ1bGwiKX19KSl9LHVwZGF0ZVRpbWVTdGFtcHM6ZnVuY3Rpb24oKXt2YXIgZT1v Lm9uZSgibG9uZy1wZXJtYWxpbmsiLHRoaXMuZWxlbWVudCwiQSIpLG49ZS5nZXRB dHRyaWJ1dGUoImRhdGEtZGF0ZXRpbWUiKSxyPW4mJnRoaXMuZGF0ZXRpbWUubG9j YWxUaW1lU3RhbXAobiksaT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJUSU1FIilb MF07aWYoIXIpcmV0dXJuO3RoaXMubGF5b3V0KGZ1bmN0aW9uKCl7aWYoaSYmaS5p bm5lckhUTUwpe2kuaW5uZXJIVE1MPXI7cmV0dXJufWUuaW5uZXJIVE1MPXJ9LCJV cGRhdGUgVGltZXN0YW1wIiksdC5kb0xheW91dEFzeW5jKCl9fSksVC5mZXRjaEFu ZFJlbmRlcj1mdW5jdGlvbigpe3ZhciBlPWcsbj1bXSxyLGk7Zz17fTtpZihlLmtl eXMpbj1lLmtleXMoKTtlbHNlIGZvcihyIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShy KSYmbi5wdXNoKHIpO2lmKCFuLmxlbmd0aClyZXR1cm47ZC5pbml0UG9zdExvZ2dp bmcoKSxpPWVbblswXV1bMF0ubGFuZyxwLnR3ZWV0cyh7aWRzOm4uc29ydCgpLGxh bmc6aSxjb21wbGV0ZTpmdW5jdGlvbihuKXtmLmZvckluKG4sZnVuY3Rpb24odCxu KXt2YXIgcj1lW3RdO2YuZm9yRWFjaChyLGZ1bmN0aW9uKGUpe2UucyYmZS5zLmNh bGwodGhpcyxuKX0pLGRlbGV0ZSBlW3RdfSksdC5kb0xheW91dCgpLGYuZm9ySW4o ZSxmdW5jdGlvbihlLHQpe2YuZm9yRWFjaCh0LGZ1bmN0aW9uKHQpe3QuZiYmdC5m LmNhbGwodGhpcyxlKX0pfSksdC5kb0xheW91dCgpfX0pLGEuZXZlcnkuYXBwbHko bnVsbCx5KS50aGVuKGZ1bmN0aW9uKCl7eCgpLGQuZmx1c2goKX0pfSx0LmFmdGVy TG9hZChULmZldGNoQW5kUmVuZGVyKSxlKFQpfSl9KTsKcHJvdmlkZSgiZG9tL3Rl eHRzaXplIixmdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUsdCxuKXt2YXIgcj1bXSxp PTAscztmb3IoO3M9bltpXTtpKyspci5wdXNoKHNbMF0pLHIucHVzaChzWzFdKTty ZXR1cm4gZSt0K3Iuam9pbigiOiIpfWZ1bmN0aW9uIHIoZSl7dmFyIHQ9ZXx8IiI7 cmV0dXJuIHQucmVwbGFjZSgvKFtBLVpdKS9nLGZ1bmN0aW9uKGUpe3JldHVybiIt IitlLnRvTG93ZXJDYXNlKCl9KX12YXIgdD17fTtlKGZ1bmN0aW9uKGUsaSxzKXt2 YXIgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdT17fSxhPSIiLGYs bD0wLGM9MCxoPVtdO3M9c3x8W10saT1pfHwiIixhPW4oZSxpLHMpO2lmKHRbYV0p cmV0dXJuIHRbYV07by5jbGFzc05hbWU9aSsiIHR3aXR0ZXItbWVhc3VyZW1lbnQi O3RyeXtmb3IoO2Y9c1tsXTtsKyspby5zdHlsZVtmWzBdXT1mWzFdfWNhdGNoKHAp e2Zvcig7Zj1zW2NdO2MrKyloLnB1c2gocihmWzBdKSsiOiIrZlsxXSk7by5zZXRB dHRyaWJ1dGUoInN0eWxlIixoLmpvaW4oIjsiKSsiOyIpfXJldHVybiBvLmlubmVy SFRNTD1lLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobyksdS53aWR0aD1vLmNs aWVudFdpZHRofHxvLm9mZnNldFdpZHRoLHUuaGVpZ2h0PW8uY2xpZW50SGVpZ2h0 fHxvLm9mZnNldEhlaWdodCxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKG8pLGRl bGV0ZSBvLHRbYV09dX0pfSk7CnByb3ZpZGUoInRmdy93aWRnZXQvdHdlZXRiYXNl IixmdW5jdGlvbihlKXt1c2luZygidXRpbC91dGlsIiwidGZ3L3dpZGdldC9iYXNl IiwidXRpbC9xdWVyeXN0cmluZyIsInV0aWwvdHdpdHRlciIsZnVuY3Rpb24odCxu LHIsaSl7ZnVuY3Rpb24gcyhlKXtpZighZSlyZXR1cm47dmFyIHQ7bi5hcHBseSh0 aGlzLFtlXSksdD10aGlzLnBhcmFtcygpLHRoaXMudGV4dD10LnRleHR8fHRoaXMu ZGF0YUF0dHIoInRleHQiKSx0aGlzLnRleHQmJi9cKy8udGVzdCh0aGlzLnRleHQp JiYhLyAvLnRlc3QodGhpcy50ZXh0KSYmKHRoaXMudGV4dD10aGlzLnRleHQucmVw bGFjZSgvXCsvZywiICIpKSx0aGlzLmFsaWduPXQuYWxpZ258fHRoaXMuZGF0YUF0 dHIoImFsaWduIil8fCIiLHRoaXMudmlhPXQudmlhfHx0aGlzLmRhdGFBdHRyKCJ2 aWEiKSx0aGlzLnBsYWNlaWQ9dC5wbGFjZWlkfHx0aGlzLmRhdGFBdHRyKCJwbGFj ZWlkIiksdGhpcy5oYXNodGFncz10Lmhhc2h0YWdzfHx0aGlzLmRhdGFBdHRyKCJo YXNodGFncyIpLHRoaXMuc2NyZWVuX25hbWU9aS5zY3JlZW5OYW1lKHQuc2NyZWVu X25hbWV8fHQuc2NyZWVuTmFtZXx8dGhpcy5kYXRhQXR0cigiYnV0dG9uLXNjcmVl bi1uYW1lIikpLHRoaXMudXJsPXQudXJsfHx0aGlzLmRhdGFBdHRyKCJ1cmwiKX1z LnByb3RvdHlwZT1uZXcgbix0LmF1ZyhzLnByb3RvdHlwZSx7cGFyYW1ldGVyczpm dW5jdGlvbigpe3ZhciBlPXt0ZXh0OnRoaXMudGV4dCx1cmw6dGhpcy51cmwscmVs YXRlZDp0aGlzLnJlbGF0ZWQsbGFuZzp0aGlzLmxhbmcscGxhY2VpZDp0aGlzLnBs YWNlaWQsb3JpZ2luYWxfcmVmZXJlcjpsb2NhdGlvbi5ocmVmLGlkOnRoaXMuaWQs c2NyZWVuX25hbWU6dGhpcy5zY3JlZW5fbmFtZSxoYXNodGFnczp0aGlzLmhhc2h0 YWdzLHBhcnRuZXI6dGhpcy5wYXJ0bmVyLGRudDp0aGlzLmRudCxfOisobmV3IERh dGUpfTtyZXR1cm4gdC5jb21wYWN0KGUpLHIuZW5jb2RlKGUpfX0pLGUocyl9KX0p Owpwcm92aWRlKCJ0Zncvd2lkZ2V0L3R3ZWV0YnV0dG9uIixmdW5jdGlvbihlKXt1 c2luZygidGZ3L3dpZGdldC90d2VldGJhc2UiLCJ1dGlsL3V0aWwiLCJ1dGlsL3F1 ZXJ5c3RyaW5nIiwidXRpbC91cmkiLCJ1dGlsL3R3aXR0ZXIiLCJkb20vdGV4dHNp emUiLGZ1bmN0aW9uKHQsbixyLGkscyxvKXtmdW5jdGlvbiBsKGUpe3QuYXBwbHko dGhpcyxbZV0pO3ZhciByPXRoaXMucGFyYW1zKCksbz1yLmNvdW50fHx0aGlzLmRh dGFBdHRyKCJjb3VudCIpLGw9ci5zaXplfHx0aGlzLmRhdGFBdHRyKCJzaXplIiks Yz1pLmdldFNjcmVlbk5hbWVGcm9tUGFnZSgpO3RoaXMuY2xhc3NBdHRyLnB1c2go InR3aXR0ZXItdHdlZXQtYnV0dG9uIik7aWYoci50eXBlPT0iaGFzaHRhZyJ8fH5u LmluZGV4T2YodGhpcy5jbGFzc0F0dHIsInR3aXR0ZXItaGFzaHRhZy1idXR0b24i KSl0aGlzLnR5cGU9Imhhc2h0YWciLHRoaXMuY2xhc3NBdHRyLnB1c2goInR3aXR0 ZXItaGFzaHRhZy1idXR0b24iKTtlbHNlIGlmKHIudHlwZT09Im1lbnRpb24ifHx+ bi5pbmRleE9mKHRoaXMuY2xhc3NBdHRyLCJ0d2l0dGVyLW1lbnRpb24tYnV0dG9u IikpdGhpcy50eXBlPSJtZW50aW9uIix0aGlzLmNsYXNzQXR0ci5wdXNoKCJ0d2l0 dGVyLW1lbnRpb24tYnV0dG9uIik7dGhpcy5jb3VudHVybD1yLmNvdW50dXJsfHx0 aGlzLmRhdGFBdHRyKCJjb3VudHVybCIpLHRoaXMuc2VhcmNobGluaz1yLnNlYXJj aGxpbmt8fHRoaXMuZGF0YUF0dHIoInNlYXJjaGxpbmsiKSx0aGlzLmJ1dHRvbl9o YXNodGFnPXMuaGFzaFRhZyhyLmJ1dHRvbl9oYXNodGFnfHxyLmhhc2h0YWd8fHRo aXMuZGF0YUF0dHIoImJ1dHRvbi1oYXNodGFnIiksITEpLHRoaXMuc2l6ZT1sPT0i bGFyZ2UiPyJsIjoibSIsdGhpcy50eXBlPyh0aGlzLmNvdW50PSJub25lIixjJiYo dGhpcy5yZWxhdGVkPXRoaXMucmVsYXRlZD9jKyIsIit0aGlzLnJlbGF0ZWQ6Yykp Oih0aGlzLnRleHQ9dGhpcy50ZXh0fHx1LHRoaXMudXJsPXRoaXMudXJsfHxpLmdl dENhbm9uaWNhbFVSTCgpfHxhLHRoaXMuY291bnQ9fm4uaW5kZXhPZihmLG8pP286 Imhvcml6b250YWwiLHRoaXMuY291bnQ9dGhpcy5jb3VudD09InZlcnRpY2FsIiYm dGhpcy5zaXplPT0ibCI/Im5vbmUiOnRoaXMuY291bnQsdGhpcy52aWE9dGhpcy52 aWF8fGMpfXZhciB1PWRvY3VtZW50LnRpdGxlLGE9ZW5jb2RlVVJJKGxvY2F0aW9u LmhyZWYpLGY9WyJ2ZXJ0aWNhbCIsImhvcml6b250YWwiLCJub25lIl07bC5wcm90 b3R5cGU9bmV3IHQsbi5hdWcobC5wcm90b3R5cGUse3BhcmFtZXRlcnM6ZnVuY3Rp b24oKXt2YXIgZT17dGV4dDp0aGlzLnRleHQsdXJsOnRoaXMudXJsLHZpYTp0aGlz LnZpYSxyZWxhdGVkOnRoaXMucmVsYXRlZCxjb3VudDp0aGlzLmNvdW50LGxhbmc6 dGhpcy5sYW5nLGNvdW50dXJsOnRoaXMuY291bnR1cmwsc2VhcmNobGluazp0aGlz LnNlYXJjaGxpbmsscGxhY2VpZDp0aGlzLnBsYWNlaWQsb3JpZ2luYWxfcmVmZXJl cjpsb2NhdGlvbi5ocmVmLGlkOnRoaXMuaWQsc2l6ZTp0aGlzLnNpemUsdHlwZTp0 aGlzLnR5cGUsc2NyZWVuX25hbWU6dGhpcy5zY3JlZW5fbmFtZSxidXR0b25faGFz aHRhZzp0aGlzLmJ1dHRvbl9oYXNodGFnLGhhc2h0YWdzOnRoaXMuaGFzaHRhZ3Ms YWxpZ246dGhpcy5hbGlnbixwYXJ0bmVyOnRoaXMucGFydG5lcixkbnQ6dGhpcy5k bnQsXzorKG5ldyBEYXRlKX07cmV0dXJuIG4uY29tcGFjdChlKSxyLmVuY29kZShl KX0saGVpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY291bnQ9PSJ2ZXJ0aWNh bCI/NjI6dGhpcy5zaXplPT0ibSI/MjA6Mjh9LHdpZHRoOmZ1bmN0aW9uKCl7dmFy IGU9e3Zlcjo4LGNudDoxNCxidG46MjQseGxjbnQ6MTgseGxidG46Mzh9LHQ9dGhp cy5jb3VudD09InZlcnRpY2FsIixyPXRoaXMudHlwZT09Imhhc2h0YWciJiZ0aGlz LmJ1dHRvbl9oYXNodGFnPyJUd2VldCAle2hhc2h0YWd9Ijp0aGlzLnR5cGU9PSJt ZW50aW9uIiYmdGhpcy5zY3JlZW5fbmFtZT8iVHdlZXQgdG8gJXtuYW1lfSI6IlR3 ZWV0IixpPXRoaXMuXyhyLHtuYW1lOiJAIit0aGlzLnNjcmVlbl9uYW1lLGhhc2h0 YWc6IiMiK3RoaXMuYnV0dG9uX2hhc2h0YWd9KSxzPXRoaXMuXygiSyIpLHU9dGhp cy5fKCIxMDBLKyIpLGE9KHQ/Ijg4ODgiOiI4ODg4OCIpK3MsZj0wLGw9MCxjPTAs aD0wLHA9dGhpcy5zdHlsZXMuYmFzZSxkPXA7cmV0dXJufm4uaW5kZXhPZihbImph Iiwia28iXSx0aGlzLmxhbmcpP2ErPXRoaXMuXygiMTBrIHVuaXQiKTphPWEubGVu Z3RoPnUubGVuZ3RoP2E6dSx0PyhkPXAuY29uY2F0KHRoaXMuc3R5bGVzLnZidWJi bGUpLGg9ZS52ZXIsYz1lLmJ0bik6dGhpcy5zaXplPT0ibCI/KHA9ZD1wLmNvbmNh dCh0aGlzLnN0eWxlcy5sYXJnZSksYz1lLnhsYnRuLGg9ZS54bGNudCk6KGM9ZS5i dG4saD1lLmNudCksdGhpcy5jb3VudCE9Im5vbmUiJiYobD1vKGEsIiIsZCkud2lk dGgraCksZj1vKGksIiIscC5jb25jYXQodGhpcy5zdHlsZXMuYnV0dG9uKSkud2lk dGgrYyx0P2Y+bD9mOmw6dGhpcy5jYWxjdWxhdGVkV2lkdGg9ZitsfSxyZW5kZXI6 ZnVuY3Rpb24oZSx0KXt2YXIgcj10d3R0ci53aWRnZXRzLmNvbmZpZy5hc3NldFVy bCgpKyIvd2lkZ2V0cy90d2VldF9idXR0b24uMTM5NzE2NTA5OC5odG1sIyIrdGhp cy5wYXJhbWV0ZXJzKCksaTtyZXR1cm4gdGhpcy5jb3VudCYmdGhpcy5jbGFzc0F0 dHIucHVzaCgidHdpdHRlci1jb3VudC0iK3RoaXMuY291bnQpLGk9dGhpcy5jcmVh dGUocix0aGlzLmRpbWVuc2lvbnMoKSx7dGl0bGU6dGhpcy5fKCJUd2l0dGVyIFR3 ZWV0IEJ1dHRvbiIpfSkudGhlbihuLmJpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIHRo aXMuZWxlbWVudD1lfSx0aGlzKSksdCYmaS50aGVuKHQpLGl9fSksZShsKX0pfSk7 CnByb3ZpZGUoInRmdy93aWRnZXQvZm9sbG93IixmdW5jdGlvbihlKXt1c2luZygi dXRpbC91dGlsIiwidGZ3L3dpZGdldC9iYXNlIiwidXRpbC9xdWVyeXN0cmluZyIs InV0aWwvdXJpIiwidXRpbC90d2l0dGVyIiwidXRpbC9wcm9taXNlIiwiZG9tL3Rl eHRzaXplIixmdW5jdGlvbih0LG4scixpLHMsbyx1KXtmdW5jdGlvbiBhKGUpe2lm KCFlKXJldHVybjt2YXIgdCxyLGksbztuLmFwcGx5KHRoaXMsW2VdKSx0PXRoaXMu cGFyYW1zKCkscj10LnNpemV8fHRoaXMuZGF0YUF0dHIoInNpemUiKSxpPXQuc2hv d1NjcmVlbk5hbWV8fHRoaXMuZGF0YUF0dHIoInNob3ctc2NyZWVuLW5hbWUiKSxv PXQuY291bnR8fHRoaXMuZGF0YUF0dHIoImNvdW50IiksdGhpcy5jbGFzc0F0dHIu cHVzaCgidHdpdHRlci1mb2xsb3ctYnV0dG9uIiksdGhpcy5zaG93U2NyZWVuTmFt ZT1pIT0iZmFsc2UiLHRoaXMuc2hvd0NvdW50PXQuc2hvd0NvdW50IT09ITEmJnRo aXMuZGF0YUF0dHIoInNob3ctY291bnQiKSE9ImZhbHNlIixvPT0ibm9uZSImJih0 aGlzLnNob3dDb3VudD0hMSksdGhpcy5leHBsaWNpdFdpZHRoPXQud2lkdGh8fHRo aXMuZGF0YUF0dHIoIndpZHRoIil8fCIiLHRoaXMuc2NyZWVuTmFtZT10LnNjcmVl bl9uYW1lfHx0LnNjcmVlbk5hbWV8fHMuc2NyZWVuTmFtZSh0aGlzLmF0dHIoImhy ZWYiKSksdGhpcy5wcmV2aWV3PXQucHJldmlld3x8dGhpcy5kYXRhQXR0cigicHJl dmlldyIpfHwiIix0aGlzLmFsaWduPXQuYWxpZ258fHRoaXMuZGF0YUF0dHIoImFs aWduIil8fCIiLHRoaXMuc2l6ZT1yPT0ibGFyZ2UiPyJsIjoibSJ9YS5wcm90b3R5 cGU9bmV3IG4sdC5hdWcoYS5wcm90b3R5cGUse3BhcmFtZXRlcnM6ZnVuY3Rpb24o KXt2YXIgZT17c2NyZWVuX25hbWU6dGhpcy5zY3JlZW5OYW1lLGxhbmc6dGhpcy5s YW5nLHNob3dfY291bnQ6dGhpcy5zaG93Q291bnQsc2hvd19zY3JlZW5fbmFtZTp0 aGlzLnNob3dTY3JlZW5OYW1lLGFsaWduOnRoaXMuYWxpZ24saWQ6dGhpcy5pZCxw cmV2aWV3OnRoaXMucHJldmlldyxzaXplOnRoaXMuc2l6ZSxwYXJ0bmVyOnRoaXMu cGFydG5lcixkbnQ6dGhpcy5kbnQsXzorKG5ldyBEYXRlKX07cmV0dXJuIHQuY29t cGFjdChlKSxyLmVuY29kZShlKX0sd2lkdGg6ZnVuY3Rpb24oKXtpZih0aGlzLmNh bGN1bGF0ZWRXaWR0aClyZXR1cm4gdGhpcy5jYWxjdWxhdGVkV2lkdGg7aWYodGhp cy5leHBsaWNpdFdpZHRoKXJldHVybiB0aGlzLmV4cGxpY2l0V2lkdGg7dmFyIGU9 e2NudDoxMyxidG46MjQseGxjbnQ6MjIseGxidG46Mzh9LG49dGhpcy5zaG93U2Ny ZWVuTmFtZT8iRm9sbG93ICV7c2NyZWVuX25hbWV9IjoiRm9sbG93IixyPXRoaXMu XyhuLHtzY3JlZW5fbmFtZToiQCIrdGhpcy5zY3JlZW5OYW1lfSksaT1+dC5pbmRl eE9mKFsiamEiLCJrbyJdLHRoaXMubGFuZyk/dGhpcy5fKCIxMGsgdW5pdCIpOnRo aXMuXygiTSIpLHM9dGhpcy5fKCIle2ZvbGxvd2Vyc19jb3VudH0gZm9sbG93ZXJz Iix7Zm9sbG93ZXJzX2NvdW50OiI4ODg4OCIraX0pLG89MCxhPTAsZixsLGM9dGhp cy5zdHlsZXMuYmFzZTtyZXR1cm4gdGhpcy5zaXplPT0ibCI/KGM9Yy5jb25jYXQo dGhpcy5zdHlsZXMubGFyZ2UpLGY9ZS54bGJ0bixsPWUueGxjbnQpOihmPWUuYnRu LGw9ZS5jbnQpLHRoaXMuc2hvd0NvdW50JiYoYT11KHMsIiIsYykud2lkdGgrbCks bz11KHIsIiIsYy5jb25jYXQodGhpcy5zdHlsZXMuYnV0dG9uKSkud2lkdGgrZix0 aGlzLmNhbGN1bGF0ZWRXaWR0aD1vK2F9LHJlbmRlcjpmdW5jdGlvbihlLG4pe2lm KCF0aGlzLnNjcmVlbk5hbWUpcmV0dXJuIG8ucmVqZWN0KCJNaXNzaW5nIFNjcmVl biBOYW1lIikudGhlbihuKTt2YXIgcj10d3R0ci53aWRnZXRzLmNvbmZpZy5hc3Nl dFVybCgpKyIvd2lkZ2V0cy9mb2xsb3dfYnV0dG9uLjEzOTcxNjUwOTguaHRtbCMi K3RoaXMucGFyYW1ldGVycygpLGk9dGhpcy5jcmVhdGUocix0aGlzLmRpbWVuc2lv bnMoKSx7dGl0bGU6dGhpcy5fKCJUd2l0dGVyIEZvbGxvdyBCdXR0b24iKX0pLnRo ZW4odC5iaW5kKGZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVsZW1lbnQ9ZX0sdGhp cykpO3JldHVybiBuJiZpLnRoZW4obiksaX19KSxlKGEpfSl9KTsKIWZ1bmN0aW9u KCl7d2luZG93LnR3dHRyPXdpbmRvdy50d3R0cnx8e30sdHd0dHIuaG9zdD10d3R0 ci5ob3N0fHwicGxhdGZvcm0udHdpdHRlci5jb20iLHVzaW5nKCJ1dGlsL2RvbXJl YWR5IiwidXRpbC9lbnYiLGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbihlKXtyZXR1 cm4oZXx8IS9eaHR0cFw6JC8udGVzdCh3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wp KSYmIXR3dHRyLmlnbm9yZVNTTD8iaHR0cHMiOiJodHRwIn1pZih0LmllNigpKXJl dHVybjtpZih0d3R0ci53aWRnZXRzJiZ0d3R0ci53aWRnZXRzLmxvYWRlZClyZXR1 cm4gdHd0dHIud2lkZ2V0cy5sb2FkKCksITE7aWYodHd0dHIuaW5pdClyZXR1cm4h MTt0d3R0ci5pbml0PSEwLHR3dHRyLl9lPXR3dHRyLl9lfHxbXSx0d3R0ci5yZWFk eT10d3R0ci5yZWFkeXx8ZnVuY3Rpb24oZSl7dHd0dHIud2lkZ2V0cyYmdHd0dHIu d2lkZ2V0cy5sb2FkZWQ/ZSh0d3R0cik6dHd0dHIuX2UucHVzaChlKX0sdXNpbmcu cGF0aC5sZW5ndGh8fCh1c2luZy5wYXRoPW4oKSsiOi8vIit0d3R0ci5ob3N0KyIv anMiKSx0d3R0ci5pZ25vcmVTU0w9dHd0dHIuaWdub3JlU1NMfHwhMTt2YXIgcj1b XTt0d3R0ci5ldmVudHM9e2JpbmQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gci5wdXNo KFtlLHRdKX19LGUoZnVuY3Rpb24oKXt1c2luZygidGZ3L3dpZGdldC9iYXNlIiwi dGZ3L3dpZGdldC9mb2xsb3ciLCJ0Zncvd2lkZ2V0L3R3ZWV0YnV0dG9uIiwidGZ3 L3dpZGdldC9lbWJlZCIsInRmdy93aWRnZXQvdGltZWxpbmUiLCJ0Zncvd2lkZ2V0 L2ludGVudCIsInRmdy91dGlsL2FydGljbGUiLCJ1dGlsL2V2ZW50cyIsInV0aWwv dXRpbCIsZnVuY3Rpb24oZSx0LGkscyxvLHUsYSxmLGwpe2Z1bmN0aW9uIG0oZSl7 dmFyIHQ9dHd0dHIuaG9zdDtyZXR1cm4gbihlKT09Imh0dHBzIiYmdHd0dHIuc2Vj dXJlSG9zdCYmKHQ9dHd0dHIuc2VjdXJlSG9zdCksbihlKSsiOi8vIit0fWZ1bmN0 aW9uIGcoKXt1c2luZygidGZ3L2h1Yi9jbGllbnQiLGZ1bmN0aW9uKGUpe3R3dHRy LmV2ZW50cy5odWI9ZS5pbml0KHApLGUuaW5pdChwLCEwKX0pfXZhciBjLGgscD17 d2lkZ2V0czp7ImEudHdpdHRlci1zaGFyZS1idXR0b24iOmksImEudHdpdHRlci1t ZW50aW9uLWJ1dHRvbiI6aSwiYS50d2l0dGVyLWhhc2h0YWctYnV0dG9uIjppLCJh LnR3aXR0ZXItZm9sbG93LWJ1dHRvbiI6dCwiYmxvY2txdW90ZS50d2l0dGVyLXR3 ZWV0IjpzLCJhLnR3aXR0ZXItdGltZWxpbmUiOm8sImRpdi50d2l0dGVyLXRpbWVs aW5lIjpvLGJvZHk6dX19LGQ9dHd0dHIuZXZlbnRzJiZ0d3R0ci5ldmVudHMuaHVi P3R3dHRyLmV2ZW50czp7fSx2O3AuYXNzZXRVcmw9bSx0d3R0ci53aWRnZXRzPXR3 dHRyLndpZGdldHN8fHt9LGwuYXVnKHR3dHRyLndpZGdldHMse2NvbmZpZzp7YXNz ZXRVcmw6bX0sbG9hZDpmdW5jdGlvbih0KXtlLmluaXQocCksZS5lbWJlZCh0KSx0 d3R0ci53aWRnZXRzLmxvYWRlZD0hMH0sY3JlYXRlU2hhcmVCdXR0b246ZnVuY3Rp b24odCxuLHIscyl7aWYoIXR8fCFuKXJldHVybiByJiZyKCExKTtzPWwuYXVnKHt9 LHN8fHt9LHt1cmw6dCx0YXJnZXRFbDpufSk7dmFyIG89bmV3IGkocyk7cmV0dXJu IGUuZG9MYXlvdXQoKSxvLnJlbmRlcihwLHIpLG8uY29tcGxldGVkKCl9LGNyZWF0 ZUhhc2h0YWdCdXR0b246ZnVuY3Rpb24odCxuLHIscyl7aWYoIXR8fCFuKXJldHVy biByJiZyKCExKTtzPWwuYXVnKHt9LHN8fHt9LHtoYXNodGFnOnQsdGFyZ2V0RWw6 bix0eXBlOiJoYXNodGFnIn0pO3ZhciBvPW5ldyBpKHMpO3JldHVybiBlLmRvTGF5 b3V0KCksby5yZW5kZXIocCxyKSxvLmNvbXBsZXRlZCgpfSxjcmVhdGVNZW50aW9u QnV0dG9uOmZ1bmN0aW9uKHQsbixyLHMpe2lmKCF0fHwhbilyZXR1cm4gciYmcigh MSk7cz1sLmF1Zyh7fSxzfHx7fSx7c2NyZWVuTmFtZTp0LHRhcmdldEVsOm4sdHlw ZToibWVudGlvbiJ9KTt2YXIgbz1uZXcgaShzKTtyZXR1cm4gZS5kb0xheW91dCgp LG8ucmVuZGVyKHAsciksby5jb21wbGV0ZWQoKX0sY3JlYXRlRm9sbG93QnV0dG9u OmZ1bmN0aW9uKG4scixpLHMpe2lmKCFufHwhcilyZXR1cm4gaSYmaSghMSk7cz1s LmF1Zyh7fSxzfHx7fSx7c2NyZWVuTmFtZTpuLHRhcmdldEVsOnJ9KTt2YXIgbz1u ZXcgdChzKTtyZXR1cm4gZS5kb0xheW91dCgpLG8ucmVuZGVyKHAsaSksby5jb21w bGV0ZWQoKX0sY3JlYXRlVHdlZXQ6ZnVuY3Rpb24odCxuLHIsaSl7aWYoIXR8fCFu KXJldHVybiByJiZyKCExKTtpPWwuYXVnKHt9LGl8fHt9LHt0d2VldElkOnQsdGFy Z2V0RWw6bn0pO3ZhciBvPW5ldyBzKGkpO3JldHVybiBlLmRvTGF5b3V0KCksby5y ZW5kZXIocCxyKSxzLmZldGNoQW5kUmVuZGVyKCksby5jb21wbGV0ZWQoKX0sY3Jl YXRlVGltZWxpbmU6ZnVuY3Rpb24odCxuLHIsaSl7aWYoIXR8fCFuKXJldHVybiBy JiZyKCExKTtpPWwuYXVnKHt9LGl8fHt9LHt3aWRnZXRJZDp0LHRhcmdldEVsOm59 KTt2YXIgcz1uZXcgbyhpKTtyZXR1cm4gZS5kb0xheW91dCgpLHMucmVuZGVyKHAs cikscy5jb21wbGV0ZWQoKX19KSxsLmF1Zyh0d3R0ci5ldmVudHMsZCxmLkVtaXR0 ZXIpLHY9dHd0dHIuZXZlbnRzLmJpbmQsdHd0dHIuZXZlbnRzLmJpbmQ9ZnVuY3Rp b24oZSx0KXtnKCksdGhpcy5iaW5kPXYsdGhpcy5iaW5kKGUsdCl9O2ZvcihjPTA7 aD1yW2NdO2MrKyl0d3R0ci5ldmVudHMuYmluZChoWzBdLGhbMV0pO2ZvcihjPTA7 aD10d3R0ci5fZVtjXTtjKyspaCh0d3R0cik7dHd0dHIucmVhZHk9ZnVuY3Rpb24o ZSl7ZSh0d3R0cil9LC90d2l0dGVyXC5jb20oXDpcZCspPyQvLnRlc3QoZG9jdW1l bnQubG9jYXRpb24uaG9zdCkmJih0d3R0ci53aWRnZXRzLmNyZWF0ZVRpbWVsaW5l UHJldmlldz1mdW5jdGlvbih0LG4scil7aWYoIXB8fCFuKXJldHVybiByJiZyKCEx KTt2YXIgaT1uZXcgbyh7cHJldmlld1BhcmFtczp0LHRhcmdldEVsOm4sbGlua0Nv bG9yOnQubGlua19jb2xvcix0aGVtZTp0LnRoZW1lLGhlaWdodDp0LmhlaWdodH0p O3JldHVybiBlLmRvTGF5b3V0KCksaS5yZW5kZXIocCxyKSxpLmNvbXBsZXRlZCgp fSksdHd0dHIud2lkZ2V0cy5jcmVhdGVUd2VldEVtYmVkPXR3dHRyLndpZGdldHMu Y3JlYXRlVHdlZXQsdHd0dHIud2lkZ2V0cy5sb2FkKCl9KX0pfSl9KCl9KTs= ------------67LS6fQ3kILML0Yye5jr0K Content-Disposition: inline; filename=plusone.js Content-Type: application/javascript; charset=utf-8; name=plusone.js Content-Location: https://apis.google.com/js/plusone.js Content-Transfer-Encoding: Base64 dmFyIGdhcGk9d2luZG93LmdhcGk9d2luZG93LmdhcGl8fHt9O2dhcGkuX2JzPW5l dyBEYXRlKCkuZ2V0VGltZSgpOyhmdW5jdGlvbigpe3ZhciBhYT1lbmNvZGVVUklD b21wb25lbnQsaz13aW5kb3csYmE9T2JqZWN0LHE9ZG9jdW1lbnQsY2E9QXJyYXks ZGE9cGFyc2VJbnQscj1TdHJpbmcsZWE9ZGVjb2RlVVJJQ29tcG9uZW50O2Z1bmN0 aW9uIGZhKGEsYil7cmV0dXJuIGEudHlwZT1ifQp2YXIgZ2E9ImFwcGVuZENoaWxk IixzPSJwdXNoIix0PSJ0ZXN0IixoYT0ic2hpZnQiLGlhPSJleGVjIixqYT0id2lk dGgiLGthPSJzbGljZSIsdj0icmVwbGFjZSIsbGE9ImdldEVsZW1lbnRCeUlkIixt YT0iY29uY2F0IixuYT0iY2hhckF0IixvYT0iSlNPTiIseD0iaW5kZXhPZiIscGE9 Im5vZGVOYW1lIixxYT0ibWF0Y2giLHk9ImNyZWF0ZUVsZW1lbnQiLHo9InNldEF0 dHJpYnV0ZSIscmE9InR5cGUiLHNhPSJiaW5kIix0YT0iZ2V0VGltZSIsdWE9Imdl dEVsZW1lbnRzQnlUYWdOYW1lIixBPSJzdWJzdHIiLEI9InRvU3RyaW5nIixEPSJs ZW5ndGgiLEU9InByb3RvdHlwZSIsRj0ic3BsaXQiLEc9ImxvY2F0aW9uIixIPSJz dHlsZSIsdmE9InJlbW92ZUNoaWxkIixJPSJjYWxsIixLPSJnZXRBdHRyaWJ1dGUi LHdhPSJwcm90b2NvbCIsTD0iY2hhckNvZGVBdCIsTT0iaHJlZiIseGE9InN1YnN0 cmluZyIseWE9ImRvY3VtZW50TW9kZSIsemE9ImFjdGlvbiIsTj0iYXBwbHkiLEFh PSJhdHRyaWJ1dGVzIiwKTz0icGFyZW50Tm9kZSIsQmE9InVwZGF0ZSIsQ2E9Imhl aWdodCIsUD0iam9pbiIsRGE9InRvTG93ZXJDYXNlIixFYT1mdW5jdGlvbihhLGIs Yyl7cmV0dXJuIGFbSV1bTl0oYVtzYV0sYXJndW1lbnRzKX0sRmE9ZnVuY3Rpb24o YSxiLGMpe2lmKCFhKXRocm93IEVycm9yKCk7aWYoMjxhcmd1bWVudHNbRF0pe3Zh ciBkPWNhW0VdW2thXVtJXShhcmd1bWVudHMsMik7cmV0dXJuIGZ1bmN0aW9uKCl7 dmFyIGM9Y2FbRV1ba2FdW0ldKGFyZ3VtZW50cyk7Y2FbRV0udW5zaGlmdFtOXShj LGQpO3JldHVybiBhW05dKGIsYyl9fXJldHVybiBmdW5jdGlvbigpe3JldHVybiBh W05dKGIsYXJndW1lbnRzKX19LEdhPWZ1bmN0aW9uKGEsYixjKXtHYT1GdW5jdGlv bltFXVtzYV0mJi0xIT1GdW5jdGlvbltFXVtzYV1bQl0oKVt4XSgibmF0aXZlIGNv ZGUiKT9FYTpGYTtyZXR1cm4gR2FbTl0obnVsbCxhcmd1bWVudHMpfTsKRnVuY3Rp b25bRV0uYmluZD1GdW5jdGlvbltFXVtzYV18fGZ1bmN0aW9uKGEsYil7aWYoMTxh cmd1bWVudHNbRF0pe3ZhciBjPWNhW0VdW2thXVtJXShhcmd1bWVudHMsMSk7Yy51 bnNoaWZ0KHRoaXMsYSk7cmV0dXJuIEdhW05dKG51bGwsYyl9cmV0dXJuIEdhKHRo aXMsYSl9O3ZhciBRPWssUj1xLEhhPVFbR10sSWE9ZnVuY3Rpb24oKXt9LEphPS9c W25hdGl2ZSBjb2RlXF0vLFM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhW2JdPWFb Yl18fGN9LEthPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8dGhpc1tEXTtiKysp aWYodGhpc1tiXT09PWEpcmV0dXJuIGI7cmV0dXJuLTF9LExhPWZ1bmN0aW9uKGEp e2E9YS5zb3J0KCk7Zm9yKHZhciBiPVtdLGM9dm9pZCAwLGQ9MDtkPGFbRF07ZCsr KXt2YXIgZT1hW2RdO2UhPWMmJmJbc10oZSk7Yz1lfXJldHVybiBifSxNYT0vJi9n LE5hPS88L2csT2E9Lz4vZyxQYT0vIi9nLFFhPS8nL2csUmE9ZnVuY3Rpb24oYSl7 cmV0dXJuIHIoYSlbdl0oTWEsIiZhbXA7Iilbdl0oTmEsIiZsdDsiKVt2XShPYSwi Jmd0OyIpW3ZdKFBhLCImcXVvdDsiKVt2XShRYSwiJiMzOTsiKX0sVD1mdW5jdGlv bigpe3ZhciBhO2lmKChhPWJhLmNyZWF0ZSkmJkphW3RdKGEpKWE9YShudWxsKTtl bHNle2E9e307Zm9yKHZhciBiIGluIGEpYVtiXT0Kdm9pZCAwfXJldHVybiBhfSxV PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGJhW0VdLmhhc093blByb3BlcnR5W0ldKGEs Yil9LFNhPWZ1bmN0aW9uKGEpe2lmKEphW3RdKGJhLmtleXMpKXJldHVybiBiYS5r ZXlzKGEpO3ZhciBiPVtdLGM7Zm9yKGMgaW4gYSlVKGEsYykmJmJbc10oYyk7cmV0 dXJuIGJ9LFY9ZnVuY3Rpb24oYSxiKXthPWF8fHt9O2Zvcih2YXIgYyBpbiBhKVUo YSxjKSYmKGJbY109YVtjXSl9LFRhPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlv bigpe1Euc2V0VGltZW91dChhLDApfX0sVWE9ZnVuY3Rpb24oYSxiKXtpZighYSl0 aHJvdyBFcnJvcihifHwiIik7fSxXPVMoUSwiZ2FwaSIse30pO3ZhciBYPWZ1bmN0 aW9uKGEsYixjKXt2YXIgZD1uZXcgUmVnRXhwKCIoWyNdLiomfFsjXSkiK2IrIj0o W14mI10qKSIsImciKTtiPW5ldyBSZWdFeHAoIihbPyNdLiomfFs/I10pIitiKyI9 KFteJiNdKikiLCJnIik7aWYoYT1hJiYoZFtpYV0oYSl8fGJbaWFdKGEpKSl0cnl7 Yz1lYShhWzJdKX1jYXRjaChlKXt9cmV0dXJuIGN9LFZhPS9eKFtePyNdKikoXD8o W14jXSopKT8oXCMoLiopKT8kLyxXYT1mdW5jdGlvbihhKXthPWFbcWFdKFZhKTt2 YXIgYj1UKCk7Yi5IPWFbMV07Yi5qPWFbM10/W2FbM11dOltdO2Iubz1hWzVdP1th WzVdXTpbXTtyZXR1cm4gYn0sWGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuSCsoMDxh LmpbRF0/Ij8iK2EualtQXSgiJiIpOiIiKSsoMDxhLm9bRF0/IiMiK2Eub1tQXSgi JiIpOiIiKX0sWWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtpZihhKWZvcih2YXIg ZCBpbiBhKWlmKFUoYSxkKSYmbnVsbCE9YVtkXSl7dmFyIGU9Yj9iKGFbZF0pOmFb ZF07Y1tzXShhYShkKSsKIj0iK2FhKGUpKX1yZXR1cm4gY30sWmE9ZnVuY3Rpb24o YSxiLGMsZCl7YT1XYShhKTthLmpbc11bTl0oYS5qLFlhKGIsZCkpO2Eub1tzXVtO XShhLm8sWWEoYyxkKSk7cmV0dXJuIFhhKGEpfSwkYT1mdW5jdGlvbihhLGIpe3Zh ciBjPSIiOzJFMzxiW0RdJiYoYz1iW3hhXSgyRTMpLGI9Ylt4YV0oMCwyRTMpKTt2 YXIgZD1hW3ldKCJkaXYiKSxlPWFbeV0oImEiKTtlLmhyZWY9YjtkW2dhXShlKTtk LmlubmVySFRNTD1kLmlubmVySFRNTDtiPXIoZC5maXJzdENoaWxkW01dKTtkW09d JiZkW09dW3ZhXShkKTtyZXR1cm4gYitjfSxhYj0vXmh0dHBzPzpcL1wvW15cLyVc XD8jXHNdK1wvW15cc10qJC9pO3ZhciBiYj1mdW5jdGlvbihhLGIsYyxkKXtpZihR W2MrIkV2ZW50TGlzdGVuZXIiXSlRW2MrIkV2ZW50TGlzdGVuZXIiXShhLGIsITEp O2Vsc2UgaWYoUVtkKyJ0YWNoRXZlbnQiXSlRW2QrInRhY2hFdmVudCJdKCJvbiIr YSxiKX0sY2I9ZnVuY3Rpb24oKXt2YXIgYT1SLnJlYWR5U3RhdGU7cmV0dXJuImNv bXBsZXRlIj09PWF8fCJpbnRlcmFjdGl2ZSI9PT1hJiYtMT09bmF2aWdhdG9yLnVz ZXJBZ2VudFt4XSgiTVNJRSIpfSxmYj1mdW5jdGlvbihhKXt2YXIgYj1kYjtpZigh Y2IoKSl0cnl7YigpfWNhdGNoKGMpe31lYihhKX0sZWI9ZnVuY3Rpb24oYSl7aWYo Y2IoKSlhKCk7ZWxzZXt2YXIgYj0hMSxjPWZ1bmN0aW9uKCl7aWYoIWIpcmV0dXJu IGI9ITAsYVtOXSh0aGlzLGFyZ3VtZW50cyl9O1EuYWRkRXZlbnRMaXN0ZW5lcj8o US5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixjLCExKSxRLmFkZEV2ZW50TGlzdGVu ZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGMsITEpKTpRLmF0dGFjaEV2ZW50JiYKKFEu YXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsZnVuY3Rpb24oKXtjYigp JiZjW05dKHRoaXMsYXJndW1lbnRzKX0pLFEuYXR0YWNoRXZlbnQoIm9ubG9hZCIs YykpfX0sZ2I9ZnVuY3Rpb24oYSl7Zm9yKDthLmZpcnN0Q2hpbGQ7KWFbdmFdKGEu Zmlyc3RDaGlsZCl9LGhiPXtidXR0b246ITAsZGl2OiEwLHNwYW46ITB9O3ZhciBZ O1k9UyhRLCJfX19qc2wiLFQoKSk7UyhZLCJJIiwwKTtTKFksImhlbCIsMTApO3Zh ciBpYj1mdW5jdGlvbihhKXtyZXR1cm4gWS5kcG8/WS5oOlgoYSwianNoIixZLmgp fSxqYj1mdW5jdGlvbihhKXt2YXIgYj1TKFksInN3cyIsW10pO2Jbc11bTl0oYixh KX0sa2I9ZnVuY3Rpb24oYSl7cmV0dXJuIFMoWSwid2F0dCIsVCgpKVthXX0sbGI9 ZnVuY3Rpb24oYSl7dmFyIGI9UyhZLCJQUSIsW10pO1kuUFE9W107dmFyIGM9YltE XTtpZigwPT09YylhKCk7ZWxzZSBmb3IodmFyIGQ9MCxlPWZ1bmN0aW9uKCl7Kytk PT09YyYmYSgpfSxmPTA7ZjxjO2YrKyliW2ZdKGUpfSxtYj1mdW5jdGlvbihhKXty ZXR1cm4gUyhTKFksIkgiLFQoKSksYSxUKCkpfTt2YXIgb2I9UyhZLCJwZXJmIixU KCkpLHBiPVMob2IsImciLFQoKSkscWI9UyhvYiwiaSIsVCgpKTtTKG9iLCJyIixb XSk7VCgpO1QoKTt2YXIgcmI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW9iLnI7ImZ1 bmN0aW9uIj09PXR5cGVvZiBkP2QoYSxiLGMpOmRbc10oW2EsYixjXSl9LHNiPWZ1 bmN0aW9uKGEsYixjKXtwYlthXT0hYiYmcGJbYV18fGN8fChuZXcgRGF0ZSlbdGFd KCk7cmIoYSl9LHViPWZ1bmN0aW9uKGEsYixjKXtiJiYwPGJbRF0mJihiPXRiKGIp LGMmJjA8Y1tEXSYmKGIrPSJfX18iK3RiKGMpKSwyODxiW0RdJiYoYj1iW0FdKDAs MjgpKyhiW0RdLTI4KSksYz1iLGI9UyhxYiwiX3AiLFQoKSksUyhiLGMsVCgpKVth XT0obmV3IERhdGUpW3RhXSgpLHJiKGEsIl9wIixjKSl9LHRiPWZ1bmN0aW9uKGEp e3JldHVybiBhW1BdKCJfXyIpW3ZdKC9cLi9nLCJfIilbdl0oL1wtL2csIl8iKVt2 XSgvXCwvZywiXyIpfTt2YXIgdmI9VCgpLHdiPVtdLHhiPWZ1bmN0aW9uKGEpe3Ro cm93IEVycm9yKCJCYWQgaGludCIrKGE/IjogIithOiIiKSk7fTt3YltzXShbImpz bCIsZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpaWYoVShhLGIpKXt2YXIgYz1h W2JdOyJvYmplY3QiPT10eXBlb2YgYz9ZW2JdPVMoWSxiLFtdKVttYV0oYyk6UyhZ LGIsYyl9aWYoYj1hLnUpYT1TKFksInVzIixbXSksYVtzXShiKSwoYj0vXmh0dHBz OiguKikkL1tpYV0oYikpJiZhW3NdKCJodHRwOiIrYlsxXSl9XSk7dmFyIHliPS9e KFwvW2EtekEtWjAtOV9cLV0rKSskLyx6Yj0vXlthLXpBLVowLTlcLV9cLiwhXSsk LyxBYj0vXmdhcGlcLmxvYWRlZF9bMC05XSskLyxCYj0vXlthLXpBLVowLTksLl8t XSskLyxGYj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hW0ZdKCI7IiksZj12Yltl W2hhXSgpXSxnPW51bGw7ZiYmKGc9ZihlLGIsYyxkKSk7aWYoYj1nKWI9ZyxjPWJb cWFdKENiKSxkPWJbcWFdKERiKSxiPSEhZCYmMT09PWRbRF0mJkViW3RdKGIpJiYh IWMmJjE9PT1jW0RdO2J8fHhiKGEpO3JldHVybiBnfSxJYj1mdW5jdGlvbihhLGIs YyxkKXthPUdiKGEpO0FiW3RdKGMpfHx4YigiaW52YWxpZF9jYWxsYmFjayIpO2I9 SGIoYik7ZD1kJiZkW0RdP0hiKGQpOm51bGw7dmFyIGU9ZnVuY3Rpb24oYSl7cmV0 dXJuIGFhKGEpW3ZdKC8lMkMvZywiLCIpfTtyZXR1cm5bYWEoYS5UKVt2XSgvJTJD L2csIiwiKVt2XSgvJTJGL2csIi8iKSwiL2s9IixlKGEudmVyc2lvbiksIi9tPSIs ZShiKSxkPyIvZXhtPSIrCmUoZCk6IiIsIi9ydD1qL3N2PTEvZD0xL2VkPTEiLGEu Sj8iL2FtPSIrZShhLkopOiIiLGEuSz8iL3JzPSIrZShhLkspOiIiLCIvY2I9Iixl KGMpXVtQXSgiIil9LEdiPWZ1bmN0aW9uKGEpeyIvIiE9PWFbbmFdKDApJiZ4Yigi cmVsYXRpdmUgcGF0aCIpO2Zvcih2YXIgYj1hW3hhXSgxKVtGXSgiLyIpLGM9W107 YltEXTspe2E9YltoYV0oKTtpZighYVtEXXx8MD09YVt4XSgiLiIpKXhiKCJlbXB0 eS9yZWxhdGl2ZSBkaXJlY3RvcnkiKTtlbHNlIGlmKDA8YVt4XSgiPSIpKXtiLnVu c2hpZnQoYSk7YnJlYWt9Y1tzXShhKX1hPXt9O2Zvcih2YXIgZD0wLGU9YltEXTtk PGU7KytkKXt2YXIgZj1iW2RdW0ZdKCI9IiksZz1lYShmWzBdKSxoPWVhKGZbMV0p OzI9PWZbRF0mJmcmJmgmJihhW2ddPWFbZ118fGgpfWI9Ii8iK2NbUF0oIi8iKTt5 Ylt0XShiKXx8eGIoImludmFsaWRfcHJlZml4Iik7Yz1KYihhLCJrIiwhMCk7ZD1K YihhLCJhbSIpO2E9SmIoYSwicnMiKTtyZXR1cm57VDpiLHZlcnNpb246YywKSjpk LEs6YX19LEhiPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTAsZD1hW0RdO2M8 ZDsrK2Mpe3ZhciBlPWFbY11bdl0oL1wuL2csIl8iKVt2XSgvLS9nLCJfIik7QmJb dF0oZSkmJmJbc10oZSl9cmV0dXJuIGJbUF0oIiwiKX0sSmI9ZnVuY3Rpb24oYSxi LGMpe2E9YVtiXTshYSYmYyYmeGIoIm1pc3Npbmc6ICIrYik7aWYoYSl7aWYoemJb dF0oYSkpcmV0dXJuIGE7eGIoImludmFsaWQ6ICIrYil9cmV0dXJuIG51bGx9LEVi PS9eaHR0cHM/OlwvXC9bYS16MC05Xy4tXStcLmdvb2dsZVwuY29tKDpcZCspP1wv W2EtekEtWjAtOV8uLCE9XC1cL10rJC8sRGI9L1wvY2I9L2csQ2I9L1wvXC8vZyxL Yj1mdW5jdGlvbigpe3ZhciBhPWliKEhhW01dKTtpZighYSl0aHJvdyBFcnJvcigi QmFkIGhpbnQiKTtyZXR1cm4gYX07CnZiLm09ZnVuY3Rpb24oYSxiLGMsZCl7KGE9 YVswXSl8fHhiKCJtaXNzaW5nX2hpbnQiKTtyZXR1cm4iaHR0cHM6Ly9hcGlzLmdv b2dsZS5jb20iK0liKGEsYixjLGQpfTt2YXIgTGI9ZGVjb2RlVVJJKCIlNzNjcmlw dCIpLE1iPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGFbRF07Kytk KXt2YXIgZT1hW2RdO2UmJjA+S2FbSV0oYixlKSYmY1tzXShlKX1yZXR1cm4gY30s T2I9ZnVuY3Rpb24oYSl7ImxvYWRpbmciIT1SLnJlYWR5U3RhdGU/TmIoYSk6Ui53 cml0ZSgiPCIrTGIrJyBzcmM9IicrZW5jb2RlVVJJKGEpKyciPjwvJytMYisiPiIp fSxOYj1mdW5jdGlvbihhKXt2YXIgYj1SW3ldKExiKTtiW3pdKCJzcmMiLGEpO2Iu YXN5bmM9InRydWUiOyhhPVJbdWFdKExiKVswXSk/YVtPXS5pbnNlcnRCZWZvcmUo YixhKTooUi5oZWFkfHxSLmJvZHl8fFIuZG9jdW1lbnRFbGVtZW50KVtnYV0oYil9 LFBiPWZ1bmN0aW9uKGEsYil7dmFyIGM9YiYmYi5fYztpZihjKWZvcih2YXIgZD0w O2Q8d2JbRF07ZCsrKXt2YXIgZT13YltkXVswXSxmPXdiW2RdWzFdO2YmJlUoYyxl KSYmZihjW2VdLGEsYil9fSxSYj1mdW5jdGlvbihhLGIpe1FiKGZ1bmN0aW9uKCl7 dmFyIGM7CmM9Yj09PWliKEhhW01dKT9TKFcsIl8iLFQoKSk6VCgpO2M9UyhtYihi KSwiXyIsYyk7YShjKX0pfSxUYj1mdW5jdGlvbihhLGIpe3ZhciBjPWJ8fHt9OyJm dW5jdGlvbiI9PXR5cGVvZiBiJiYoYz17fSxjLmNhbGxiYWNrPWIpO1BiKGEsYyk7 dmFyIGQ9YT9hW0ZdKCI6Iik6W10sZT1jLmh8fEtiKCksZj1TKFksImFoIixUKCkp O2lmKGZbIjo6Il0mJmRbRF0pe2Zvcih2YXIgZz1bXSxoPW51bGw7aD1kW2hhXSgp Oyl7dmFyIGw9aFtGXSgiLiIpLGw9ZltoXXx8ZltsWzFdJiYibnM6IitsWzBdfHwi Il18fGUsbj1nW0RdJiZnW2dbRF0tMV18fG51bGwsbT1uO24mJm4uaGludD09bHx8 KG09e2hpbnQ6bCxNOltdfSxnW3NdKG0pKTttLk1bc10oaCl9dmFyIHA9Z1tEXTtp ZigxPHApe3ZhciB3PWMuY2FsbGJhY2s7dyYmKGMuY2FsbGJhY2s9ZnVuY3Rpb24o KXswPT0tLXAmJncoKX0pfWZvcig7ZD1nW2hhXSgpOylTYihkLk0sYyxkLmhpbnQp fWVsc2UgU2IoZHx8W10sYyxlKX0sU2I9ZnVuY3Rpb24oYSwKYixjKXthPUxhKGEp fHxbXTt2YXIgZD1iLmNhbGxiYWNrLGU9Yi5jb25maWcsZj1iLnRpbWVvdXQsZz1i Lm9udGltZW91dCxoPW51bGwsbD0hMTtpZihmJiYhZ3x8IWYmJmcpdGhyb3ciVGlt ZW91dCByZXF1aXJlcyBib3RoIHRoZSB0aW1lb3V0IHBhcmFtZXRlciBhbmQgb250 aW1lb3V0IHBhcmFtZXRlciB0byBiZSBzZXQiO3ZhciBuPVMobWIoYyksInIiLFtd KS5zb3J0KCksbT1TKG1iKGMpLCJMIixbXSkuc29ydCgpLHA9W11bbWFdKG4pLHc9 ZnVuY3Rpb24oYSxiKXtpZihsKXJldHVybiAwO1EuY2xlYXJUaW1lb3V0KGgpO21b c11bTl0obSxDKTt2YXIgZD0oKFd8fHt9KS5jb25maWd8fHt9KVtCYV07ZD9kKGUp OmUmJlMoWSwiY3UiLFtdKVtzXShlKTtpZihiKXt1YigibWUwIixhLHApO3RyeXtS YihiLGMpfWZpbmFsbHl7dWIoIm1lMSIsYSxwKX19cmV0dXJuIDF9OzA8ZiYmKGg9 US5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bD0hMDtnKCl9LGYpKTt2YXIgQz1NYihh LG0pO2lmKENbRF0pe3ZhciBDPQpNYihhLG4pLHU9UyhZLCJDUCIsW10pLEo9dVtE XTt1W0pdPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiAwO3ViKCJtbDEiLEMscCk7 dmFyIGI9ZnVuY3Rpb24oYil7dVtKXT1udWxsO3coQyxhKSYmbGIoZnVuY3Rpb24o KXtkJiZkKCk7YigpfSl9LGM9ZnVuY3Rpb24oKXt2YXIgYT11W0orMV07YSYmYSgp fTswPEomJnVbSi0xXT91W0pdPWZ1bmN0aW9uKCl7YihjKX06YihjKX07aWYoQ1tE XSl7dmFyIG5iPSJsb2FkZWRfIitZLkkrKztXW25iXT1mdW5jdGlvbihhKXt1W0pd KGEpO1dbbmJdPW51bGx9O2E9RmIoYyxDLCJnYXBpLiIrbmIsbik7bltzXVtOXShu LEMpO3ViKCJtbDAiLEMscCk7Yi5zeW5jfHxRLl9fX2dhcGlzeW5jP09iKGEpOk5i KGEpfWVsc2UgdVtKXShJYSl9ZWxzZSB3KEMpJiZkJiZkKCl9O3ZhciBRYj1mdW5j dGlvbihhKXtpZihZLmhlZSYmMDxZLmhlbCl0cnl7cmV0dXJuIGEoKX1jYXRjaChi KXtZLmhlbC0tLFRiKCJkZWJ1Z19lcnJvciIsZnVuY3Rpb24oKXt0cnl7ay5fX19q c2wuaGVmbihiKX1jYXRjaChhKXt0aHJvdyBiO319KX1lbHNlIHJldHVybiBhKCl9 O1cubG9hZD1mdW5jdGlvbihhLGIpe3JldHVybiBRYihmdW5jdGlvbigpe3JldHVy biBUYihhLGIpfSl9O3ZhciBVYj1mdW5jdGlvbihhKXt2YXIgYj1rLl9fX2pzbD1r Ll9fX2pzbHx8e307YlthXT1iW2FdfHxbXTtyZXR1cm4gYlthXX0sVmI9ZnVuY3Rp b24oYSl7dmFyIGI9ay5fX19qc2w9ay5fX19qc2x8fHt9O2IuY2ZnPSFhJiZiLmNm Z3x8e307cmV0dXJuIGIuY2ZnfSxXYj1mdW5jdGlvbihhKXtyZXR1cm4ib2JqZWN0 Ij09PXR5cGVvZiBhJiYvXFtuYXRpdmUgY29kZVxdL1t0XShhW3NdKX0sWGI9ZnVu Y3Rpb24oYSxiKXtpZihiKWZvcih2YXIgYyBpbiBiKWIuaGFzT3duUHJvcGVydHko YykmJihhW2NdJiZiW2NdJiYib2JqZWN0Ij09PXR5cGVvZiBhW2NdJiYib2JqZWN0 Ij09PXR5cGVvZiBiW2NdJiYhV2IoYVtjXSkmJiFXYihiW2NdKT9YYihhW2NdLGJb Y10pOmJbY10mJiJvYmplY3QiPT09dHlwZW9mIGJbY10/KGFbY109V2IoYltjXSk/ W106e30sWGIoYVtjXSxiW2NdKSk6YVtjXT1iW2NdKX0sWWI9ZnVuY3Rpb24oYSl7 aWYoYSYmIS9eXHMrJC9bdF0oYSkpe2Zvcig7MD09YVtMXShhW0RdLQoxKTspYT1h W3hhXSgwLGFbRF0tMSk7dmFyIGI7dHJ5e2I9a1tvYV0ucGFyc2UoYSl9Y2F0Y2go Yyl7fWlmKCJvYmplY3QiPT09dHlwZW9mIGIpcmV0dXJuIGI7dHJ5e2I9KG5ldyBG dW5jdGlvbigicmV0dXJuICgiK2ErIlxuKSIpKSgpfWNhdGNoKGQpe31pZigib2Jq ZWN0Ij09PXR5cGVvZiBiKXJldHVybiBiO3RyeXtiPShuZXcgRnVuY3Rpb24oInJl dHVybiAoeyIrYSsiXG59KSIpKSgpfWNhdGNoKGUpe31yZXR1cm4ib2JqZWN0Ij09 PXR5cGVvZiBiP2I6e319fSxaYj1mdW5jdGlvbihhKXtWYighMCk7dmFyIGI9ay5f X19nY2ZnLGM9VWIoImN1Iik7aWYoYiYmYiE9PWsuX19fZ3Upe3ZhciBkPXt9O1hi KGQsYik7Y1tzXShkKTtrLl9fX2d1PWJ9dmFyIGI9VWIoImN1IiksZT1xLnNjcmlw dHN8fHFbdWFdKCJzY3JpcHQiKXx8W10sZD1bXSxmPVtdO2Zbc11bTl0oZixVYigi dXMiKSk7Zm9yKHZhciBnPTA7ZzxlW0RdOysrZylmb3IodmFyIGg9ZVtnXSxsPTA7 bDxmW0RdOysrbCloLnNyYyYmCjA9PWguc3JjW3hdKGZbbF0pJiZkW3NdKGgpOzA9 PWRbRF0mJjA8ZVtEXSYmZVtlW0RdLTFdLnNyYyYmZFtzXShlW2VbRF0tMV0pO2Zv cihlPTA7ZTxkW0RdOysrZSlkW2VdW0tdKCJnYXBpX3Byb2Nlc3NlZCIpfHwoZFtl XVt6XSgiZ2FwaV9wcm9jZXNzZWQiLCEwKSwoZj1kW2VdKT8oZz1mLm5vZGVUeXBl LGY9Mz09Z3x8ND09Zz9mLm5vZGVWYWx1ZTpmLnRleHRDb250ZW50fHxmLmlubmVy VGV4dHx8Zi5pbm5lckhUTUx8fCIiKTpmPXZvaWQgMCwoZj1ZYihmKSkmJmJbc10o ZikpO2EmJihkPXt9LFhiKGQsYSksY1tzXShkKSk7ZD1VYigiY2QiKTthPTA7Zm9y KGI9ZFtEXTthPGI7KythKVhiKFZiKCksZFthXSk7ZD1VYigiY2kiKTthPTA7Zm9y KGI9ZFtEXTthPGI7KythKVhiKFZiKCksZFthXSk7YT0wO2ZvcihiPWNbRF07YTxi OysrYSlYYihWYigpLGNbYV0pfSxaPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBW YigpO2E9YVtGXSgiLyIpO2Zvcih2YXIgYj1WYigpLGM9MCxkPWFbRF07YiYmCiJv YmplY3QiPT09dHlwZW9mIGImJmM8ZDsrK2MpYj1iW2FbY11dO3JldHVybiBjPT09 YVtEXSYmdm9pZCAwIT09Yj9iOnZvaWQgMH0sJGI9ZnVuY3Rpb24oYSxiKXt2YXIg Yz1hO2lmKCJzdHJpbmciPT09dHlwZW9mIGEpe2Zvcih2YXIgZD1jPXt9LGU9YVtG XSgiLyIpLGY9MCxnPWVbRF07ZjxnLTE7KytmKXZhciBoPXt9LGQ9ZFtlW2ZdXT1o O2RbZVtmXV09Yn1aYihjKX07dmFyIGFjPWZ1bmN0aW9uKCl7dmFyIGE9ay5fX0dP T0dMRUFQSVM7YSYmKGEuZ29vZ2xlYXBpcyYmIWFbImdvb2dsZWFwaXMuY29uZmln Il0mJihhWyJnb29nbGVhcGlzLmNvbmZpZyJdPWEuZ29vZ2xlYXBpcyksUyhZLCJj aSIsW10pW3NdKGEpLGsuX19HT09HTEVBUElTPXZvaWQgMCl9O3ZhciBiYz17Y2Fs bGJhY2s6MSxjbGllbnRpZDoxLGNvb2tpZXBvbGljeToxLG9wZW5pZHJlYWxtOi0x LGluY2x1ZGVncmFudGVkc2NvcGVzOi0xLHJlcXVlc3R2aXNpYmxlYWN0aW9uczox LHNjb3BlOjF9LGNjPSExLGRjPVQoKSxlYz1mdW5jdGlvbigpe2lmKCFjYyl7Zm9y KHZhciBhPXFbdWFdKCJtZXRhIiksYj0wO2I8YVtEXTsrK2Ipe3ZhciBjPWFbYl0u bmFtZVtEYV0oKTtpZigwPT1jLmxhc3RJbmRleE9mKCJnb29nbGUtc2lnbmluLSIs MCkpe3ZhciBjPWNbeGFdKDE0KSxkPWFbYl0uY29udGVudDtiY1tjXSYmZCYmKGRj W2NdPWQpfX1pZihrLnNlbGYhPT1rLnRvcCl7dmFyIGE9cVtHXVtCXSgpLGU7Zm9y KGUgaW4gYmMpMDxiY1tlXSYmKGI9WChhLGUsIiIpKSYmKGRjW2VdPWIpfWNjPSEw fWU9VCgpO1YoZGMsZSk7cmV0dXJuIGV9LGZjPWZ1bmN0aW9uKGEpe3JldHVybiEh KGEuY2xpZW50aWQmJmEuc2NvcGUmJmEuY2FsbGJhY2spfTt2YXIgZ2M9ay5jb25z b2xlLGhjPWZ1bmN0aW9uKGEpe2djJiZnYy5sb2cmJmdjLmxvZyhhKX07dmFyIGlj PWZ1bmN0aW9uKCl7cmV0dXJuISFZLm9hfSxqYz1mdW5jdGlvbigpe307dmFyICQ9 UyhZLCJydyIsVCgpKSxrYz1mdW5jdGlvbihhKXtmb3IodmFyIGIgaW4gJClhKCRb Yl0pfSxsYz1mdW5jdGlvbihhLGIpe3ZhciBjPSRbYV07YyYmYy5zdGF0ZTxiJiYo Yy5zdGF0ZT1iKX07dmFyIG1jO3ZhciBuYz0vXmh0dHBzPzpcL1wvKD86XHd8W1wt XC5dKStcLmdvb2dsZVwuKD86XHd8W1wtOlwuXSkrKD86XC9bXlw/XCNdKik/XC91 XC8oXGQpXC8vLG9jPS9eaHR0cHM/OlwvXC8oPzpcd3xbXC1cLl0pK1wuZ29vZ2xl XC4oPzpcd3xbXC06XC5dKSsoPzpcL1teXD9cI10qKT9cL2JcLyhcZHsxMCx9KVwv LyxwYz1mdW5jdGlvbihhKXt2YXIgYj1aKCJnb29nbGVhcGlzLmNvbmZpZy9zZXNz aW9uSW5kZXgiKTtudWxsPT1iJiYoYj1rLl9fWF9HT09HX0FVVEhVU0VSKTtpZihu dWxsPT1iKXt2YXIgYz1rLmdvb2dsZTtjJiYoYj1jLmF1dGh1c2VyKX1udWxsPT1i JiYoYT1hfHxrW0ddW01dLGI9WChhLCJhdXRodXNlciIpfHxudWxsLG51bGw9PWIm JihiPShiPWFbcWFdKG5jKSk/YlsxXTpudWxsKSk7cmV0dXJuIG51bGw9PWI/bnVs bDpyKGIpfSxxYz1mdW5jdGlvbihhKXt2YXIgYj1aKCJnb29nbGVhcGlzLmNvbmZp Zy9zZXNzaW9uRGVsZWdhdGUiKTtudWxsPT1iJiYoYj0oYT0oYXx8a1tHXVtNXSlb cWFdKG9jKSk/CmFbMV06bnVsbCk7cmV0dXJuIG51bGw9PWI/bnVsbDpyKGIpfTt2 YXIgcmM9ZnVuY3Rpb24oKXt0aGlzLmM9LTF9O3ZhciBzYz1mdW5jdGlvbigpe3Ro aXMuYz0tMTt0aGlzLmM9NjQ7dGhpcy5iPVtdO3RoaXMucD1bXTt0aGlzLk49W107 dGhpcy5uPVtdO3RoaXMublswXT0xMjg7Zm9yKHZhciBhPTE7YTx0aGlzLmM7Kyth KXRoaXMublthXT0wO3RoaXMubD10aGlzLmc9MDt0aGlzLnJlc2V0KCl9OyhmdW5j dGlvbigpe2Z1bmN0aW9uIGEoKXt9YS5wcm90b3R5cGU9cmNbRV07c2MuYWE9cmNb RV07c2MucHJvdG90eXBlPW5ldyBhO3NjLkg9ZnVuY3Rpb24oYSxjLGQpe3JldHVy biByY1tFXVtjXVtOXShhLGNhW0VdW2thXVtJXShhcmd1bWVudHMsMikpfX0pKCk7 c2NbRV0ucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmJbMF09MTczMjU4NDE5Mzt0aGlz LmJbMV09NDAyMzIzMzQxNzt0aGlzLmJbMl09MjU2MjM4MzEwMjt0aGlzLmJbM109 MjcxNzMzODc4O3RoaXMuYls0XT0zMjg1Mzc3NTIwO3RoaXMubD10aGlzLmc9MH07 CnZhciB0Yz1mdW5jdGlvbihhLGIsYyl7Y3x8KGM9MCk7dmFyIGQ9YS5OO2lmKCJz dHJpbmciPT10eXBlb2YgYilmb3IodmFyIGU9MDsxNj5lO2UrKylkW2VdPWJbTF0o Yyk8PDI0fGJbTF0oYysxKTw8MTZ8YltMXShjKzIpPDw4fGJbTF0oYyszKSxjKz00 O2Vsc2UgZm9yKGU9MDsxNj5lO2UrKylkW2VdPWJbY108PDI0fGJbYysxXTw8MTZ8 YltjKzJdPDw4fGJbYyszXSxjKz00O2ZvcihlPTE2OzgwPmU7ZSsrKXt2YXIgZj1k W2UtM11eZFtlLThdXmRbZS0xNF1eZFtlLTE2XTtkW2VdPShmPDwxfGY+Pj4zMSkm NDI5NDk2NzI5NX1iPWEuYlswXTtjPWEuYlsxXTtmb3IodmFyIGc9YS5iWzJdLGg9 YS5iWzNdLGw9YS5iWzRdLG4sZT0wOzgwPmU7ZSsrKTQwPmU/MjA+ZT8oZj1oXmMm KGdeaCksbj0xNTE4NTAwMjQ5KTooZj1jXmdeaCxuPTE4NTk3NzUzOTMpOjYwPmU/ KGY9YyZnfGgmKGN8Zyksbj0yNDAwOTU5NzA4KTooZj1jXmdeaCxuPTMzOTU0Njk3 ODIpLGY9KGI8PDV8Yj4+PjI3KStmKwpsK24rZFtlXSY0Mjk0OTY3Mjk1LGw9aCxo PWcsZz0oYzw8MzB8Yz4+PjIpJjQyOTQ5NjcyOTUsYz1iLGI9ZjthLmJbMF09YS5i WzBdK2ImNDI5NDk2NzI5NTthLmJbMV09YS5iWzFdK2MmNDI5NDk2NzI5NTthLmJb Ml09YS5iWzJdK2cmNDI5NDk2NzI5NTthLmJbM109YS5iWzNdK2gmNDI5NDk2NzI5 NTthLmJbNF09YS5iWzRdK2wmNDI5NDk2NzI5NX07CnNjW0VdLnVwZGF0ZT1mdW5j dGlvbihhLGIpe3ZvaWQgMD09PWImJihiPWFbRF0pO2Zvcih2YXIgYz1iLXRoaXMu YyxkPTAsZT10aGlzLnAsZj10aGlzLmc7ZDxiOyl7aWYoMD09Zilmb3IoO2Q8PWM7 KXRjKHRoaXMsYSxkKSxkKz10aGlzLmM7aWYoInN0cmluZyI9PXR5cGVvZiBhKWZv cig7ZDxiOyl7aWYoZVtmXT1hW0xdKGQpLCsrZiwrK2QsZj09dGhpcy5jKXt0Yyh0 aGlzLGUpO2Y9MDticmVha319ZWxzZSBmb3IoO2Q8YjspaWYoZVtmXT1hW2RdLCsr ZiwrK2QsZj09dGhpcy5jKXt0Yyh0aGlzLGUpO2Y9MDticmVha319dGhpcy5nPWY7 dGhpcy5sKz1ifTt2YXIgdWM9ZnVuY3Rpb24oKXt0aGlzLnE9bmV3IHNjfTt1Y1tF XS5yZXNldD1mdW5jdGlvbigpe3RoaXMucS5yZXNldCgpfTt2YXIgQmM9ZnVuY3Rp b24oKXt2YXIgYTt2Yz8oYT1uZXcgUS5VaW50MzJBcnJheSgxKSx3Yy5nZXRSYW5k b21WYWx1ZXMoYSksYT1OdW1iZXIoIjAuIithWzBdKSk6KGE9eGMsYSs9ZGEoeWNb QV0oMCwyMCksMTYpLHljPXpjKHljKSxhLz1BYytNYXRoLnBvdygxNiwyMCkpO3Jl dHVybiBhfSx3Yz1RLmNyeXB0byx2Yz0hMSxDYz0wLERjPTAseGM9MSxBYz0wLHlj PSIiLEVjPWZ1bmN0aW9uKGEpe2E9YXx8US5ldmVudDt2YXIgYj1hLnNjcmVlblgr YS5jbGllbnRYPDwxNixiPWIrKGEuc2NyZWVuWSthLmNsaWVudFkpLGI9KG5ldyBE YXRlKVt0YV0oKSUxRTYqYjt4Yz14YypiJUFjOzA8Q2MmJisrRGM9PUNjJiZiYigi bW91c2Vtb3ZlIixFYywicmVtb3ZlIiwiZGUiKX0semM9ZnVuY3Rpb24oYSl7dmFy IGI9bmV3IHVjO2E9dW5lc2NhcGUoYWEoYSkpO2Zvcih2YXIgYz1bXSxkPTAsZT1h W0RdO2Q8ZTsrK2QpY1tzXShhW0xdKGQpKTtiLnFbQmFdKGMpO2E9Yi5xO2I9W107 ZD04KmEubDsKNTY+YS5nP2FbQmFdKGEubiw1Ni1hLmcpOmFbQmFdKGEubixhLmMt KGEuZy01NikpO2ZvcihjPWEuYy0xOzU2PD1jO2MtLSlhLnBbY109ZCYyNTUsZC89 MjU2O3RjKGEsYS5wKTtmb3IoYz1kPTA7NT5jO2MrKylmb3IoZT0yNDswPD1lO2Ut PTgpYltkXT1hLmJbY10+PmUmMjU1LCsrZDthPSIiO2ZvcihjPTA7YzxiW0RdO2Mr KylhKz0iMDEyMzQ1Njc4OUFCQ0RFRiJbbmFdKE1hdGguZmxvb3IoYltjXS8xNikp KyIwMTIzNDU2Nzg5QUJDREVGIltuYV0oYltjXSUxNik7cmV0dXJuIGF9LHZjPSEh d2MmJiJmdW5jdGlvbiI9PXR5cGVvZiB3Yy5nZXRSYW5kb21WYWx1ZXM7CnZjfHwo QWM9MUU2KihzY3JlZW5bamFdKnNjcmVlbltqYV0rc2NyZWVuW0NhXSkseWM9emMo Ui5jb29raWUrInwiK1JbR10rInwiKyhuZXcgRGF0ZSlbdGFdKCkrInwiK01hdGgu cmFuZG9tKCkpLENjPVooInJhbmRvbS9tYXhPYnNlcnZlTW91c2Vtb3ZlIil8fDAs MCE9Q2MmJmJiKCJtb3VzZW1vdmUiLEVjLCJhZGQiLCJhdCIpKTt2YXIgRmM9ZnVu Y3Rpb24oKXt2YXIgYT1ZLm9ubDtpZighYSl7YT1UKCk7WS5vbmw9YTt2YXIgYj1U KCk7YS5lPWZ1bmN0aW9uKGEpe3ZhciBkPWJbYV07ZCYmKGRlbGV0ZSBiW2FdLGQo KSl9O2EuYT1mdW5jdGlvbihhLGQpe2JbYV09ZH07YS5yPWZ1bmN0aW9uKGEpe2Rl bGV0ZSBiW2FdfX1yZXR1cm4gYX0sR2M9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLm9u bG9hZDtyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mIGM/KEZjKCkuYShhLGMpLGMp Om51bGx9LEhjPWZ1bmN0aW9uKGEpe1VhKC9eXHcrJC9bdF0oYSksIlVuc3VwcG9y dGVkIGlkIC0gIithKTtGYygpO3JldHVybidvbmxvYWQ9IndpbmRvdy5fX19qc2wu b25sLmUoJiMzNDsnK2ErJyYjMzQ7KSInfSxJYz1mdW5jdGlvbihhKXtGYygpLnIo YSl9O3ZhciBKYz17YWxsb3d0cmFuc3BhcmVuY3k6InRydWUiLGZyYW1lYm9yZGVy OiIwIixoc3BhY2U6IjAiLG1hcmdpbmhlaWdodDoiMCIsbWFyZ2lud2lkdGg6IjAi LHNjcm9sbGluZzoibm8iLHN0eWxlOiIiLHRhYmluZGV4OiIwIix2c3BhY2U6IjAi LHdpZHRoOiIxMDAlIn0sS2M9e2FsbG93dHJhbnNwYXJlbmN5OiEwLG9ubG9hZDoh MH0sTGM9MCxNYz1mdW5jdGlvbihhKXtVYSghYXx8YWJbdF0oYSksIklsbGVnYWwg dXJsIGZvciBuZXcgaWZyYW1lIC0gIithKX0sTmM9ZnVuY3Rpb24oYSxiLGMsZCxl KXtNYyhjLnNyYyk7dmFyIGYsZz1HYyhkLGMpLGg9Zz9IYyhkKToiIjt0cnl7Zj1h W3ldKCc8aWZyYW1lIGZyYW1lYm9yZGVyPSInK1JhKHIoYy5mcmFtZWJvcmRlcikp KyciIHNjcm9sbGluZz0iJytSYShyKGMuc2Nyb2xsaW5nKSkrJyIgJytoKycgbmFt ZT0iJytSYShyKGMubmFtZSkpKyciLz4nKX1jYXRjaChsKXtmPWFbeV0oImlmcmFt ZSIpLGcmJihmLm9ubG9hZD1mdW5jdGlvbigpe2Yub25sb2FkPQpudWxsO2dbSV0o dGhpcyl9LEljKGQpKX1mb3IodmFyIG4gaW4gYylhPWNbbl0sInN0eWxlIj09PW4m JiJvYmplY3QiPT09dHlwZW9mIGE/VihhLGZbSF0pOktjW25dfHxmW3pdKG4scihh KSk7KG49ZSYmZS5iZWZvcmVOb2RlfHxudWxsKXx8ZSYmZS5kb250Y2xlYXJ8fGdi KGIpO2IuaW5zZXJ0QmVmb3JlKGYsbik7Zj1uP24ucHJldmlvdXNTaWJsaW5nOmIu bGFzdENoaWxkO2MuYWxsb3d0cmFuc3BhcmVuY3kmJihmLmFsbG93VHJhbnNwYXJl bmN5PSEwKTtyZXR1cm4gZn07dmFyIE9jPS9eOltcd10rJC8sUGM9LzooW2EtekEt Wl9dKyk6L2csUWM9ZnVuY3Rpb24oKXt2YXIgYT1wYygpfHwiMCIsYj1xYygpLGM7 Yz1wYyh2b2lkIDApfHxhO3ZhciBkPXFjKHZvaWQgMCksZT0iIjtjJiYoZSs9InUv IitjKyIvIik7ZCYmKGUrPSJiLyIrZCsiLyIpO2M9ZXx8bnVsbDsoZT0oZD0hMT09 PVooImlzTG9nZ2VkSW4iKSk/Il8vaW0vIjoiIikmJihjPSIiKTt2YXIgZj1aKCJp ZnJhbWVzLzpzb2NpYWxob3N0OiIpLGc9WigiaWZyYW1lcy86aW1fc29jaWFsaG9z dDoiKTtyZXR1cm4gbWM9e3NvY2lhbGhvc3Q6ZixjdHhfc29jaWFsaG9zdDpkP2c6 ZixzZXNzaW9uX2luZGV4OmEsc2Vzc2lvbl9kZWxlZ2F0ZTpiLHNlc3Npb25fcHJl Zml4OmMsaW1fcHJlZml4OmV9fSxSYz1mdW5jdGlvbihhLGIpe3JldHVybiBRYygp W2JdfHwiIn0sU2M9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIsYyl7cmV0 dXJuIGE/UWMoKVtjXXx8YVtjXXx8IiI6UWMoKVtjXXx8IiJ9fTt2YXIgVGM9eyJc YiI6IlxcYiIsIlx0IjoiXFx0IiwiXG4iOiJcXG4iLCJcZiI6IlxcZiIsIlxyIjoi XFxyIiwnIic6J1xcIicsIlxcIjoiXFxcXCJ9LFVjPWZ1bmN0aW9uKGEpe3ZhciBi LGMsZDtiPS9bXCJcXFx4MDAtXHgxZlx4N2YtXHg5Zl0vZztpZih2b2lkIDAhPT1h KXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgInN0cmluZyI6cmV0dXJuIGJbdF0oYSk/ JyInK2Fbdl0oYixmdW5jdGlvbihhKXt2YXIgYj1UY1thXTtpZihiKXJldHVybiBi O2I9YVtMXSgpO3JldHVybiJcXHUwMCIrTWF0aC5mbG9vcihiLzE2KVtCXSgxNikr KGIlMTYpW0JdKDE2KX0pKyciJzonIicrYSsnIic7Y2FzZSAibnVtYmVyIjpyZXR1 cm4gaXNGaW5pdGUoYSk/cihhKToibnVsbCI7Y2FzZSAiYm9vbGVhbiI6Y2FzZSAi bnVsbCI6cmV0dXJuIHIoYSk7Y2FzZSAib2JqZWN0IjppZighYSlyZXR1cm4ibnVs bCI7Yj1bXTtpZigibnVtYmVyIj09PXR5cGVvZiBhW0RdJiYhYS5wcm9wZXJ0eUlz RW51bWVyYWJsZSgibGVuZ3RoIikpe2Q9CmFbRF07Zm9yKGM9MDtjPGQ7Yys9MSli W3NdKFVjKGFbY10pfHwibnVsbCIpO3JldHVybiJbIitiW1BdKCIsIikrIl0ifWZv cihjIGluIGEpIS9fX18kL1t0XShjKSYmVShhLGMpJiYic3RyaW5nIj09PXR5cGVv ZiBjJiYoZD1VYyhhW2NdKSkmJmJbc10oVWMoYykrIjoiK2QpO3JldHVybiJ7Iiti W1BdKCIsIikrIn0ifXJldHVybiIifX0sVmM9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0 dXJuITE7aWYoL15bXF0sOnt9XHNdKiQvW3RdKGFbdl0oL1xcWyJcXFwvYi11XS9n LCJAIilbdl0oLyJbXiJcXFxuXHJdKiJ8dHJ1ZXxmYWxzZXxudWxsfC0/XGQrKD86 XC5cZCopPyg/OltlRV1bK1wtXT9cZCspPy9nLCJdIilbdl0oLyg/Ol58OnwsKSg/ OlxzKlxbKSsvZywiIikpKXRyeXtyZXR1cm4gZXZhbCgiKCIrYSsiKSIpfWNhdGNo KGIpe31yZXR1cm4hMX0sV2M9ITE7dHJ5e1djPSEha1tvYV0mJidbImEiXSc9PT1r W29hXS5zdHJpbmdpZnkoWyJhIl0pJiYiYSI9PT1rW29hXS5wYXJzZSgnWyJhIl0n KVswXX1jYXRjaChYYyl7fQp2YXIgWWM9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBr W29hXS5wYXJzZShhKX1jYXRjaChiKXtyZXR1cm4hMX19LFpjPVdjP2tbb2FdLnN0 cmluZ2lmeTpVYywkYz1XYz9ZYzpWYzt2YXIgYWQ9ZnVuY3Rpb24oYSl7dmFyIGI7 YVtxYV0oL15odHRwcz8lM0EvaSkmJihiPWVhKGEpKTtyZXR1cm4gJGEocSxiP2I6 YSl9LGJkPWZ1bmN0aW9uKGEpe2E9YXx8ImNhbm9uaWNhbCI7Zm9yKHZhciBiPXFb dWFdKCJsaW5rIiksYz0wLGQ9YltEXTtjPGQ7YysrKXt2YXIgZT1iW2NdLGY9ZVtL XSgicmVsIik7aWYoZiYmZltEYV0oKT09YSYmKGU9ZVtLXSgiaHJlZiIpKSYmKGU9 YWQoZSkpJiZudWxsIT1lW3FhXSgvXmh0dHBzPzpcL1wvW1x3XC1cX1wuXSsvaSkp cmV0dXJuIGV9cmV0dXJuIGtbR11bTV19O3ZhciBjZD17VToic2UifSxkZD17VToi YWQifSxlZD17YWQ6eyJ0cnVlIjoiMSIsImZhbHNlIjoiMiJ9fSxmZD17cG9zdDoh MH0sZ2Q9e3N0eWxlOiJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTEwMDAwcHg7d2lk dGg6NDUwcHg7bWFyZ2luOjBweDtib3JkZXItc3R5bGU6bm9uZSJ9LGhkPSJvblBs dXNPbmUgX3JlYWR5IF9jbG9zZSBfb3BlbiBfcmVzaXplTWUgX3JlbmRlcnN0YXJ0 IG9uY2lyY2xlZCBkcmVmcmVzaCBlcmVmcmVzaCIuc3BsaXQoIiAiKSxpZD1TKFks IldJIixUKCkpLGpkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO2Q9e307dmFyIGY9 ZT1hOyJwbHVzIj09YSYmYlt6YV0mJihlPWErIl8iK2JbemFdLGY9YSsiLyIrYlt6 YV0pOyhlPVooImlmcmFtZXMvIitlKyIvdXJsIikpfHwoZT0iOmltX3NvY2lhbGhv c3Q6LzpzZXNzaW9uX3ByZWZpeDo6aW1fcHJlZml4Ol8vd2lkZ2V0L3JlbmRlci8i K2YrIj91c2VnYXBpPTEiKTtmb3IodmFyIGcgaW4gY2QpaWYoZj1jZFtnXSxiW2Zd KWRbZl09CmYrIi8iK2JbZl0rIi8iO2Vsc2V7dmFyIGg9ZGRbZ107aCYmYltoXSYm KGRbZl09ZisiLyIrZWRbaF1bYltoXV0rIi8iKX1kPSRhKFIsZVt2XShQYyxTYyhk KSkpO2U9ImlmcmFtZXMvIithKyIvcGFyYW1zLyI7Zz17fTtWKGIsZyk7KGY9Wigi bGFuZyIpfHxaKCJnd2lkZ2V0L2xhbmciKSkmJihnLmhsPWYpO2ZkW2FdfHwoZy5v cmlnaW49a1tHXS5vcmlnaW58fGtbR11bd2FdKyIvLyIra1tHXS5ob3N0KTtnLmV4 cD1aKGUrImV4cCIpO2lmKGU9WihlKyJsb2NhdGlvbiIpKWZvcihmPTA7ZjxlW0Rd O2YrKyloPWVbZl0sZ1toXT1RW0ddW2hdO3N3aXRjaChhKXtjYXNlICJwbHVzIjpj YXNlICJmb2xsb3ciOmU9Z1tNXTtmPWJbemFdP3ZvaWQgMDoicHVibGlzaGVyIjtl PShlPSJzdHJpbmciPT10eXBlb2YgZT9lOnZvaWQgMCk/YWQoZSk6YmQoZik7Zy51 cmw9ZTtkZWxldGUgZ1tNXTticmVhaztjYXNlICJwbHVzb25lIjplPShlPWJbTV0p P2FkKGUpOmJkKCk7Zy51cmw9ZTtlPWIuZGI7Zj0KWigpO251bGw9PWUmJmYmJihl PWYuZGIsbnVsbD09ZSYmKGU9Zi5nd2lkZ2V0JiZmLmd3aWRnZXQuZGIpKTtnLmRi PWV8fHZvaWQgMDtlPWIuZWNwO2Y9WigpO251bGw9PWUmJmYmJihlPWYuZWNwLG51 bGw9PWUmJihlPWYuZ3dpZGdldCYmZi5nd2lkZ2V0LmVjcCkpO2cuZWNwPWV8fHZv aWQgMDtkZWxldGUgZ1tNXTticmVhaztjYXNlICJzaWduaW4iOmcudXJsPWJkKCl9 WS5JTEkmJihnLmlsb2FkZXI9IjEiKTtkZWxldGUgZ1siZGF0YS1vbmxvYWQiXTtk ZWxldGUgZy5yZDtmb3IodmFyIGwgaW4gY2QpZT1jZFtsXSxnW2VdJiZkZWxldGUg Z1tlXTtnLmdzcmM9WigiaWZyYW1lcy86c291cmNlOiIpO2w9WigiaW5saW5lL2Nz cyIpOyJ1bmRlZmluZWQiIT09dHlwZW9mIGwmJjA8YyYmbD49YyYmKGcuaWM9IjEi KTtsPS9eI3xeZnItLztjPXt9O2Zvcih2YXIgbiBpbiBnKVUoZyxuKSYmbFt0XShu KSYmKGNbblt2XShsLCIiKV09Z1tuXSxkZWxldGUgZ1tuXSk7bj0icSI9PVooImlm cmFtZXMvIisKYSsiL3BhcmFtcy9zaSIpP2c6YztsPWVjKCk7Zm9yKHZhciBtIGlu IGwpIVUobCxtKXx8VShnLG0pfHxVKGMsbSl8fChuW21dPWxbbV0pO209W11bbWFd KGhkKTsobj1aKCJpZnJhbWVzLyIrYSsiL21ldGhvZHMiKSkmJiJvYmplY3QiPT09 dHlwZW9mIG4mJkphW3RdKG5bc10pJiYobT1tW21hXShuKSk7Zm9yKHZhciBwIGlu IGIpVShiLHApJiYvXm9uL1t0XShwKSYmKCJwbHVzIiE9YXx8Im9uY29ubmVjdCIh PXApJiYobVtzXShwKSxkZWxldGUgZ1twXSk7ZGVsZXRlIGcuY2FsbGJhY2s7Yy5f bWV0aG9kcz1tW1BdKCIsIik7cmV0dXJuIFphKGQsZyxjKX0sa2Q9WyJzdHlsZSIs ImRhdGEtZ2FwaXNjYW4iXSxtZD1mdW5jdGlvbihhKXtmb3IodmFyIGI9VCgpLGM9 MCE9YVtwYV1bRGFdKClbeF0oImc6IiksZD0wLGU9YVtBYV1bRF07ZDxlO2QrKyl7 dmFyIGY9YVtBYV1bZF0sZz1mLm5hbWUsaD1mLnZhbHVlOzA8PUthW0ldKGtkLGcp fHxjJiYwIT1nW3hdKCJkYXRhLSIpfHwibnVsbCI9PT0KaHx8InNwZWNpZmllZCJp biBmJiYhZi5zcGVjaWZpZWR8fChjJiYoZz1nW0FdKDUpKSxiW2dbRGFdKCldPWgp fWE9YVtIXTsoYz1sZChhJiZhW0NhXSkpJiYoYi5oZWlnaHQ9cihjKSk7KGE9bGQo YSYmYVtqYV0pKSYmKGIud2lkdGg9cihhKSk7cmV0dXJuIGJ9LGxkPWZ1bmN0aW9u KGEpe3ZhciBiPXZvaWQgMDsibnVtYmVyIj09PXR5cGVvZiBhP2I9YToic3RyaW5n Ij09PXR5cGVvZiBhJiYoYj1kYShhLDEwKSk7cmV0dXJuIGJ9LG9kPWZ1bmN0aW9u KCl7dmFyIGE9WS5kcnc7a2MoZnVuY3Rpb24oYil7aWYoYSE9PWIuaWQmJjQhPWIu c3RhdGUmJiJzaGFyZSIhPWJbcmFdKXt2YXIgYz1iLmlkLGQ9YltyYV0sZT1iLnVy bDtiPWIudXNlclBhcmFtczt2YXIgZj1SW2xhXShjKTtpZihmKXt2YXIgZz1qZChk LGIsMCk7Zz8oZj1mW09dLGVbdl0oL1wjLiovLCIiKVt2XSgvKFw/fCYpaWM9MS8s IiIpIT09Z1t2XSgvXCMuKi8sIiIpW3ZdKC8oXD98JilpYz0xLywiIikmJihiLmRv bnRjbGVhcj0KITAsYi5yZD0hMCxiLnJpPSEwLGZhKGIsZCksbmQoZixiKSwoZD0k W2YubGFzdENoaWxkLmlkXSkmJihkLm9pZD1jKSxsYyhjLDQpKSk6ZGVsZXRlICRb Y119ZWxzZSBkZWxldGUgJFtjXX19KX07dmFyIHBkLHFkLHJkLHNkLHRkLHVkPS8o PzpefFxzKWctKChcUykqKSg/OiR8XHMpLyx2ZD17cGx1c29uZTohMCxhdXRvY29t cGxldGU6ITAscHJvZmlsZTohMCxzaWduaW46ITB9O3BkPVMoWSwiU1ciLFQoKSk7 cWQ9UyhZLCJTQSIsVCgpKTtyZD1TKFksIlNNIixUKCkpO3NkPVMoWSwiRlciLFtd KTt0ZD1udWxsOwp2YXIgeGQ9ZnVuY3Rpb24oYSxiKXt3ZCh2b2lkIDAsITEsYSxi KX0sd2Q9ZnVuY3Rpb24oYSxiLGMsZCl7c2IoInBzMCIsITApO2M9KCJzdHJpbmci PT09dHlwZW9mIGM/cVtsYV0oYyk6Yyl8fFI7dmFyIGU7ZT1SW3lhXTtpZihjLnF1 ZXJ5U2VsZWN0b3JBbGwmJighZXx8ODxlKSl7ZT1kP1tkXTpTYShwZClbbWFdKFNh KHFkKSlbbWFdKFNhKHJkKSk7Zm9yKHZhciBmPVtdLGc9MDtnPGVbRF07ZysrKXt2 YXIgaD1lW2ddO2Zbc10oIi5nLSIraCwiZ1xcOiIraCl9ZT1jLnF1ZXJ5U2VsZWN0 b3JBbGwoZltQXSgiLCIpKX1lbHNlIGU9Y1t1YV0oIioiKTtjPVQoKTtmb3IoZj0w O2Y8ZVtEXTtmKyspe2c9ZVtmXTt2YXIgbD1nLGg9ZCxuPWxbcGFdW0RhXSgpLG09 dm9pZCAwO2xbS10oImRhdGEtZ2FwaXNjYW4iKT9oPW51bGw6KDA9PW5beF0oImc6 Iik/bT1uW0FdKDIpOihsPShsPXIobC5jbGFzc05hbWV8fGxbS10oImNsYXNzIikp KSYmdWRbaWFdKGwpKSYmKG09bFsxXSksaD0hbXx8IShwZFttXXx8CnFkW21dfHxy ZFttXSl8fGgmJm0hPT1oP251bGw6bSk7aCYmKHZkW2hdfHwwPT1nW3BhXVtEYV0o KVt4XSgiZzoiKXx8MCE9U2EobWQoZykpW0RdKSYmKGdbel0oImRhdGEtZ2FwaXNj YW4iLCEwKSxTKGMsaCxbXSlbc10oZykpfWlmKGIpZm9yKHZhciBwIGluIGMpZm9y KGI9Y1twXSxkPTA7ZDxiW0RdO2QrKyliW2RdW3pdKCJkYXRhLW9ubG9hZCIsITAp O2Zvcih2YXIgdyBpbiBjKXNkW3NdKHcpO3NiKCJwczEiLCEwKTtpZigocD1zZFtQ XSgiOiIpKXx8YSl0cnl7Vy5sb2FkKHAsYSl9Y2F0Y2goQyl7aGMoQyk7cmV0dXJu fWlmKHlkKHRkfHx7fSkpZm9yKHZhciB1IGluIGMpe2E9Y1t1XTt3PTA7Zm9yKGI9 YVtEXTt3PGI7dysrKWFbd10ucmVtb3ZlQXR0cmlidXRlKCJkYXRhLWdhcGlzY2Fu Iik7emQodSl9ZWxzZXtkPVtdO2Zvcih1IGluIGMpZm9yKGE9Y1t1XSx3PTAsYj1h W0RdO3c8Yjt3KyspZT1hW3ddLEFkKHUsZSxtZChlKSxkLGIpO0JkKHAsZCl9fSxD ZD1mdW5jdGlvbihhKXt2YXIgYj0KUyhXLGEse30pO2IuZ298fChiLmdvPWZ1bmN0 aW9uKGIpe3JldHVybiB4ZChiLGEpfSxiLnJlbmRlcj1mdW5jdGlvbihiLGQpe3Zh ciBlPWR8fHt9O2ZhKGUsYSk7cmV0dXJuIG5kKGIsZSl9KX0sRGQ9ZnVuY3Rpb24o YSl7cGRbYV09ITB9LEVkPWZ1bmN0aW9uKGEpe3FkW2FdPSEwfSxGZD1mdW5jdGlv bihhKXtyZFthXT0hMH07dmFyIHpkPWZ1bmN0aW9uKGEsYil7dmFyIGM9a2IoYSk7 YiYmYz8oYyhiKSwoYz1iLmlmcmFtZU5vZGUpJiZjW3pdKCJkYXRhLWdhcGlhdHRh Y2hlZCIsITApKTpXLmxvYWQoYSxmdW5jdGlvbigpe3ZhciBjPWtiKGEpLGU9YiYm Yi5pZnJhbWVOb2RlO2UmJmM/KGMoYiksZVt6XSgiZGF0YS1nYXBpYXR0YWNoZWQi LCEwKSk6KDAsV1thXS5nbykoZSYmZVtPXSl9KX0seWQ9ZnVuY3Rpb24oKXtyZXR1 cm4hMX0sQmQ9ZnVuY3Rpb24oKXt9LEFkPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtz d2l0Y2goR2QoYixhLGYpKXtjYXNlIDA6YT1yZFthXT9hKyJfYW5ub3RhdGlvbiI6 YTtkPXt9O2QuaWZyYW1lTm9kZT1iO2QudXNlclBhcmFtcz1jO3pkKGEsZCk7YnJl YWs7Y2FzZSAxOnZhciBnO2lmKGJbT10pe2Zvcih2YXIgaCBpbiBjKXtpZihmPVUo YyxoKSlmPWNbaF0sZj0hIWYmJiJvYmplY3QiPT09dHlwZW9mIGYmJighZltCXXx8 ZltCXT09PWJhW0VdW0JdfHxmW0JdPT09Y2FbRV1bQl0pO2lmKGYpdHJ5e2NbaF09 ClpjKGNbaF0pfWNhdGNoKGwpe2RlbGV0ZSBjW2hdfX12YXIgbj0hMDtjLmRvbnRj bGVhciYmKG49ITEpO2RlbGV0ZSBjLmRvbnRjbGVhcjtqYygpO2Y9amQoYSxjLGUp O2g9e2FsbG93UG9zdDoxLGF0dHJpYnV0ZXM6Z2R9O2guZG9udGNsZWFyPSFuO2U9 e307ZS51c2VyUGFyYW1zPWM7ZS51cmw9ZjtmYShlLGEpO3ZhciBtO2MucmQ/bT1i OihtPXFbeV0oImRpdiIpLGJbel0oImRhdGEtZ2FwaXN0dWIiLCEwKSxtW0hdLmNz c1RleHQ9InBvc2l0aW9uOmFic29sdXRlO3dpZHRoOjQ1MHB4O2xlZnQ6LTEwMDAw cHg7IixiW09dLmluc2VydEJlZm9yZShtLGIpKTtlLnNpdGVFbGVtZW50PW07bS5p ZHx8KGI9bSxTKGlkLGEsMCksbj0iX19fIithKyJfIitpZFthXSsrLGIuaWQ9bik7 Yj1UKCk7YlsiPnR5cGUiXT1hO1YoYyxiKTtuPWY7Yz1tO2Y9aHx8e307Yj1mW0Fh XXx8e307VWEoIWYuYWxsb3dQb3N0fHwhYi5vbmxvYWQsIm9ubG9hZCBpcyBub3Qg c3VwcG9ydGVkIGJ5IHBvc3QgaWZyYW1lIik7Cmg9Yj1uO09jW3RdKGIpJiYoaD1a KCJpZnJhbWVzLyIraFt4YV0oMSkrIi91cmwiKSxVYSghIWgsIlVua25vd24gaWZy YW1lIHVybCBjb25maWcgZm9yIC0gIitiKSk7bj0kYShSLGhbdl0oUGMsUmMpKTti PWMub3duZXJEb2N1bWVudHx8UjttPTA7ZG8gaD1mLmlkfHxbIkkiLExjKyssIl8i LChuZXcgRGF0ZSlbdGFdKCldW1BdKCIiKTt3aGlsZShiW2xhXShoKSYmNT4rK20p O1VhKDU+bSwiRXJyb3IgY3JlYXRpbmcgaWZyYW1lIGlkIik7bT17fTt2YXIgcD17 fTtiW3lhXSYmOT5iW3lhXSYmKG0uaG9zdGllbW9kZT1iW3lhXSk7VihmLnF1ZXJ5 UGFyYW1zfHx7fSxtKTtWKGYuZnJhZ21lbnRQYXJhbXN8fHt9LHApO3ZhciB3PWYu Y29ubmVjdFdpdGhRdWVyeVBhcmFtcz9tOnAsQz1mLnBmbmFtZSx1PVQoKTt1Lmlk PWg7dS5wYXJlbnQ9YltHXVt3YV0rIi8vIitiW0ddLmhvc3Q7dmFyIEo9WChiW0dd W01dLCJwYXJlbnQiKSxDPUN8fCIiOyFDJiZKJiYoSj1YKGJbR11bTV0sImlkIiwi IiksCkM9WChiW0ddW01dLCJwZm5hbWUiLCIiKSxDPUo/QysiLyIrSjoiIik7dS5w Zm5hbWU9QztWKHUsdyk7KHU9WChuLCJycGN0b2tlbiIpfHxtLnJwY3Rva2VufHxw LnJwY3Rva2VuKXx8KHU9dy5ycGN0b2tlbj1mLnJwY3Rva2VufHxyKE1hdGgucm91 bmQoMUU4KkJjKCkpKSk7Zi5ycGN0b2tlbj11O3U9YltHXVtNXTt3PVQoKTsoSj1Y KHUsIl9ic2giLFkuYnNoKSkmJih3Ll9ic2g9Sik7KHU9aWIodSkpJiYody5qc2g9 dSk7Zi5oaW50SW5GcmFnbWVudD9WKHcscCk6Vih3LG0pO249WmEobixtLHAsZi5w YXJhbXNTZXJpYWxpemVyKTtwPVQoKTtWKEpjLHApO1YoZltBYV0scCk7cC5uYW1l PXAuaWQ9aDtwLnNyYz1uO2YuZXVybD1uO2lmKChmfHx7fSkuYWxsb3dQb3N0JiYy RTM8bltEXSl7bT1XYShuKTtwLnNyYz0iIjtwWyJkYXRhLXBvc3RvcmlnaW4iXT1u O249TmMoYixjLHAsaCk7LTEhPW5hdmlnYXRvci51c2VyQWdlbnRbeF0oIldlYktp dCIpJiYoZz1uLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQsCmcub3BlbigpLHA9Z1t5 XSgiZGl2Iiksdz17fSx1PWgrIl9pbm5lciIsdy5uYW1lPXUsdy5zcmM9IiIsdy5z dHlsZT0iZGlzcGxheTpub25lIixOYyhiLHAsdyx1LGYpKTtwPShmPW0ualswXSk/ ZltGXSgiJiIpOltdO2Y9W107Zm9yKHc9MDt3PHBbRF07dysrKXU9cFt3XVtGXSgi PSIsMiksZltzXShbZWEodVswXSksZWEodVsxXSldKTttLmo9W107cD1YYShtKTtt PWJbeV0oImZvcm0iKTttLmFjdGlvbj1wO20ubWV0aG9kPSJQT1NUIjttLnRhcmdl dD1oO21bSF0uZGlzcGxheT0ibm9uZSI7Zm9yKGg9MDtoPGZbRF07aCsrKXA9Ylt5 XSgiaW5wdXQiKSxmYShwLCJoaWRkZW4iKSxwLm5hbWU9ZltoXVswXSxwLnZhbHVl PWZbaF1bMV0sbVtnYV0ocCk7Y1tnYV0obSk7bS5zdWJtaXQoKTttW09dW3ZhXSht KTtnJiZnLmNsb3NlKCk7Zz1ufWVsc2UgZz1OYyhiLGMscCxoLGYpO2UuaWZyYW1l Tm9kZT1nO2UuaWQ9Z1tLXSgiaWQiKTtnPWUuaWQ7Yz1UKCk7Yy5pZD1nO2MudXNl clBhcmFtcz0KZS51c2VyUGFyYW1zO2MudXJsPWUudXJsO2ZhKGMsZVtyYV0pO2Mu c3RhdGU9MTskW2ddPWM7Zz1lfWVsc2UgZz1udWxsO2cmJigoZT1nLmlkKSYmZFtz XShlKSx6ZChhLGcpKX19LEdkPWZ1bmN0aW9uKGEsYixjKXtpZihhJiYxPT09YS5u b2RlVHlwZSYmYil7aWYoYylyZXR1cm4gMTtpZihyZFtiXSl7aWYoaGJbYVtwYV1b RGFdKCldKXJldHVybihhPWEuaW5uZXJIVE1MKSYmYVt2XSgvXltcc1x4YTBdK3xb XHNceGEwXSskL2csIiIpPzA6MX1lbHNle2lmKHFkW2JdKXJldHVybiAwO2lmKHBk W2JdKXJldHVybiAxfX1yZXR1cm4gbnVsbH0sbmQ9ZnVuY3Rpb24oYSxiKXt2YXIg Yz1iW3JhXTtkZWxldGUgYltyYV07dmFyIGQ9KCJzdHJpbmciPT09dHlwZW9mIGE/ cVtsYV0oYSk6YSl8fHZvaWQgMDtpZihkKXt2YXIgZT17fSxmO2ZvcihmIGluIGIp VShiLGYpJiYoZVtmW0RhXSgpXT1iW2ZdKTtlLnJkPTE7KGY9ISFlLnJpKSYmZGVs ZXRlIGUucmk7dmFyIGc9W107QWQoYyxkLGUsZywwLApmKTtCZChjLGcpfWVsc2Ug aGMoInN0cmluZyI9PT0iZ2FwaS4iK2MrIi5yZW5kZXI6IG1pc3NpbmcgZWxlbWVu dCAiK3R5cGVvZiBhP2E6IiIpfTtTKFcsInBsYXRmb3JtIix7fSkuZ289eGQ7dmFy IHlkPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bIl9jIiwianNsIiwiaCJdLGM9MDtj PGJbRF0mJmE7YysrKWE9YVtiW2NdXTtiPWliKEhhW01dKTtyZXR1cm4hYXx8MCE9 YVt4XSgibjsiKSYmMCE9Ylt4XSgibjsiKSYmYSE9PWJ9LEJkPWZ1bmN0aW9uKGEs Yil7SGQoYSxiKX0sZGI9ZnVuY3Rpb24oYSl7d2QoYSwhMCl9LElkPWZ1bmN0aW9u KGEsYil7Zm9yKHZhciBjPWJ8fFtdLGQ9MDtkPGNbRF07KytkKWEoY1tkXSk7Zm9y KGQ9MDtkPGNbRF07ZCsrKUNkKGNbZF0pfTsKd2Jbc10oWyJwbGF0Zm9ybSIsZnVu Y3Rpb24oYSxiLGMpe3RkPWM7YiYmc2Rbc10oYik7SWQoRGQsYSk7SWQoRWQsYy5f Yy5hbm5vdGF0aW9uKTtJZChGZCxjLl9jLmJpbW9kYWwpO2FjKCk7WmIoKTtpZigi ZXhwbGljaXQiIT1aKCJwYXJzZXRhZ3MiKSl7amIoYSk7ZmMoZWMoKSkmJiFaKCJk aXNhYmxlUmVhbHRpbWVDYWxsYmFjayIpJiZqYygpO3ZhciBkO2MmJihhPWMuY2Fs bGJhY2spJiYoZD1UYShhKSxkZWxldGUgYy5jYWxsYmFjayk7ZmIoZnVuY3Rpb24o KXtkYihkKX0pfX1dKTtXLl9wbD0hMDt2YXIgSmQ9ZnVuY3Rpb24oYSl7YT0oYT0k W2FdKT9hLm9pZDp2b2lkIDA7aWYoYSl7dmFyIGI9UltsYV0oYSk7YiYmYltPXVt2 YV0oYik7ZGVsZXRlICRbYV07SmQoYSl9fTt2YXIgS2Q9L15ce2hcOicvLExkPS9e IV8vLE1kPSIiLEhkPWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYygpe2JiKCJtZXNz YWdlIixkLCJyZW1vdmUiLCJkZSIpfWZ1bmN0aW9uIGQoZCl7dmFyIGc9ZC5kYXRh LGg9ZC5vcmlnaW47aWYoTmQoZyxiKSl7dmFyIGw9ZTtlPSExO2wmJnNiKCJycWUi KTtPZChhLGZ1bmN0aW9uKCl7bCYmc2IoInJxZCIpO2MoKTtmb3IodmFyIGE9UyhZ LCJSUE1RIixbXSksYj0wO2I8YVtEXTtiKyspYVtiXSh7ZGF0YTpnLG9yaWdpbjpo fSl9KX19aWYoMCE9PWJbRF0pe01kPVgoSGFbTV0sInBmbmFtZSIsIiIpO3ZhciBl PSEwO2JiKCJtZXNzYWdlIixkLCJhZGQiLCJhdCIpO1RiKGEsYyl9fSxOZD1mdW5j dGlvbihhLGIpe2E9cihhKTtpZihLZFt0XShhKSlyZXR1cm4hMDt2YXIgYz0hMTtM ZFt0XShhKSYmKGM9ITAsYT1hW0FdKDIpKTtpZighL15cey9bdF0oYSkpcmV0dXJu ITE7dmFyIGQ9JGMoYSk7aWYoIWQpcmV0dXJuITE7dmFyIGU9ZC5mO2lmKGQucyYm CmUmJi0xIT1LYVtJXShiLGUpKXtpZigiX3JlbmRlcnN0YXJ0Ij09PWQuc3x8ZC5z PT09TWQrIi8iK2UrIjo6X3JlbmRlcnN0YXJ0Iil7dmFyIGY9ZC5hJiZkLmFbYz8w OjFdLGM9UltsYV0oZSk7bGMoZSwyKTtpZihmJiZjJiZmW2phXSYmZltDYV0pe246 e2Q9Y1tPXTtlPWZ8fHt9O2lmKGljKCkpe3ZhciBnPWMuaWQ7aWYoZyl7Zj0oZj0k W2ddKT9mLnN0YXRlOnZvaWQgMDtpZigxPT09Znx8ND09PWYpYnJlYWsgbjtKZChn KX19KGY9ZC5uZXh0U2libGluZykmJmZbS10mJmZbS10oImRhdGEtZ2FwaXN0dWIi KSYmKGRbT11bdmFdKGYpLGRbSF0uY3NzVGV4dD0iIik7dmFyIGY9ZVtqYV0saD1l W0NhXSxsPWRbSF07bC50ZXh0SW5kZW50PSIwIjtsLm1hcmdpbj0iMCI7bC5wYWRk aW5nPSIwIjtsLmJhY2tncm91bmQ9InRyYW5zcGFyZW50IjtsLmJvcmRlclN0eWxl PSJub25lIjtsLmNzc0Zsb2F0PSJub25lIjtsLnN0eWxlRmxvYXQ9Im5vbmUiO2wu bGluZUhlaWdodD0ibm9ybWFsIjtsLmZvbnRTaXplPQoiMXB4IjtsLnZlcnRpY2Fs QWxpZ249ImJhc2VsaW5lIjtkPWRbSF07ZC5kaXNwbGF5PSJpbmxpbmUtYmxvY2si O2w9Y1tIXTtsLnBvc2l0aW9uPSJzdGF0aWMiO2wubGVmdD0wO2wudG9wPTA7bC52 aXNpYmlsaXR5PSJ2aXNpYmxlIjtmJiYoZC53aWR0aD1sLndpZHRoPWYrInB4Iik7 aCYmKGQuaGVpZ2h0PWwuaGVpZ2h0PWgrInB4Iik7ZS52ZXJ0aWNhbEFsaWduJiYo ZC52ZXJ0aWNhbEFsaWduPWUudmVydGljYWxBbGlnbik7ZyYmbGMoZywzKX1jWyJk YXRhLWNzaS13ZHQiXT0obmV3IERhdGUpW3RhXSgpfX1yZXR1cm4hMH1yZXR1cm4h MX0sT2Q9ZnVuY3Rpb24oYSxiKXtUYihhLGIpfTt2YXIgUGQ9ZnVuY3Rpb24oYSxi KXt0aGlzLkI9YTt2YXIgYz1ifHx7fTt0aGlzLlI9Yy5YO3RoaXMuQT1jLmRvbWFp bjt0aGlzLkM9Yy5wYXRoO3RoaXMuUz1jLll9LFFkPS9eWy0rL189Ljp8JSZhLXpB LVowLTlAXSokLyxSZD0vXltBLVpfXVtBLVowLTlfXXswLDYzfSQvOwpQZFtFXS53 cml0ZT1mdW5jdGlvbihhLGIpe2lmKCFSZFt0XSh0aGlzLkIpKXRocm93IkludmFs aWQgY29va2llIG5hbWUiO2lmKCFRZFt0XShhKSl0aHJvdyJJbnZhbGlkIGNvb2tp ZSB2YWx1ZSI7dmFyIGM9dGhpcy5CKyI9IithO3RoaXMuQSYmKGMrPSI7ZG9tYWlu PSIrdGhpcy5BKTt0aGlzLkMmJihjKz0iO3BhdGg9Iit0aGlzLkMpO3ZhciBkPSJu dW1iZXIiPT09dHlwZW9mIGI/Yjp0aGlzLlI7aWYoMDw9ZCl7dmFyIGU9bmV3IERh dGU7ZS5zZXRTZWNvbmRzKGUuZ2V0U2Vjb25kcygpK2QpO2MrPSI7ZXhwaXJlcz0i K2UudG9VVENTdHJpbmcoKX10aGlzLlMmJihjKz0iO3NlY3VyZSIpO3EuY29va2ll PWM7cmV0dXJuITB9O1BkLml0ZXJhdGU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXEu Y29va2llW0ZdKC87XHMqLyksYz0wO2M8YltEXTsrK2Mpe3ZhciBkPWJbY11bRl0o Ij0iKSxlPWRbaGFdKCk7YShlLGRbUF0oIj0iKSl9fTt2YXIgU2Q9ZnVuY3Rpb24o YSl7dGhpcy5WPWF9LFRkPXt9O1NkW0VdLndyaXRlPWZ1bmN0aW9uKGEpe1RkW3Ro aXMuVl09YTtyZXR1cm4hMH07U2QuaXRlcmF0ZT1mdW5jdGlvbihhKXtmb3IodmFy IGIgaW4gVGQpVGQuaGFzT3duUHJvcGVydHkoYikmJmEoYixUZFtiXSl9O3ZhciBV ZD0iaHR0cHM6Ij09PWtbR11bd2FdLFZkPVVkfHwiaHR0cDoiPT09a1tHXVt3YV0/ UGQ6U2QsV2Q9ZnVuY3Rpb24oYSl7dmFyIGI9YVtBXSgxKSxjPSIiLGQ9a1tHXS5o b3N0bmFtZTtpZigiIiE9PWIpe2M9ZGEoYiwxMCk7aWYoaXNOYU4oYykpcmV0dXJu IG51bGw7Yj1kW0ZdKCIuIik7aWYoYltEXTxjLTEpcmV0dXJuIG51bGw7YltEXT09 Yy0xJiYoZD0iLiIrZCl9ZWxzZSBkPSIiO3JldHVybntkOiJTIj09YVtuYV0oMCks ZG9tYWluOmQsaTpjfX0sWGQ9ZnVuY3Rpb24oYSl7aWYoMCE9PWFbeF0oIkdDU0Mi KSlyZXR1cm4gbnVsbDt2YXIgYj17dzohMX07YT1hW0FdKDQpO2lmKCFhKXJldHVy biBiO3ZhciBjPWFbbmFdKDApO2E9YVtBXSgxKTt2YXIgZD1hLmxhc3RJbmRleE9m KCJfIik7aWYoLTE9PWQpcmV0dXJuIGI7dmFyIGU9V2QoYVtBXShkKzEpKTtpZihu dWxsPT1lKXJldHVybiBiO2E9YVt4YV0oMCxkKTtpZigiXyIhPT1hW25hXSgwKSly ZXR1cm4gYjtkPSJFIj09PQpjJiZlLmQ7cmV0dXJuIWQmJigiVSIhPT1jfHxlLmQp fHxkJiYhVWQ/Yjp7dzohMCxkOmQsVzphW0FdKDEpLGRvbWFpbjplLmRvbWFpbixp OmUuaX19LFlkPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybltdO2E9YVtGXSgiPSIp O3JldHVybiBhWzFdP2FbMV1bRl0oInwiKTpbXX0sWmQ9ZnVuY3Rpb24oYSl7YT1h W0ZdKCI6Iik7cmV0dXJue3Q6YVswXVtGXSgiPSIpWzFdLE86WWQoYVsxXSksJDpZ ZChhWzJdKSxaOllkKGFbM10pfX0sJGQ9ZnVuY3Rpb24oKXt2YXIgYSxiPW51bGw7 VmQuaXRlcmF0ZShmdW5jdGlvbihjLGQpe2lmKDA9PT1jW3hdKCJHX0FVVEhVU0VS XyIpKXt2YXIgZT1XZChjW3hhXSgxMSkpO2lmKCFhfHxlLmQmJiFhLmR8fGUuZD09 YS5kJiZlLmk+YS5pKWE9ZSxiPWR9fSk7aWYobnVsbCE9PWIpe3ZhciBjO1ZkLml0 ZXJhdGUoZnVuY3Rpb24oYixkKXt2YXIgZT1YZChiKTtlJiZlLncmJmUuZD09YS5k JiZlLmk9PWEuaSYmKGM9ZCl9KTtpZihjKXt2YXIgZD1aZChjKSwKZT1kJiZkLk9b TnVtYmVyKGIpXSxkPWQmJmQudDtpZihlKXJldHVybntQOmIsUTplLHQ6ZH19fXJl dHVybiBudWxsfTt2YXIgYWU9ZnVuY3Rpb24oYSl7dGhpcy5HPWF9O2FlW0VdLms9 MDthZVtFXS5GPTI7YWVbRV0uRz1udWxsO2FlW0VdLnY9ITE7YWVbRV0uTD1mdW5j dGlvbigpe3RoaXMudnx8KHRoaXMuaz0wLHRoaXMudj0hMCx0aGlzLkQoKSl9O2Fl W0VdLkQ9ZnVuY3Rpb24oKXt0aGlzLnYmJih0aGlzLkcoKT90aGlzLms9dGhpcy5G OnRoaXMuaz1NYXRoLm1pbigyKih0aGlzLmt8fHRoaXMuRiksMTIwKSxrLnNldFRp bWVvdXQoR2EodGhpcy5ELHRoaXMpLDFFMyp0aGlzLmspKX07Zm9yKHZhciBiZT0w OzY0PmJlOysrYmUpO3ZhciBjZT1udWxsLGljPWZ1bmN0aW9uKCl7cmV0dXJuIFku b2E9ITB9LGpjPWZ1bmN0aW9uKCl7WS5vYT0hMDt2YXIgYT0kZCgpOyhhPWEmJmEu UCkmJiRiKCJnb29nbGVhcGlzLmNvbmZpZy9zZXNzaW9uSW5kZXgiLGEpO2NlfHwo Y2U9UyhZLCJzcyIsbmV3IGFlKGRlKSkpO2E9Y2U7YS5MJiZhLkwoKX0sZGU9ZnVu Y3Rpb24oKXt2YXIgYT0kZCgpLGI9YSYmYS5RfHxudWxsLGM9YSYmYS50O1RiKCJh dXRoIix7Y2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgYT1RLmdhcGkuYXV0aCxlPXtj bGllbnRfaWQ6YyxzZXNzaW9uX3N0YXRlOmJ9O2EuY2hlY2tTZXNzaW9uU3RhdGUo ZSxmdW5jdGlvbihiKXt2YXIgYz1lLnNlc3Npb25fc3RhdGUsaD1aKCJpc0xvZ2dl ZEluIik7Yj1jJiZifHwhYyYmIWI7aWYoaD1oIT1iKSRiKCJpc0xvZ2dlZEluIixi KSxqYygpLG9kKCk7Yj1lYygpO3ZhciBsPVooInNhdmVkVXNlclN0YXRlIiksYz1h Ll9ndXNzKGIuY29va2llcG9saWN5KSxsPWwhPWMmJiJ1bmRlZmluZWQiIT0KdHlw ZW9mIGw7JGIoInNhdmVkVXNlclN0YXRlIixjKTsoaHx8bCkmJmZjKGIpJiYhWigi ZGlzYWJsZVJlYWx0aW1lQ2FsbGJhY2siKSYmYS5fcGltZihiLCEwKX0pfX0pO3Jl dHVybiEwfTtzYigiYnMwIiwhMCxrLmdhcGkuX2JzKTtzYigiYnMxIiwhMCk7ZGVs ZXRlIGsuZ2FwaS5fYnM7fSkoKTsKZ2FwaS5sb2FkKCJwbHVzb25lIix7Y2FsbGJh Y2s6d2luZG93WyJnYXBpX29ubG9hZCJdLF9jOnsianNsIjp7ImNpIjp7ImxsYW5n IjoiZXMiLCJjbGllbnQiOnsiaGVhZGVycyI6eyJyZXNwb25zZSI6WyJDYWNoZS1D b250cm9sIiwiQ29udGVudC1EaXNwb3NpdGlvbiIsIkNvbnRlbnQtRW5jb2Rpbmci LCJDb250ZW50LUxhbmd1YWdlIiwiQ29udGVudC1MZW5ndGgiLCJDb250ZW50LU1E NSIsIkNvbnRlbnQtUmFuZ2UiLCJDb250ZW50LVR5cGUiLCJEYXRlIiwiRVRhZyIs IkV4cGlyZXMiLCJMYXN0LU1vZGlmaWVkIiwiTG9jYXRpb24iLCJQcmFnbWEiLCJS YW5nZSIsIlNlcnZlciIsIlRyYW5zZmVyLUVuY29kaW5nIiwiV1dXLUF1dGhlbnRp Y2F0ZSIsIlgtR29vZy1TYWZldHktQ29udGVudC1UeXBlIiwiWC1Hb29nLVNhZmV0 eS1FbmNvZGluZyIsIlgtR29vZy1VcGxvYWQtQ2h1bmstR3JhbnVsYXJpdHkiLCJY LUdvb2ctVXBsb2FkLUNvbnRyb2wtVVJMIiwiWC1Hb29nLVVwbG9hZC1TaXplLVJl Y2VpdmVkIiwiWC1Hb29nLVVwbG9hZC1TdGF0dXMiLCJYLUdvb2ctVXBsb2FkLVVS TCIsIlgtR29vZy1EaWZmLURvd25sb2FkLVJhbmdlIiwiWC1Hb29nLUhhc2giLCJY LUd1cGxvYWRlci1DdXN0b21lciIsIlgtR3VwbG9hZGVyLVVwbG9hZC1SZXN1bHQi LCJYLUd1cGxvYWRlci1VcGxvYWRpZCJdLCJyZXF1ZXN0IjpbIkFjY2VwdCIsIkFj Y2VwdC1MYW5ndWFnZSIsIkF1dGhvcml6YXRpb24iLCJDYWNoZS1Db250cm9sIiwi Q29udGVudC1EaXNwb3NpdGlvbiIsIkNvbnRlbnQtRW5jb2RpbmciLCJDb250ZW50 LUxhbmd1YWdlIiwiQ29udGVudC1MZW5ndGgiLCJDb250ZW50LU1ENSIsIkNvbnRl bnQtUmFuZ2UiLCJDb250ZW50LVR5cGUiLCJEYXRlIiwiR0RhdGEtVmVyc2lvbiIs Ikhvc3QiLCJJZi1NYXRjaCIsIklmLU1vZGlmaWVkLVNpbmNlIiwiSWYtTm9uZS1N YXRjaCIsIklmLVVubW9kaWZpZWQtU2luY2UiLCJPcmlnaW4iLCJPcmlnaW5Ub2tl biIsIlByYWdtYSIsIlJhbmdlIiwiU2x1ZyIsIlRyYW5zZmVyLUVuY29kaW5nIiwi WC1DbGllbnREZXRhaWxzIiwiWC1HRGF0YS1DbGllbnQiLCJYLUdEYXRhLUtleSIs IlgtR29vZy1BdXRoVXNlciIsIlgtR29vZy1QYWdlSWQiLCJYLUdvb2ctRW5jb2Rl LVJlc3BvbnNlLUlmLUV4ZWN1dGFibGUiLCJYLUdvb2ctQ29ycmVsYXRpb24tSWQi LCJYLUdvb2ctUmVxdWVzdC1JbmZvIiwiWC1Hb29nLVVwbG9hZC1Db21tYW5kIiwi WC1Hb29nLVVwbG9hZC1Db250ZW50LURpc3Bvc2l0aW9uIiwiWC1Hb29nLVVwbG9h ZC1Db250ZW50LUxlbmd0aCIsIlgtR29vZy1VcGxvYWQtQ29udGVudC1UeXBlIiwi WC1Hb29nLVVwbG9hZC1GaWxlLU5hbWUiLCJYLUdvb2ctVXBsb2FkLU9mZnNldCIs IlgtR29vZy1VcGxvYWQtUHJvdG9jb2wiLCJYLUdvb2ctVmlzaXRvci1JZCIsIlgt SFRUUC1NZXRob2QtT3ZlcnJpZGUiLCJYLUphdmFTY3JpcHQtVXNlci1BZ2VudCIs IlgtT3JpZ2luIiwiWC1SZWZlcmVyIiwiWC1VcGxvYWQtQ29udGVudC1MZW5ndGgi LCJYLVVwbG9hZC1Db250ZW50LVR5cGUiLCJYLVVzZS1IVFRQLVN0YXR1cy1Db2Rl LU92ZXJyaWRlIiwiWC1Zb3VUdWJlLVZWVCIsIlgtWW91VHViZS1QYWdlLUNMIiwi WC1Zb3VUdWJlLVBhZ2UtVGltZXN0YW1wIl19LCJjb3JzIjpmYWxzZX0sInBsdXNf bGF5ZXIiOnsiaXNFbmFibGVkIjpmYWxzZX0sImVuYWJsZU11bHRpbG9naW4iOnRy dWUsImRpc2FibGVSZWFsdGltZUNhbGxiYWNrIjpmYWxzZSwiaXNMb2dnZWRJbiI6 ZmFsc2UsImlmcmFtZXMiOnsiYWRkaXRub3ciOnsibWV0aG9kcyI6WyJsYXVuY2h1 cmwiXSwidXJsIjoiaHR0cHM6Ly9hcGlzLmdvb2dsZS5jb20vYWRkaXRub3cvYWRk aXRub3cuaHRtbD91c2VnYXBpXHUwMDNkMSJ9LCJwZXJzb24iOnsidXJsIjoiOnNv Y2lhbGhvc3Q6LzpzZXNzaW9uX3ByZWZpeDpfL3dpZGdldC9yZW5kZXIvcGVyc29u P3VzZWdhcGlcdTAwM2QxIn0sInBsdXNfZm9sbG93ZXJzIjp7InBhcmFtcyI6eyJ1 cmwiOiIifSwidXJsIjoiOnNvY2lhbGhvc3Q6L18vaW0vXy93aWRnZXQvcmVuZGVy L3BsdXMvZm9sbG93ZXJzP3VzZWdhcGlcdTAwM2QxIn0sInNpZ25pbiI6eyJtZXRo b2RzIjpbIm9uYXV0aCJdLCJwYXJhbXMiOnsidXJsIjoiIn0sInVybCI6Ijpzb2Np YWxob3N0Oi86c2Vzc2lvbl9wcmVmaXg6Xy93aWRnZXQvcmVuZGVyL3NpZ25pbj91 c2VnYXBpXHUwMDNkMSJ9LCJjb21tZW50Y291bnQiOnsidXJsIjoiOnNvY2lhbGhv c3Q6LzpzZXNzaW9uX3ByZWZpeDpfL3dpZGdldC9yZW5kZXIvY29tbWVudGNvdW50 P3VzZWdhcGlcdTAwM2QxIn0sInBhZ2UiOnsidXJsIjoiOnNvY2lhbGhvc3Q6Lzpz ZXNzaW9uX3ByZWZpeDpfL3dpZGdldC9yZW5kZXIvcGFnZT91c2VnYXBpXHUwMDNk MSJ9LCJoYW5nb3V0Ijp7InVybCI6Imh0dHBzOi8vdGFsa2dhZGdldC5nb29nbGUu Y29tLzpzZXNzaW9uX3ByZWZpeDp0YWxrZ2FkZ2V0L18vd2lkZ2V0In0sInBsdXNf Y2lyY2xlIjp7InBhcmFtcyI6eyJ1cmwiOiIifSwidXJsIjoiOnNvY2lhbGhvc3Q6 LzpzZXNzaW9uX3ByZWZpeDpfL3dpZGdldC9wbHVzL2NpcmNsZT91c2VnYXBpXHUw MDNkMSJ9LCJ5b3V0dWJlIjp7Im1ldGhvZHMiOlsic2Nyb2xsIiwib3BlbndpbmRv dyJdLCJwYXJhbXMiOnsibG9jYXRpb24iOlsic2VhcmNoIiwiaGFzaCJdfSwidXJs IjoiOnNvY2lhbGhvc3Q6LzpzZXNzaW9uX3ByZWZpeDpfL3dpZGdldC9yZW5kZXIv eW91dHViZT91c2VnYXBpXHUwMDNkMSJ9LCJ6b29tYWJsZWltYWdlIjp7InVybCI6 Imh0dHBzOi8vc3NsLmdzdGF0aWMuY29tL21pY3Jvc2NvcGUvZW1iZWQvIn0sImV2 d2lkZ2V0Ijp7InBhcmFtcyI6eyJ1cmwiOiIifSwidXJsIjoiOnNvY2lhbGhvc3Q6 LzpzZXNzaW9uX3ByZWZpeDpfL2V2ZW50cy93aWRnZXQ/dXNlZ2FwaVx1MDAzZDEi fSwiY2FyZCI6eyJ1cmwiOiI6c29jaWFsaG9zdDovOnNlc3Npb25fcHJlZml4Ol8v aG92ZXJjYXJkL2NhcmQifSwiZm9sbG93Ijp7InVybCI6Ijpzb2NpYWxob3N0Oi86 c2Vzc2lvbl9wcmVmaXg6Xy93aWRnZXQvcmVuZGVyL2ZvbGxvdz91c2VnYXBpXHUw MDNkMSJ9LCJzaG9ydGxpc3RzIjp7InVybCI6IiJ9LCJwbHVzIjp7InVybCI6Ijpz b2NpYWxob3N0Oi86c2Vzc2lvbl9wcmVmaXg6Xy93aWRnZXQvcmVuZGVyL2JhZGdl P3VzZWdhcGlcdTAwM2QxIn0sImNvbmZpZ3VyYXRvciI6eyJ1cmwiOiI6c29jaWFs aG9zdDovOnNlc3Npb25fcHJlZml4Ol8vcGx1c2J1dHRvbmNvbmZpZ3VyYXRvcj91 c2VnYXBpXHUwMDNkMSJ9LCI6c29jaWFsaG9zdDoiOiJodHRwczovL2FwaXMuZ29v Z2xlLmNvbSIsInBvc3QiOnsicGFyYW1zIjp7InVybCI6IiJ9LCJ1cmwiOiI6c29j aWFsaG9zdDovOnNlc3Npb25fcHJlZml4OjppbV9wcmVmaXg6Xy93aWRnZXQvcmVu ZGVyL3Bvc3Q/dXNlZ2FwaVx1MDAzZDEifSwiY29tbXVuaXR5Ijp7InVybCI6Ijpz b2NpYWxob3N0Oi86c2Vzc2lvbl9wcmVmaXg6Xy93aWRnZXQvcmVuZGVyL2NvbW11 bml0eT91c2VnYXBpXHUwMDNkMSJ9LCJyYnJfcyI6eyJwYXJhbXMiOnsidXJsIjoi In0sInVybCI6Ijpzb2NpYWxob3N0Oi86c2Vzc2lvbl9wcmVmaXg6Xy93aWRnZXQv cmVuZGVyL3JlY29iYXJzaW1wbGVzY3JvbGxlciJ9LCJhdXRvY29tcGxldGUiOnsi cGFyYW1zIjp7InVybCI6IiJ9LCJ1cmwiOiI6c29jaWFsaG9zdDovOnNlc3Npb25f cHJlZml4Ol8vd2lkZ2V0L3JlbmRlci9hdXRvY29tcGxldGUifSwicGx1c19zaGFy ZSI6eyJwYXJhbXMiOnsidXJsIjoiIn0sInVybCI6Ijpzb2NpYWxob3N0Oi86c2Vz c2lvbl9wcmVmaXg6Xy8rMS9zaGFyZWJ1dHRvbj9wbHVzU2hhcmVcdTAwM2R0cnVl XHUwMDI2dXNlZ2FwaVx1MDAzZDEifSwiOnNvdXJjZToiOiIzcCIsImJsb2dnZXIi OnsibWV0aG9kcyI6WyJzY3JvbGwiLCJvcGVud2luZG93Il0sInBhcmFtcyI6eyJs b2NhdGlvbiI6WyJzZWFyY2giLCJoYXNoIl19LCJ1cmwiOiI6c29jaWFsaG9zdDov OnNlc3Npb25fcHJlZml4Ol8vd2lkZ2V0L3JlbmRlci9ibG9nZ2VyP3VzZWdhcGlc dTAwM2QxIn0sInJicl9pIjp7InBhcmFtcyI6eyJ1cmwiOiIifSwidXJsIjoiOnNv Y2lhbGhvc3Q6LzpzZXNzaW9uX3ByZWZpeDpfL3dpZGdldC9yZW5kZXIvcmVjb2Jh cmludml0YXRpb24ifSwic2F2ZXRvd2FsbGV0Ijp7InVybCI6Imh0dHBzOi8vY2xp ZW50czUuZ29vZ2xlLmNvbS9zMncvby9zYXZldG93YWxsZXQifSwiYXBwY2lyY2xl cGlja2VyIjp7InVybCI6Ijpzb2NpYWxob3N0Oi86c2Vzc2lvbl9wcmVmaXg6Xy93 aWRnZXQvcmVuZGVyL2FwcGNpcmNsZXBpY2tlciJ9LCI6aW1fc29jaWFsaG9zdDoi OiJodHRwczovL3BsdXMuZ29vZ2xlYXBpcy5jb20iLCJzYXZldG9kcml2ZSI6eyJt ZXRob2RzIjpbInNhdmUiXSwidXJsIjoiaHR0cHM6Ly9kcml2ZS5nb29nbGUuY29t L3NhdmV0b2RyaXZlYnV0dG9uP3VzZWdhcGlcdTAwM2QxIn0sIjpzaWdudXBob3N0 OiI6Imh0dHBzOi8vcGx1cy5nb29nbGUuY29tIiwicGx1c29uZSI6eyJwYXJhbXMi OnsiY291bnQiOiIiLCJzaXplIjoiIiwidXJsIjoiIn0sInVybCI6Ijpzb2NpYWxo b3N0Oi86c2Vzc2lvbl9wcmVmaXg6Xy8rMS9mYXN0YnV0dG9uP3VzZWdhcGlcdTAw M2QxIn0sImNvbW1lbnRzIjp7Im1ldGhvZHMiOlsic2Nyb2xsIiwib3BlbndpbmRv dyJdLCJwYXJhbXMiOnsibG9jYXRpb24iOlsic2VhcmNoIiwiaGFzaCJdfSwidXJs IjoiOnNvY2lhbGhvc3Q6LzpzZXNzaW9uX3ByZWZpeDpfL3dpZGdldC9yZW5kZXIv Y29tbWVudHM/dXNlZ2FwaVx1MDAzZDEifSwieXRzdWJzY3JpYmUiOnsidXJsIjoi aHR0cHM6Ly93d3cueW91dHViZS5jb20vc3Vic2NyaWJlX2VtYmVkP3VzZWdhcGlc dTAwM2QxIn19LCJpc1BsdXNVc2VyIjpmYWxzZSwiZGVidWciOnsiaG9zdCI6Imh0 dHBzOi8vYXBpcy5nb29nbGUuY29tIiwicmVwb3J0RXhjZXB0aW9uUmF0ZSI6MC4w NSwicmV0aHJvd0V4Y2VwdGlvbiI6ZmFsc2V9LCJlZXN3Ijp7ImVuYWJsZWQiOmZh bHNlfSwiZW5hYmxlQ29udGV4dHVhbFNpZ25pbiI6ZmFsc2UsImVuYWJsZVNpZ25p blRvb2x0aXAiOmZhbHNlLCJkZXZpY2VUeXBlIjoiZGVza3RvcCIsImlubGluZSI6 eyJjc3MiOjF9LCJsZXhwcyI6WzEwMiwxMDAsOTcsMTI4LDc5LDEwOSw0NSwxNywx MTcsMTE1LDgxLDEyNCwxMjIsNjEsMzBdLCJpbmNsdWRlX2dyYW50ZWRfc2NvcGVz Ijp0cnVlLCJvYXV0aC1mbG93Ijp7InVzZWdhcGkiOmZhbHNlLCJkaXNhYmxlT3B0 Ijp0cnVlLCJhdXRoVXJsIjoiaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL28v b2F1dGgyL2F1dGgiLCJwcm94eVVybCI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xl LmNvbS9vL29hdXRoMi9wb3N0bWVzc2FnZVJlbGF5In0sInJlcG9ydCI6eyJob3N0 IjoiaHR0cHM6Ly9hcGlzLmdvb2dsZS5jb20iLCJyYXRlIjowLjAwMSwiYXBpcyI6 WyJpZnJhbWVzXFwuLioiLCJnYWRnZXRzXFwuLioiLCJnYXBpXFwuYXBwY2lyY2xl cGlja2VyXFwuLioiLCJnYXBpXFwuYXV0aFxcLi4qIiwiZ2FwaVxcLmNsaWVudFxc Li4qIiwiZ2FwaVxcLnNpZ25pblxcLi4qIl19LCJjc2kiOnsicmF0ZSI6MC4wMX0s Imdvb2dsZWFwaXMuY29uZmlnIjp7ImF1dGgiOnsidXNlRmlyc3RQYXJ0eUF1dGhW MiI6ZmFsc2V9fX0sImgiOiJtOy9fL3Njcy9hcHBzLXN0YXRpYy9fL2pzL2tcdTAw M2Rvei5nYXBpLmVzLllzYURIcWhNbFdBLk8vbVx1MDAzZF9fZmVhdHVyZXNfXy9h bVx1MDAzZEFRL3J0XHUwMDNkai9kXHUwMDNkMS96XHUwMDNkemNtcy9yc1x1MDAz ZEFJdFJTVE5IZXNKa1MxYUwwRGlleTBKbng3Tkw1XzZ3SHciLCJ1IjoiaHR0cHM6 Ly9hcGlzLmdvb2dsZS5jb20vanMvcGx1c29uZS5qcyIsImhlZSI6dHJ1ZSwiZnAi OiJkNmY2ODJlM2FmZGE3OWI4MWI1NTY3MmEzZjdlNDZhNmE2MDVjOTE3IiwiZHBv IjpmYWxzZX0sInBsYXRmb3JtIjpbImFkZGl0bm93IiwiYmxvZ2dlciIsImNvbW1l bnRzIiwiY29tbWVudGNvdW50IiwiY29tbXVuaXR5IiwiZm9sbG93IiwicGFnZSIs InBlcnNvbiIsInBsdXMiLCJwbHVzb25lIiwicG9zdCIsInNhdmV0b2RyaXZlIiwi c2F2ZXRvd2FsbGV0Iiwic2hvcnRsaXN0cyIsInlvdXR1YmUiLCJ5dHN1YnNjcmli ZSIsInpvb21hYmxlaW1hZ2UiLCJoYW5nb3V0Il0sImZwIjoiZDZmNjgyZTNhZmRh NzliODFiNTU2NzJhM2Y3ZTQ2YTZhNjA1YzkxNyIsImFubm90YXRpb24iOlsiaW50 ZXJhY3RpdmVwb3N0IiwicmVjb2JhciIsImF1dG9jb21wbGV0ZSIsInByb2ZpbGUi XSwiYmltb2RhbCI6WyJzaWduaW4iXX19KTs= ------------67LS6fQ3kILML0Yye5jr0K Content-Disposition: inline; filename=brand.js Content-Type: text/javascript; charset=UTF-8; name=brand.js Content-Location: http://www.google.com/cse/brand?form=cse-search-box&lang=es Content-Transfer-Encoding: 8bit (function() { var f = document.getElementById('cse-search-box'); if (!f) { f = document.getElementById('searchbox_demo'); } if (f && f['q']) { var q = f['q']; var n = navigator; var l = location; var du = function(n, v) { var u = document.createElement('input'); u.name = n; u.value = v; u.type = 'hidden'; f.appendChild(u); return u; }; var su = function (n, t, v, l) { if (!encodeURIComponent || !decodeURIComponent) { return; } var regexp = new RegExp('(?:[?&]' + n + '=)([^&#]*)'); var existing = regexp.exec(t); if (existing) { v = decodeURIComponent(existing[1]); } var delimIndex = v.indexOf('://'); if (delimIndex >= 0) { v = v.substring(delimIndex + '://'.length, v.length); } var v_sub = v.substring(0, l); while (encodeURIComponent(v_sub).length > l) { v_sub = v_sub.substring(0, v_sub.length - 1); } du(n, v_sub); }; var pl = function(he) { var ti = 0, tsi = 0, tk = 0, pt; return function() { var ct = (new Date).getTime(); if (pt) { var i = ct - pt; ti += i; tsi += i*i; } tk++; pt = ct; he.value = [ti, tsi, tk].join('j'); }; }; var append = false; if (n.appName == 'Microsoft Internet Explorer') { var s = f.parentNode.childNodes; for (var i = 0; i < s.length; i++) { if (s[i].nodeName == 'SCRIPT' && s[i].attributes['src'] && s[i].attributes['src'].nodeValue == unescape('http:\x2F\x2Fwww.google.com\x2Fcse\x2Fbrand?form=cse-search-box\x26lang=es')) { append = true; break; } } } else { append = true; } if (append) { var loc = document.location.toString(); var ref = document.referrer; su('siteurl', loc, loc, 250); su('ref', loc, ref, 750); if (q.addEventListener) { q.addEventListener('keyup', pl(du('ss', '')), false); } else if (q.attachEvent) { q.attachEvent('onkeyup', pl(du('ss', ''))); } } if (n.platform == 'Win32') { q.style.cssText = 'border: 1px solid #7e9db9; padding: 2px;'; } if (window.history.navigationMode) { window.history.navigationMode = 'compatible'; } var b = function() { if (q.value == '') { q.style.background = '#FFFFFF url(http:\x2F\x2Fwww.google.com\x2Fcse\x2Fintl\x2Fes\x2Fimages\x2Fgoogle_custom_search_watermark.gif) left no-repeat'; } }; var f = function() { q.style.background = '#ffffff'; }; q.onfocus = f; q.onblur = b; if (!/[&?]q=[^&]/.test(l.search)) { b(); } } })(); ------------67LS6fQ3kILML0Yye5jr0K Content-Disposition: inline; filename=spainx.gif Content-Type: image/gif; name=spainx.gif Content-Location: http://www.euroresidentes.com/banderas/spainx.gif Content-Transfer-Encoding: Base64 R0lGODlhIwAZAPcAANQWBMyODOSWpMTeFOzOVOSKBMzyDNSWPNyuJOSeBLwqFMzi DNz+HARmnNz6BPQWBOSWBOSmBNR+LLwyHNzmHMz6FLwiDMTqFMzyROSiBNz+DOSS DPz+/KzeJOzKZNyyRNQyFNz+BOSWDOSKTOTiJNQeDMyOFNyenLTaHOSKHOT2BNy+ DOyeBNQuDOTeFNT+LNyKbPQmBOSaBOSmDNx+NLw2JNQmBOyiBNzSbOyyZOT+BOTm JB0gMSIyMEo1MAAgIGZ4JQAgIAAyAAA0i7Qg3+tCDHMPAAAoAIj3AOu/AHO27wBR J4KEALK6AEwoDAAAANifWP8BBP8AR/8ATABXTAA6iwAA0AABED4AryEAF0rXAAAb ABQAAPAAAHPP7wAbJygAtgAABABH/ABMALSPAuuxf3P5BgC/AIjIYOv3u3NziAAA DwD0AAD/AAD/AgD/f39zAAhwAPphx79pF0tu/Jx4AAAAfwAATGWAb3UBAXIAAG8A AHKc72WKJ3N2tmk9FlzXx2IWF2EEjm4AFGRzdGWxu3L5O2G/C3MAQFwwgHBzAG4A AGe3AAC/AGBYAAEEAPcAB0EAAPcAAL8AAAwAtgADFmERdQABAWgAAE4AAPV2AL89 AIQAANsAAAEAAAAAAAx/AAAIAGH6AAC/AOjsAOnBAHNMAAAAAJ6wjuHqFLlzb78A AdxWKA6rAAD4AAC/ABEA/wGM/wAA/wCA/wBAKACMAAAAAAOAAFjIFARb8AAAcwCA APDQAOlbAHMAAACAAF4A1IoB6wAAcwAAADpQaOp69nMASQCAAJAAtJQA6/wAc78A AG9/gwEIsgD6TAC/AMRL6Omc63MAcwAAACjQf7jrCPdz+r8Av/TrUBS27Wb5c4G/ APc41kEO//dN/78Af5A8KJQO7fxNc78AAE7cALibAPf8AL+/AAHQfwDqCABz+gAA vwEAAAABAAAAAAMAAOvszADB0ClMUQAAAEcAsACK4OMgRQQkAH93KAMX7cIAc44A AAAAKAAA7YwAc7oAACH5BAAAAAAALAAAAAAjABkABwj/ADkIHEiwoMGDCBsoXMiw ocOHDQU2QEixIsGJHDBa3GgQo0aOIDNKDEnSY0ELNlKqXMlypYKCJgnaiEGzps2b NlvAHEkQwIOfQIMKDVpip0iCARIkYKH0xg2mSqFKTWDC6EcOBkLoCBHiBYYKWsNu Dav1gtWCC8KqOCABAdetcMWGGHCW4IKtGigUgOGBwVu5cBfUHZg2BIkREE4IyKEC sFi6F3kS3rqDgAgJKTw0jqsDrg7IA2MOzKqjAgoXH1Z0IDuWrNnIRwcmTSBDRoQZ ESAo3c1baVXYV30OHS60KPCCM3Eqv6nzOMEJIKJLn059eo3BJDeKzm5xO3eKHiGK Bh8f8TvJgAA7 ------------67LS6fQ3kILML0Yye5jr0K Content-Disposition: inline; filename=addthis_widget.js Content-Type: text/javascript; name=addthis_widget.js Content-Location: http://s7.addthis.com/js/250/addthis_widget.js Content-Transfer-Encoding: 8bit /* (c) 2008-2014 AddThis, Inc */ if(!((window._atc||{}).ver)){var _atd="www.addthis.com/",_atr=window.addthis_cdn||"//s7.addthis.com/",_euc=encodeURIComponent,_duc=decodeURIComponent,_atc={dbg:0,rrev:127626,dr:0,ver:250,loc:0,enote:"",cwait:500,bamp:0.25,camp:1,csmp:0.0001,damp:1,famp:1,pamp:0.1,abmp:0.5,sfmp:-1,tamp:1,plmp:1,stmp:0.01,vamp:1,cscs:1,ohmp:0,ltj:1,xamp:1,abf:!!window.addthis_do_ab,qs:0,cdn:0,rsrcs:{bookmark:_atr+"static/r07/bookmark041.html",atimg:_atr+"static/r07/atimg041.html",countercss:_atr+"static/r07/counter014.css",counterIE67css:_atr+"static/r07/counterIE67004.css",counter:_atr+"static/r07/counter017.js",core:_atr+"static/r07/core130.js",wombat:_atr+"static/r07/bar026.js",wombatcss:_atr+"static/r07/bar012.css",qbarcss:_atr+"bannerQuirks.css",fltcss:_atr+"static/r07/floating010.css",barcss:_atr+"static/r07/banner006.css",barjs:_atr+"static/r07/banner004.js",contentcss:_atr+"static/r07/content008.css",contentjs:_atr+"static/r07/content022.js",layersjs:_atr+"static/r07/layers048.js",layerscss:_atr+"static/r07/layers039.css",layersiecss:_atr+"static/r07/layersIE6007.css",layersdroidcss:_atr+"static/r07/layersdroid004.css",warning:_atr+"static/r07/warning000.html",ssojs:_atr+"static/r07/ssi005.js",ssocss:_atr+"static/r07/ssi004.css",authjs:_atr+"static/r07/auth016.js",peekaboocss:_atr+"static/r07/peekaboo002.css",overlayjs:_atr+"static/r07/overlay005.js",widget32css:_atr+"static/r07/widgetbig060.css",widget20css:_atr+"static/r07/widgetmed010.css",widgetcss:_atr+"static/r07/widget120.css",widgetIE67css:_atr+"static/r07/widgetIE67006.css",widgetpng:"//s7.addthis.com/static/r07/widget060.gif",embed:_atr+"static/r07/embed010.js",embedcss:_atr+"static/r07/embed004.css",lightbox:_atr+"static/r07/lightbox000.js",lightboxcss:_atr+"static/r07/lightbox000.css",link:_atr+"static/r07/link005.html",pinit:_atr+"static/r07/pinit018.html",linkedin:_atr+"static/r07/linkedin023.html",fbshare:_atr+"static/r07/fbshare004.html",tweet:_atr+"static/r07/tweet028.html",menujs:_atr+"static/r07/menu163.js",sh:_atr+"static/r07/sh157.html"}};}(function(){var i,q=window,C=document;var s=(window.location.protocol=="https:"),F,n,y,A=(navigator.userAgent||"unk").toLowerCase(),v=(/firefox/.test(A)),p=(/msie/.test(A)&&!(/opera/.test(A))),c={0:_atr,1:"//ct1.addthis.com/",6:"//ct6z.addthis.com/"},g={gb:"1",nl:"1",no:"1"},o={gr:"1",it:"1",cz:"1",ie:"1",es:"1",pt:"1",ro:"1",ca:"1",pl:"1",be:"1",fr:"1",dk:"1",hr:"1",de:"1",hu:"1",fi:"1",us:"1",ua:"1",mx:"1",se:"1",at:"1"},E={nz:"1"},h=(h=document.getElementsByTagName("script"))&&h[h.length-1].parentNode;_atc.cdn=0;if(!window.addthis||window.addthis.nodeType!==i){try{F=window.navigator?(navigator.userLanguage||navigator.language):"";n=F.split("-").pop().toLowerCase();y=F.substring(0,2);if(n.length!=2){n="unk";}if(_atr.indexOf("-")>-1){}else{if(window.addthis_cdn!==i){_atc.cdn=window.addthis_cdn;}else{if(E[n]){_atc.cdn=6;}else{if(g[n]){_atc.cdn=(v||p)?0:1;}else{if(o[n]){_atc.cdn=(p)?0:1;}}}}}if(_atc.cdn){for(var z in _atc.rsrcs){if(_atc.rsrcs.hasOwnProperty(z)){_atc.rsrcs[z]=_atc.rsrcs[z].replace(_atr,typeof(window.addthis_cdn)==="string"?window.addthis_cdn:c[_atc.cdn]).replace(/live\/([a-z])07/,"live/$107");}}_atr=c[_atc.cdn];}}catch(B){}function b(k,e,d,a){return function(){if(!this.qs){this.qs=0;}_atc.qs++;if(!((this.qs++>0&&a)||_atc.qs>1000)&&window.addthis){window.addthis.plo.push({call:k,args:arguments,ns:e,ctx:d});}};}function x(e){var d=this,a=this.queue=[];this.name=e;this.call=function(){a.push(arguments);};this.call.queuer=this;this.flush=function(w,r){this.flushed=1;for(var k=0;k