Distribuidores globais

A Demtech Services, Inc. está localizada nos Estados Unidos e vendemos para diversos clientes em todo o mundo. Se você estiver em outro país, entre em contato com o distribuidor local através dos canais abaixo.

Território

Países incluídos

distribuidor

Informações de contato

Argentina

DERGAM SRL

M. Gorriti 120 esq. Las Heras
P: 4600 – San Salvador de Jujuy, Jujuy
A/C: Federico Daher

E-mail: demtech@dergamsrl.com.ar
Telefone: (+54) 0388 – 4252566 (Ramal 101)
Celular: (+54) 0388 -4040224

Ásia

Malásia, Singapura, Brunei, Indonésia, Filipinas, Myanmar, Camboja, Vietname, Laos, Bangladesh, Paquistão, Sri Lanka, Nepal

GEOPOLY SDN BHD

7 Jalan PJU 3/42 Parque Tecnológico Sunway Damansara 47810 Petaling Jaya Selangor, Malásia
A/C: Derek Lim / Diretor-geral

E-mail: derek@geopoly.com.my
Skype: geopoly.derek
Telefone: + 603 – 7885 0103, 7732 8177
Fax: +(603) 7885-0104
Celular: +(6019) 336-2405
Site: www.geopoly.com.my

Austrália/Nova Zelândia

PM&P Group Ltd

Caixa Postal 145, Moorebank, NSW 1875, Austrália
A/C: Rob Zuchelli

E-mail: pmpgroup@bigpond.net.au
Telefone: + (61) 2-982-12001
Fax: + (61) 2-982-12002

Brasil

Contato para serviços e reparos da Demtech

Tamertech soluções e serviços
À atenção de: Gilberto Rodrigues

E-mail: contato@tamertech.com.br
Telefone: +5519993240811
Site: Hortolândia/SP

Canadá

Todas as províncias

Produtos de utilidade Sandale

9716-40th Street SE Calgary, AB, T2C 2P3 Canadá
À atenção de: Laura Bruce

E-mail: LBruce@sandale.ca
Telefone: + (403) 663-2101
Fax: + (403) 663-2102
Celular: + (403) 472-0043
Site: www.sandale.ca

América Central

Belice, Costa Rica, El Salvador, Guatemala, Honduras, Nicarágua, Panamá

SIGSA

Serviços de Engenharia Geossintética SA Apdo. 592-
1250 Escazu, Costa Rica
À atenção de: Nicky Araujo

E-mail: geonicky@gmail.com
Telefone: + (506) 290-0517
Fax: + (506) 290-2118

Chile

TermoPro SA

Los Arrayanes 400 Galpon 9 Colina, Santiago Chile
À atenção de: Leo Diez C.

E-mail: leodiez@termopro.cl
Telefone: + (56) 2-738-7340
Celular: + (56) 9-6247-2377
Site: www.termopro.cl

China

Rightway EnvironTech

Edifício 3, Sala P52312, Rua Mozhou Leste
Jiangning Dist, Nanjing PR China, 211111

E-mail: shrightway@163.com
Telefone: + (86) 25-52167180, + (86) 18061630983
Site: www.shlwhb.com

Colômbia

Representante Técnico

Bogotá, Colômbia
Aos cuidados: Fernando Valencia Salgado

E-mail: fernando@demtech.com
Celular: + (57) 3213809852

Comunidade de Estados Independentes

Cazaquistão, Bielorrússia, Arménia, Quirguistão, Uzbequistão

Gidrosnab Service LLC

050040, Almaty, Cazaquistão
A/C: Timur Yesbergenov / Diretor de Vendas

E-mail: gidrosnab_10@mail.ru, info@gidrosnab.kz
Skype: timajoke
Telefone: +7 (727) 3178330
Celular: +7 (701) 8123683
Site: www.gidrosnab.kz

Egito

Golfinho para Engenharia e Tecnologia da Água

Rua El Nasr, 26, Cairo, Egito
À atenção de: Aya Ayaub

E-mail: aya.ayoub@dolphinlining.com
Telefone: + (20) 2-2272-5439
Celular: + (20) 0120 060 8818
Site: www.dolphinlining.com

Índia e outros países da SAARC

Índia, Bangladesh, Sri Lanka, Butão, Nepal e Maldivas

Weld in Equipments PVT. LTD.

Hyderabad, Índia
A/C: Kamran Ali

E-mail: weldinindia@gmail.com
Skype: www.weldinequipments.com
Telefone: +91 8169493708
Celular: +91 7893419333
Site: www.weldinequipments.com

México

SEICSA Projetos Ambientais, SA DE CV

Av. Muebleros No. 98 Parque Industrial Chichimeco Jesus Maria, Aguascalientes, México 20900
À atenção de: Irene Rocha

E-mail: irener@seicsa.com.mx
Telefone: + (52) 449-993-7342
Fax: + (52) 449-993-7342
Site: www.seicsa.mx/demtech.php

Peru

OU Maquinarias SAC

Av. Astúrias N° 315 ATE, Lima – Peru
À atenção de: Orlando Rivera

E-mail: ventas@ormaquinarias.com.pe
Telefone: +51-1-717-9013, +51-1-717-9012
Site: www.ormaquinarias.com.pe
Contate-nos

Arábia Saudita

Empresa Comercial Etqan Al Laham

Unidade nº 0011, Primeiro Andar, Bloco nº 7676, Centro Comercial Alsalimi, Rua Príncipe Mohammed Bin Fahd, Caixa Postal: 4120 Al Badi Dis, Dammam - 32415, Reino da Arábia Saudita
A/C: Kamran Ali

E-mail: Kamran@weldinmena.com
Telefone: +966502567976
Celular: +966555381096
Site: www.weldinmena.com

Reino Unido

Inglaterra, Escócia, País de Gales e Irlanda do Norte

Vendas e serviços da Geo UK

Unidade 51, Glebe Road, Skelmersdale, Lancashire, WN8 9JP
À atenção de: Sam Turnley

E-mail: Sam@enviroseal.co.uk
Telefone: +447795605167
Celular: 07795 605167

Estados Unidos

DemTech Services, Inc.

6414 Capitol Avenue, Diamond Springs, CA 95619

Contate-nos

ZA/SADC

África do Sul e África Subsaariana, incluindo os estados membros da Comunidade de Desenvolvimento da África Austral (SADC).

Zonke Engineering (Pty) Ltd

Pinewood Office Park, Bloco 14, 33 Riley St., Woodmead,
Sandton, África do Sul 2191
À atenção de: Lee Pillay

E-mail: sales@zonkesa.co.za
Telefone: +27 11 234 1770/1
Celular: +27 78 965 8855
Site: www.zonkesa.com

LyohIEZvciBsaWNlbnNlIGluZm9ybWF0aW9uIHBsZWFzZSBzZWUgbWFpbi5qcy5MSUNFTlNFLnR4dCAqLwooKCk9Pnt2YXIgX193ZWJwYWNrX21vZHVsZXNfXz17Mzg5NDoodCxlLG4pPT57InVzZSBzdHJpY3QiO24uZChlLHtaOigpPT5wfSk7dmFyIG89big1Nzg1KSxpPW4oNTY3MSkscj1uKDMxNDQpLGE9big5MzQwKSxzPW4oMzkzMCksYz1uKDExMjApO2Z1bmN0aW9uIGwodCxlKXt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmdFtTeW1ib2wuaXRlcmF0b3JdfHx0WyJAQGl0ZXJhdG9yIl07aWYoIW4pe2lmKEFycmF5LmlzQXJyYXkodCl8fChuPWZ1bmN0aW9uKHQsZSl7aWYodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB1KHQsZSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpO3JldHVybiJPYmplY3QiPT09biYmdC5jb25zdHJ1Y3RvciYmKG49dC5jb25zdHJ1Y3Rvci5uYW1lKSwiTWFwIj09PW58fCJTZXQiPT09bj9BcnJheS5mcm9tKHQpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/dSh0LGUpOnZvaWQgMH19KHQpKXx8ZSYmdCYmIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aCl7biYmKHQ9bik7dmFyIG89MCxpPWZ1bmN0aW9uKCl7fTtyZXR1cm57czppLG46ZnVuY3Rpb24oKXtyZXR1cm4gbz49dC5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOnRbbysrXX19LGU6ZnVuY3Rpb24odCl7dGhyb3cgdH0sZjppfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIHIsYT0hMCxzPSExO3JldHVybntzOmZ1bmN0aW9uKCl7bj1uLmNhbGwodCl9LG46ZnVuY3Rpb24oKXt2YXIgdD1uLm5leHQoKTtyZXR1cm4gYT10LmRvbmUsdH0sZTpmdW5jdGlvbih0KXtzPSEwLHI9dH0sZjpmdW5jdGlvbigpe3RyeXthfHxudWxsPT1uLnJldHVybnx8bi5yZXR1cm4oKX1maW5hbGx5e2lmKHMpdGhyb3cgcn19fX1mdW5jdGlvbiB1KHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciBuPTAsbz1uZXcgQXJyYXkoZSk7bjxlO24rKylvW25dPXRbbl07cmV0dXJuIG99dmFyIHA9ZnVuY3Rpb24odCl7KDAsYS5aKShwLHQpO3ZhciBlLG4sdT0oZT1wLG49ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBQcm94eSlyZXR1cm4hMDt0cnl7cmV0dXJuIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChCb29sZWFuLFtdLChmdW5jdGlvbigpe30pKSksITB9Y2F0Y2godCl7cmV0dXJuITF9fSgpLGZ1bmN0aW9uKCl7dmFyIHQsbz0oMCxjLlopKGUpO2lmKG4pe3ZhciBpPSgwLGMuWikodGhpcykuY29uc3RydWN0b3I7dD1SZWZsZWN0LmNvbnN0cnVjdChvLGFyZ3VtZW50cyxpKX1lbHNlIHQ9by5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuKDAscy5aKSh0aGlzLHQpfSk7ZnVuY3Rpb24gcCh0LGUpe3JldHVybigwLGkuWikodGhpcyxwKSx1LmNhbGwodGhpcyx0LGUpfXJldHVybigwLHIuWikocCxbe2tleToiY3JlYXRlRWxlbWVudCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iil9fSx7a2V5OiJnZXRIaWdobGlnaHRJZHMiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5wYXJlbnQ/dGhpcy5zdG9yZS5nZXRDaGlsZHJlbkRlZXAoe2lkOnRoaXMub3B0aW9ucy5wYXJlbnR9KS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkfSkpOnRoaXMub3B0aW9ucy5zaW5nbGVfb2JqZWN0P3RoaXMuc3RvcmUuZ2V0Q2hpbGRyZW5EZWVwKHtpZDp0aGlzLm9wdGlvbnMuaWR9KS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkfSkpOlt0aGlzLm9wdGlvbnMuaWRdfX0se2tleToiaGlnaGxpZ2h0Iix2YWx1ZTpmdW5jdGlvbigpe319LHtrZXk6InVuaGlnaGxpZ2h0Iix2YWx1ZTpmdW5jdGlvbigpe319LHtrZXk6ImdldFJlY3QiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQsZT1bXSxuPWwodGhpcy5zdG9yZS5nZXRDaGlsZHJlbkRlZXAoe2lkOnRoaXMub3B0aW9ucy5pZH0pKTt0cnl7Zm9yKG4ucygpOyEodD1uLm4oKSkuZG9uZTspe3ZhciBpPXQudmFsdWU7ZS5wdXNoKHRoaXMuc3RvcmUuZ2V0T2JqZWN0Q29udHJvbGxlcigpLm9iamVjdHNbaS5pZF0uZ2V0UmVjdCgpKX19Y2F0Y2godCl7bi5lKHQpfWZpbmFsbHl7bi5mKCl9dmFyIHI9TWF0aC5taW4uYXBwbHkoTWF0aCwoMCxvLlopKGUubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC54fSkpKSksYT1NYXRoLm1pbi5hcHBseShNYXRoLCgwLG8uWikoZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0Lnl9KSkpKTtyZXR1cm57eDpyLHk6YSx3aWR0aDpNYXRoLm1heC5hcHBseShNYXRoLCgwLG8uWikoZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LngrdC53aWR0aH0pKSkpLXIsaGVpZ2h0Ok1hdGgubWF4LmFwcGx5KE1hdGgsKDAsby5aKShlLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQueSt0LmhlaWdodH0pKSkpLWF9fX0se2tleToiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0LGU9W10sbj1sKHRoaXMuc3RvcmUuZ2V0Q2hpbGRyZW5EZWVwKHtpZDp0aGlzLm9wdGlvbnMuaWR9KSk7dHJ5e2ZvcihuLnMoKTshKHQ9bi5uKCkpLmRvbmU7KXt2YXIgaT10LnZhbHVlO2UucHVzaCh0aGlzLnN0b3JlLmdldE9iamVjdENvbnRyb2xsZXIoKS5vYmplY3RzW2kuaWRdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKX19Y2F0Y2godCl7bi5lKHQpfWZpbmFsbHl7bi5mKCl9dmFyIHI9TWF0aC5taW4uYXBwbHkoTWF0aCwoMCxvLlopKGUubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC54fSkpKSksYT1NYXRoLm1pbi5hcHBseShNYXRoLCgwLG8uWikoZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0Lnl9KSkpKTtyZXR1cm57eDpyLHk6YSx3aWR0aDpNYXRoLm1heC5hcHBseShNYXRoLCgwLG8uWikoZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LngrdC53aWR0aH0pKSkpLXIsaGVpZ2h0Ok1hdGgubWF4LmFwcGx5KE1hdGgsKDAsby5aKShlLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQueSt0LmhlaWdodH0pKSkpLWF9fX1dKSxwfShuKDk4NjcpLlopfSw5ODY3Oih0LGUsbik9PnsidXNlIHN0cmljdCI7bi5kKGUse1o6KCk9PmF9KTt2YXIgbz1uKDU2NzEpLGk9bigzMTQ0KSxyPW4oMTQ0KSxhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4peygwLG8uWikodGhpcyx0KSx0aGlzLm9wdGlvbnM9ZSx0aGlzLnN0b3JlPW4sdGhpcy5vcHRpb25zLng9cGFyc2VGbG9hdCh0aGlzLm9wdGlvbnMueCksdGhpcy5vcHRpb25zLnk9cGFyc2VGbG9hdCh0aGlzLm9wdGlvbnMueSksdGhpcy5vcHRpb25zLndpZHRoPXBhcnNlRmxvYXQodGhpcy5vcHRpb25zLndpZHRoKSx0aGlzLm9wdGlvbnMuaGVpZ2h0PXBhcnNlRmxvYXQodGhpcy5vcHRpb25zLmhlaWdodCksdGhpcy5vcHRpb25zLmRlZmF1bHRfc3R5bGUuc3Ryb2tlX3dpZHRoPXBhcnNlSW50KHRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLnN0cm9rZV93aWR0aCksdGhpcy5vcHRpb25zLm1vdXNlb3Zlcl9zdHlsZS5zdHJva2Vfd2lkdGg9cGFyc2VJbnQodGhpcy5vcHRpb25zLm1vdXNlb3Zlcl9zdHlsZS5zdHJva2Vfd2lkdGgpLHRoaXMub3B0aW9ucy5tb3VzZW92ZXJfc3R5bGUuYmFja2dyb3VuZF90eXBlPXRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmJhY2tncm91bmRfdHlwZSx0aGlzLmVsZW1lbnQ9dGhpcy5jcmVhdGVFbGVtZW50KCksdGhpcy5zdHlsZXM9dGhpcy5jcmVhdGVTdHlsZXMoKSt0aGlzLmNyZWF0ZVN0eWxlRXhjZXB0aW9ucygpLHRoaXMuaW1hZ2VCYWNrZ3JvdW5kRWxlbWVudD10aGlzLmNyZWF0ZUltYWdlQmFja2dyb3VuZEVsZW1lbnQoKSx0aGlzLnNsYXZlcz1bXSx0aGlzLmFwcGx5RWxlbWVudEF0dHJpYnV0ZXMoKSx0aGlzLmFwcGx5UGFnZWxvYWRDbGFzcygpfXJldHVybigwLGkuWikodCxbe2tleToiY3JlYXRlRWxlbWVudCIsdmFsdWU6ZnVuY3Rpb24oKXt9fSx7a2V5OiJjcmVhdGVTdHlsZXMiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9J1tkYXRhLW9iamVjdC1pZD0iJy5jb25jYXQodGhpcy5vcHRpb25zLmlkLCciXSB7Jyk7dCs9dGhpcy5jcmVhdGVDU1NSdWxlcyh0aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZSksdCs9In0gXG5cbiI7dmFyIGU9J1tkYXRhLW9iamVjdC1pZD0iJy5jb25jYXQodGhpcy5vcHRpb25zLmlkLCciXS5pbXAtb2JqZWN0LWhpZ2hsaWdodGVkIHsnKTtyZXR1cm4gdCsoKGUrPXRoaXMuY3JlYXRlQ1NTUnVsZXModGhpcy5vcHRpb25zLm1vdXNlb3Zlcl9zdHlsZSkpKyJ9IFxuXG4iKX19LHtrZXk6ImNyZWF0ZUNTU1J1bGVzIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiIifX0se2tleToiY3JlYXRlU3R5bGVFeGNlcHRpb25zIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSIiO3JldHVybiJpbWFnZSI9PT10aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZS5iYWNrZ3JvdW5kX3R5cGUmJih0Kz0iI2ltcC1pbWFnZS1iYWNrZ3JvdW5kcy0iLmNvbmNhdCh0aGlzLnN0b3JlLmdldElEKCksJyBbZGF0YS1vYmplY3QtaWQ9IicpLmNvbmNhdCh0aGlzLm9wdGlvbnMuaWQsJyJdIHsnKSx0Kz0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuY29uY2F0KHRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmJhY2tncm91bmRfaW1hZ2VfdXJsLCIpOyIpLHQrPSJvcGFjaXR5OiIuY29uY2F0KHRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmJhY2tncm91bmRfaW1hZ2Vfb3BhY2l0eSwiOyIpLHQrPSJ0cmFuc2Zvcm06IHNjYWxlKCIuY29uY2F0KHRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmJhY2tncm91bmRfaW1hZ2Vfc2NhbGUsIikgdHJhbnNsYXRlKCIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZS5iYWNrZ3JvdW5kX2ltYWdlX29mZnNldF94LCJweCwgIikuY29uY2F0KHRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmJhY2tncm91bmRfaW1hZ2Vfb2Zmc2V0X3ksInB4KTsiKSx0Kz0ifSIpLHR9fSx7a2V5OiJjcmVhdGVJbWFnZUJhY2tncm91bmRFbGVtZW50Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiJpbWFnZSI9PT10aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZS5iYWNrZ3JvdW5kX3R5cGUmJnRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmJhY2tncm91bmRfaW1hZ2VfdXJsJiYodC5zdHlsZS5sZWZ0PXRoaXMub3B0aW9ucy54K3RoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmJhY2tncm91bmRfaW1hZ2Vfb2Zmc2V0X3grIiUiLHQuc3R5bGUudG9wPXRoaXMub3B0aW9ucy55K3RoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmJhY2tncm91bmRfaW1hZ2Vfb2Zmc2V0X3krIiUiLHQuc3R5bGUud2lkdGg9dGhpcy5vcHRpb25zLndpZHRoKyIlIix0LnN0eWxlLmhlaWdodD10aGlzLm9wdGlvbnMuaGVpZ2h0KyIlIix0LnN0eWxlLmJhY2tncm91bmRJbWFnZT0idXJsKCIuY29uY2F0KHRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmJhY2tncm91bmRfaW1hZ2VfdXJsLCIpIiksdC5zdHlsZS5vcGFjaXR5PXRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmJhY2tncm91bmRfaW1hZ2Vfb3BhY2l0eSx0LnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoIi5jb25jYXQodGhpcy5vcHRpb25zLmRlZmF1bHRfc3R5bGUuYmFja2dyb3VuZF9pbWFnZV9zY2FsZSwiKSIpLHQuY2xhc3NMaXN0LmFkZCgiaW1wLW9iamVjdC1iYWNrZ3JvdW5kLWltYWdlIiksdC5kYXRhc2V0LmltYWdlQmFja2dyb3VuZE9iamVjdElkPXRoaXMub3B0aW9ucy5pZCksdH19LHtrZXk6ImFwcGx5RWxlbWVudEF0dHJpYnV0ZXMiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLnBhcmVudF9pZCYmdGhpcy5zdG9yZS5nZXRPYmplY3Qoe2lkOnRoaXMub3B0aW9ucy5wYXJlbnRfaWR9KS5zdGF0aWMmJih0aGlzLm9wdGlvbnMuc3RhdGljPSEwKSx0aGlzLm9wdGlvbnMuc3RhdGljJiZ0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLW9iamVjdC1zdGF0aWMiKSx0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLW9iamVjdCIpLHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRhdGEtb2JqZWN0LWlkIix0aGlzLm9wdGlvbnMuaWQpLHRoaXMub3B0aW9ucy5wYXJlbnRfaWQmJnRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRhdGEtcGFyZW50LWlkIix0aGlzLm9wdGlvbnMucGFyZW50X2lkKSx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJkYXRhLXRpdGxlIix0aGlzLm9wdGlvbnMudGl0bGUpLHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRhdGEtaW1hZ2UtbWFwLWlkIix0aGlzLnN0b3JlLmdldElEKCkpfX0se2tleToiYXBwbHlQYWdlbG9hZENsYXNzIix2YWx1ZTpmdW5jdGlvbigpeyJncm93Ij09PXRoaXMuc3RvcmUuc3RhdGUub2JqZWN0Q29uZmlnLnBhZ2Vsb2FkX2FuaW1hdGlvbiYmdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoImltcC1wYWdlbG9hZC1hbmltYXRpb24tZ3JvdyIpLCJmYWRlIj09PXRoaXMuc3RvcmUuc3RhdGUub2JqZWN0Q29uZmlnLnBhZ2Vsb2FkX2FuaW1hdGlvbiYmdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoImltcC1wYWdlbG9hZC1hbmltYXRpb24tZmFkZS1pbiIpLCJmYWxsLWRvd24iPT09dGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RDb25maWcucGFnZWxvYWRfYW5pbWF0aW9uJiZ0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLXBhZ2Vsb2FkLWFuaW1hdGlvbi1mYWxsLWRvd24iKX19LHtrZXk6ImdldEhpZ2hsaWdodElkcyIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLnBhcmVudF9pZD90aGlzLnN0b3JlLmdldENoaWxkcmVuRGVlcCh7aWQ6dGhpcy5vcHRpb25zLnBhcmVudF9pZH0pLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWR9KSk6W3RoaXMub3B0aW9ucy5pZF19fSx7a2V5OiJoaWdobGlnaHQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoImltcC1vYmplY3QtaGlnaGxpZ2h0ZWQiKSwiaW1hZ2UiPT09dGhpcy5vcHRpb25zLm1vdXNlb3Zlcl9zdHlsZS5iYWNrZ3JvdW5kX3R5cGUmJih0aGlzLmltYWdlQmFja2dyb3VuZEVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZEltYWdlPSd1cmwoIicuY29uY2F0KHRoaXMub3B0aW9ucy5tb3VzZW92ZXJfc3R5bGUuYmFja2dyb3VuZF9pbWFnZV91cmwsJyIpJyksdGhpcy5pbWFnZUJhY2tncm91bmRFbGVtZW50LnN0eWxlLm9wYWNpdHk9dGhpcy5vcHRpb25zLm1vdXNlb3Zlcl9zdHlsZS5iYWNrZ3JvdW5kX2ltYWdlX29wYWNpdHksdGhpcy5pbWFnZUJhY2tncm91bmRFbGVtZW50LnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoIi5jb25jYXQodGhpcy5vcHRpb25zLm1vdXNlb3Zlcl9zdHlsZS5iYWNrZ3JvdW5kX2ltYWdlX3NjYWxlLCIpIiksdGhpcy5pbWFnZUJhY2tncm91bmRFbGVtZW50LnN0eWxlLmxlZnQ9dGhpcy5vcHRpb25zLngrdGhpcy5vcHRpb25zLm1vdXNlb3Zlcl9zdHlsZS5iYWNrZ3JvdW5kX2ltYWdlX29mZnNldF94KyIlIix0aGlzLmltYWdlQmFja2dyb3VuZEVsZW1lbnQuc3R5bGUudG9wPXRoaXMub3B0aW9ucy55K3RoaXMub3B0aW9ucy5tb3VzZW92ZXJfc3R5bGUuYmFja2dyb3VuZF9pbWFnZV9vZmZzZXRfeSsiJSIpfX0se2tleToidW5oaWdobGlnaHQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoImltcC1vYmplY3QtaGlnaGxpZ2h0ZWQiKSwiaW1hZ2UiPT09dGhpcy5vcHRpb25zLmRlZmF1bHRfc3R5bGUuYmFja2dyb3VuZF90eXBlJiYodGhpcy5pbWFnZUJhY2tncm91bmRFbGVtZW50LnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJsKCInLmNvbmNhdCh0aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZS5iYWNrZ3JvdW5kX2ltYWdlX3VybCwnIiknKSx0aGlzLmltYWdlQmFja2dyb3VuZEVsZW1lbnQuc3R5bGUub3BhY2l0eT10aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZS5iYWNrZ3JvdW5kX2ltYWdlX29wYWNpdHksdGhpcy5pbWFnZUJhY2tncm91bmRFbGVtZW50LnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoIi5jb25jYXQodGhpcy5vcHRpb25zLmRlZmF1bHRfc3R5bGUuYmFja2dyb3VuZF9pbWFnZV9zY2FsZSwiKSIpLHRoaXMuaW1hZ2VCYWNrZ3JvdW5kRWxlbWVudC5zdHlsZS5sZWZ0PXRoaXMub3B0aW9ucy54K3RoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmJhY2tncm91bmRfaW1hZ2Vfb2Zmc2V0X3grIiUiLHRoaXMuaW1hZ2VCYWNrZ3JvdW5kRWxlbWVudC5zdHlsZS50b3A9dGhpcy5vcHRpb25zLnkrdGhpcy5vcHRpb25zLmRlZmF1bHRfc3R5bGUuYmFja2dyb3VuZF9pbWFnZV9vZmZzZXRfeSsiJSIpfX0se2tleToiZ2V0UmVjdCIsdmFsdWU6ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMudHlwZT09PXIuZHYpe3ZhciB0PXRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmljb25fc2l6ZS90aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkud2lkdGgqMTAwLGU9dGhpcy5vcHRpb25zLmRlZmF1bHRfc3R5bGUuaWNvbl9zaXplL3RoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcFJlY3QoKS5oZWlnaHQqMTAwO3JldHVybiB0aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZS51c2VfaWNvbiYmdGhpcy5vcHRpb25zLmRlZmF1bHRfc3R5bGUuaWNvbl9pc19waW4/e3g6dGhpcy5vcHRpb25zLngtdC8yLHk6dGhpcy5vcHRpb25zLnktZSx3aWR0aDp0LGhlaWdodDplfTp7eDp0aGlzLm9wdGlvbnMueC10LzIseTp0aGlzLm9wdGlvbnMueS1lLzIsd2lkdGg6dCxoZWlnaHQ6ZX19cmV0dXJue3g6dGhpcy5vcHRpb25zLngseTp0aGlzLm9wdGlvbnMueSx3aWR0aDp0aGlzLm9wdGlvbnMud2lkdGgsaGVpZ2h0OnRoaXMub3B0aW9ucy5oZWlnaHR9fX0se2tleToiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9fSx7a2V5OiJzdG9wR2xvd2luZyIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgiaW1wLWdsb3dpbmctb2JqZWN0Iil9fV0pLHR9KCl9LDM4ODE6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7WjooKT0+ZH0pO3ZhciBvPW4oNTY3MSksaT1uKDMxNDQpLHI9big5MzQwKSxhPW4oMzkzMCkscz1uKDExMjApLGM9bigxNDQpLGw9big5ODY3KSx1PW4oOTk5Nyk7ZnVuY3Rpb24gcCh0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgbj0wLG89bmV3IEFycmF5KGUpO248ZTtuKyspb1tuXT10W25dO3JldHVybiBvfXZhciBkPWZ1bmN0aW9uKHQpeygwLHIuWikoZCx0KTt2YXIgZSxuLGw9KGU9ZCxuPWZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBSZWZsZWN0fHwhUmVmbGVjdC5jb25zdHJ1Y3QpcmV0dXJuITE7aWYoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgUHJveHkpcmV0dXJuITA7dHJ5e3JldHVybiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoQm9vbGVhbixbXSwoZnVuY3Rpb24oKXt9KSkpLCEwfWNhdGNoKHQpe3JldHVybiExfX0oKSxmdW5jdGlvbigpe3ZhciB0LG89KDAscy5aKShlKTtpZihuKXt2YXIgaT0oMCxzLlopKHRoaXMpLmNvbnN0cnVjdG9yO3Q9UmVmbGVjdC5jb25zdHJ1Y3Qobyxhcmd1bWVudHMsaSl9ZWxzZSB0PW8uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybigwLGEuWikodGhpcyx0KX0pO2Z1bmN0aW9uIGQodCxlKXtyZXR1cm4oMCxvLlopKHRoaXMsZCksbC5jYWxsKHRoaXMsdCxlKX1yZXR1cm4oMCxpLlopKGQsW3trZXk6ImNyZWF0ZUVsZW1lbnQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuY2xhc3NMaXN0LmFkZCgiaW1wLW9iamVjdC1vdmFsIiksdH19LHtrZXk6ImNyZWF0ZUNTU1J1bGVzIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT0iIixuPXQuYm9yZGVyX3JhZGl1cysicHgiO3RoaXMub3B0aW9ucy50eXBlPT09Yy5DVyYmKG49IjUwJSA1MCUiKTt2YXIgbz0oMCx1Lm9vKSh0LmJhY2tncm91bmRfY29sb3IpfHx7cjowLGI6MCxnOjB9LGk9KDAsdS5vbykodC5ib3JkZXJfY29sb3IpfHx7cjowLGI6MCxnOjB9O2UrPSJsZWZ0OiAiK3RoaXMub3B0aW9ucy54KyIlOyIsZSs9InRvcDogIit0aGlzLm9wdGlvbnMueSsiJTsiLGUrPSJ3aWR0aDogIit0aGlzLm9wdGlvbnMud2lkdGgrIiU7IixlKz0iaGVpZ2h0OiAiK3RoaXMub3B0aW9ucy5oZWlnaHQrIiU7IiwiY29sb3IiPT09dC5iYWNrZ3JvdW5kX3R5cGUmJihlKz0iYmFja2dyb3VuZDogcmdiYSgiK28ucisiLCAiK28uZysiLCAiK28uYisiLCAiK3QuYmFja2dyb3VuZF9vcGFjaXR5KyIpOyIpLGUrPSJvcGFjaXR5OiAiK3Qub3BhY2l0eSsiOyIsZSs9ImJvcmRlci13aWR0aDogIit0LmJvcmRlcl93aWR0aCsicHg7IixlKz0iYm9yZGVyLXN0eWxlOiAiK3QuYm9yZGVyX3N0eWxlKyI7IixlKz0iYm9yZGVyLWNvbG9yOiByZ2JhKCIraS5yKyIsICIraS5nKyIsICIraS5iKyIsICIrdC5ib3JkZXJfb3BhY2l0eSsiKTsiLGUrPSJib3JkZXItcmFkaXVzOiAiK24rIjsiLGUrPSJmaWx0ZXI6ICI7dmFyIHIsYT1mdW5jdGlvbih0LGUpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl18fHRbIkBAaXRlcmF0b3IiXTtpZighbil7aWYoQXJyYXkuaXNBcnJheSh0KXx8KG49ZnVuY3Rpb24odCxlKXtpZih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIHAodCxlKTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1uJiZ0LmNvbnN0cnVjdG9yJiYobj10LmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09bnx8IlNldCI9PT1uP0FycmF5LmZyb20odCk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9wKHQsZSk6dm9pZCAwfX0odCkpfHxlJiZ0JiYibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXtuJiYodD1uKTt2YXIgbz0wLGk9ZnVuY3Rpb24oKXt9O3JldHVybntzOmksbjpmdW5jdGlvbigpe3JldHVybiBvPj10Lmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6dFtvKytdfX0sZTpmdW5jdGlvbih0KXt0aHJvdyB0fSxmOml9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgcixhPSEwLHM9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtuPW4uY2FsbCh0KX0sbjpmdW5jdGlvbigpe3ZhciB0PW4ubmV4dCgpO3JldHVybiBhPXQuZG9uZSx0fSxlOmZ1bmN0aW9uKHQpe3M9ITAscj10fSxmOmZ1bmN0aW9uKCl7dHJ5e2F8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyByfX19fSh0LnBhcmVudF9maWx0ZXJzKTt0cnl7Zm9yKGEucygpOyEocj1hLm4oKSkuZG9uZTspe3ZhciBzPXIudmFsdWU7ZSs9IiIuY29uY2F0KHMubmFtZSwiKCIpLmNvbmNhdChzLnZhbHVlLCIpICIpfX1jYXRjaCh0KXthLmUodCl9ZmluYWxseXthLmYoKX1yZXR1cm4gZSsiOyJ9fV0pLGR9KGwuWil9LDEzNTA6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7WjooKT0+dX0pO3ZhciBvPW4oNTY3MSksaT1uKDMxNDQpLHI9big5MzQwKSxhPW4oMzkzMCkscz1uKDExMjApLGM9big5OTk3KTtmdW5jdGlvbiBsKHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciBuPTAsbz1uZXcgQXJyYXkoZSk7bjxlO24rKylvW25dPXRbbl07cmV0dXJuIG99dmFyIHU9ZnVuY3Rpb24odCl7KDAsci5aKShwLHQpO3ZhciBlLG4sdT0oZT1wLG49ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBQcm94eSlyZXR1cm4hMDt0cnl7cmV0dXJuIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChCb29sZWFuLFtdLChmdW5jdGlvbigpe30pKSksITB9Y2F0Y2godCl7cmV0dXJuITF9fSgpLGZ1bmN0aW9uKCl7dmFyIHQsbz0oMCxzLlopKGUpO2lmKG4pe3ZhciBpPSgwLHMuWikodGhpcykuY29uc3RydWN0b3I7dD1SZWZsZWN0LmNvbnN0cnVjdChvLGFyZ3VtZW50cyxpKX1lbHNlIHQ9by5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuKDAsYS5aKSh0aGlzLHQpfSk7ZnVuY3Rpb24gcCh0LGUpe3JldHVybigwLG8uWikodGhpcyxwKSx1LmNhbGwodGhpcyx0LGUpfXJldHVybigwLGkuWikocCxbe2tleToiY3JlYXRlRWxlbWVudCIsdmFsdWU6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5zdG9yZS5nZXRBcnRib2FyZCgpLndpZHRoLGU9dGhpcy5zdG9yZS5nZXRBcnRib2FyZCgpLmhlaWdodCxuPXQqKHRoaXMub3B0aW9ucy54LzEwMCksbz1lKih0aGlzLm9wdGlvbnMueS8xMDApLGk9dCoodGhpcy5vcHRpb25zLndpZHRoLzEwMCkscj1lKih0aGlzLm9wdGlvbnMuaGVpZ2h0LzEwMCksYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwicG9seWdvbiIpLHM9IiIsYz0wO2M8dGhpcy5vcHRpb25zLnBvaW50cy5sZW5ndGg7YysrKXt2YXIgbD10Kih0aGlzLm9wdGlvbnMueC8xMDApK3BhcnNlRmxvYXQodGhpcy5vcHRpb25zLnBvaW50c1tjXS54KS8xMDAqaSx1PWUqKHRoaXMub3B0aW9ucy55LzEwMCkrcGFyc2VGbG9hdCh0aGlzLm9wdGlvbnMucG9pbnRzW2NdLnkpLzEwMCpyO3MrPSIiLmNvbmNhdChsLCIsIikuY29uY2F0KHUsIiAiKX1hLnNldEF0dHJpYnV0ZSgicG9pbnRzIixzKTt2YXIgcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwic3ZnIik7cmV0dXJuIHAuY2xhc3NMaXN0LmFkZCgiaW1wLW9iamVjdC1wb2x5IikscC5zZXRBdHRyaWJ1dGVOUyhudWxsLCJ2aWV3Qm94IiwiIi5jb25jYXQobiwiICIpLmNvbmNhdChvLCIgIikuY29uY2F0KGksIiAiKS5jb25jYXQocikpLHAuYXBwZW5kQ2hpbGQoYSkscH19LHtrZXk6ImNyZWF0ZUNTU1J1bGVzIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT0iIixuPSgwLGMub28pKHQuYmFja2dyb3VuZF9jb2xvcil8fHtyOjAsYjowLGc6MH0sbz0oMCxjLm9vKSh0LnN0cm9rZV9jb2xvcil8fHtyOjAsYjowLGc6MH07ImNvbG9yIj09PXQuYmFja2dyb3VuZF90eXBlP2UrPSJmaWxsOiByZ2JhKCIuY29uY2F0KG4uciwiLCAiKS5jb25jYXQobi5nLCIsICIpLmNvbmNhdChuLmIsIiwgIikuY29uY2F0KHQuYmFja2dyb3VuZF9vcGFjaXR5LCIpOyAiKTplKz0iZmlsbDogcmdiYSgwLCAwLCAwLCAwKTsgIixlKz0ibGVmdDogIi5jb25jYXQodGhpcy5vcHRpb25zLngsIiU7IiksZSs9InRvcDogIi5jb25jYXQodGhpcy5vcHRpb25zLnksIiU7IiksZSs9IndpZHRoOiAiLmNvbmNhdCh0aGlzLm9wdGlvbnMud2lkdGgsIiU7IiksZSs9ImhlaWdodDogIi5jb25jYXQodGhpcy5vcHRpb25zLmhlaWdodCwiJTsiKSxlKz0ib3BhY2l0eTogIi5jb25jYXQodC5vcGFjaXR5LCI7IiksZSs9InN0cm9rZTogcmdiYSgiLmNvbmNhdChvLnIsIiwgIikuY29uY2F0KG8uZywiLCAiKS5jb25jYXQoby5iLCIsICIpLmNvbmNhdCh0LnN0cm9rZV9vcGFjaXR5LCIpOyAiKSxlKz0ic3Ryb2tlLXdpZHRoOiAiLmNvbmNhdCh0LnN0cm9rZV93aWR0aCwicHg7ICIpLGUrPSJzdHJva2UtZGFzaGFycmF5OiAiLmNvbmNhdCh0LnN0cm9rZV9kYXNoYXJyYXksIjsgIiksZSs9InN0cm9rZS1saW5lY2FwOiAiLmNvbmNhdCh0LnN0cm9rZV9saW5lY2FwLCI7ICIpLGUrPSJmaWx0ZXI6ICI7dmFyIGkscj1mdW5jdGlvbih0LGUpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl18fHRbIkBAaXRlcmF0b3IiXTtpZighbil7aWYoQXJyYXkuaXNBcnJheSh0KXx8KG49ZnVuY3Rpb24odCxlKXtpZih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIGwodCxlKTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1uJiZ0LmNvbnN0cnVjdG9yJiYobj10LmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09bnx8IlNldCI9PT1uP0FycmF5LmZyb20odCk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9sKHQsZSk6dm9pZCAwfX0odCkpfHxlJiZ0JiYibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXtuJiYodD1uKTt2YXIgbz0wLGk9ZnVuY3Rpb24oKXt9O3JldHVybntzOmksbjpmdW5jdGlvbigpe3JldHVybiBvPj10Lmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6dFtvKytdfX0sZTpmdW5jdGlvbih0KXt0aHJvdyB0fSxmOml9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgcixhPSEwLHM9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtuPW4uY2FsbCh0KX0sbjpmdW5jdGlvbigpe3ZhciB0PW4ubmV4dCgpO3JldHVybiBhPXQuZG9uZSx0fSxlOmZ1bmN0aW9uKHQpe3M9ITAscj10fSxmOmZ1bmN0aW9uKCl7dHJ5e2F8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyByfX19fSh0LnBhcmVudF9maWx0ZXJzKTt0cnl7Zm9yKHIucygpOyEoaT1yLm4oKSkuZG9uZTspe3ZhciBhPWkudmFsdWU7ZSs9IiIuY29uY2F0KGEubmFtZSwiKCIpLmNvbmNhdChhLnZhbHVlLCIpICIpfX1jYXRjaCh0KXtyLmUodCl9ZmluYWxseXtyLmYoKX1yZXR1cm4gZSsiOyJ9fV0pLHB9KG4oOTg2NykuWil9LDQ5MjA6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7WjooKT0+ZH0pO3ZhciBvPW4oNTY3MSksaT1uKDMxNDQpLHI9big5MzQwKSxhPW4oMzkzMCkscz1uKDExMjApLGM9bigxNDQpLGw9big5ODY3KSx1PW4oOTk5Nyk7ZnVuY3Rpb24gcCh0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgbj0wLG89bmV3IEFycmF5KGUpO248ZTtuKyspb1tuXT10W25dO3JldHVybiBvfXZhciBkPWZ1bmN0aW9uKHQpeygwLHIuWikoZCx0KTt2YXIgZSxuLGw9KGU9ZCxuPWZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBSZWZsZWN0fHwhUmVmbGVjdC5jb25zdHJ1Y3QpcmV0dXJuITE7aWYoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgUHJveHkpcmV0dXJuITA7dHJ5e3JldHVybiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoQm9vbGVhbixbXSwoZnVuY3Rpb24oKXt9KSkpLCEwfWNhdGNoKHQpe3JldHVybiExfX0oKSxmdW5jdGlvbigpe3ZhciB0LG89KDAscy5aKShlKTtpZihuKXt2YXIgaT0oMCxzLlopKHRoaXMpLmNvbnN0cnVjdG9yO3Q9UmVmbGVjdC5jb25zdHJ1Y3Qobyxhcmd1bWVudHMsaSl9ZWxzZSB0PW8uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybigwLGEuWikodGhpcyx0KX0pO2Z1bmN0aW9uIGQodCxlKXtyZXR1cm4oMCxvLlopKHRoaXMsZCksbC5jYWxsKHRoaXMsdCxlKX1yZXR1cm4oMCxpLlopKGQsW3trZXk6ImNyZWF0ZUVsZW1lbnQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuY2xhc3NMaXN0LmFkZCgiaW1wLW9iamVjdC1yZWN0IiksdH19LHtrZXk6ImNyZWF0ZUNTU1J1bGVzIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT0iIixuPXQuYm9yZGVyX3JhZGl1cysicHgiO3RoaXMub3B0aW9ucy50eXBlPT09Yy5DVyYmKG49IjUwJSA1MCUiKTt2YXIgbz0oMCx1Lm9vKSh0LmJhY2tncm91bmRfY29sb3IpfHx7cjowLGI6MCxnOjB9LGk9KDAsdS5vbykodC5ib3JkZXJfY29sb3IpfHx7cjowLGI6MCxnOjB9O2UrPSJsZWZ0OiAiK3RoaXMub3B0aW9ucy54KyIlOyIsZSs9InRvcDogIit0aGlzLm9wdGlvbnMueSsiJTsiLGUrPSJ3aWR0aDogIit0aGlzLm9wdGlvbnMud2lkdGgrIiU7IixlKz0iaGVpZ2h0OiAiK3RoaXMub3B0aW9ucy5oZWlnaHQrIiU7IiwiY29sb3IiPT09dC5iYWNrZ3JvdW5kX3R5cGUmJihlKz0iYmFja2dyb3VuZDogcmdiYSgiK28ucisiLCAiK28uZysiLCAiK28uYisiLCAiK3QuYmFja2dyb3VuZF9vcGFjaXR5KyIpOyIpLGUrPSJvcGFjaXR5OiAiK3Qub3BhY2l0eSsiOyIsZSs9ImJvcmRlci13aWR0aDogIit0LmJvcmRlcl93aWR0aCsicHg7IixlKz0iYm9yZGVyLXN0eWxlOiAiK3QuYm9yZGVyX3N0eWxlKyI7IixlKz0iYm9yZGVyLWNvbG9yOiByZ2JhKCIraS5yKyIsICIraS5nKyIsICIraS5iKyIsICIrdC5ib3JkZXJfb3BhY2l0eSsiKTsiLGUrPSJib3JkZXItcmFkaXVzOiAiK24rIjsiLGUrPSJmaWx0ZXI6ICI7dmFyIHIsYT1mdW5jdGlvbih0LGUpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl18fHRbIkBAaXRlcmF0b3IiXTtpZighbil7aWYoQXJyYXkuaXNBcnJheSh0KXx8KG49ZnVuY3Rpb24odCxlKXtpZih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIHAodCxlKTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1uJiZ0LmNvbnN0cnVjdG9yJiYobj10LmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09bnx8IlNldCI9PT1uP0FycmF5LmZyb20odCk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9wKHQsZSk6dm9pZCAwfX0odCkpfHxlJiZ0JiYibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXtuJiYodD1uKTt2YXIgbz0wLGk9ZnVuY3Rpb24oKXt9O3JldHVybntzOmksbjpmdW5jdGlvbigpe3JldHVybiBvPj10Lmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6dFtvKytdfX0sZTpmdW5jdGlvbih0KXt0aHJvdyB0fSxmOml9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgcixhPSEwLHM9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtuPW4uY2FsbCh0KX0sbjpmdW5jdGlvbigpe3ZhciB0PW4ubmV4dCgpO3JldHVybiBhPXQuZG9uZSx0fSxlOmZ1bmN0aW9uKHQpe3M9ITAscj10fSxmOmZ1bmN0aW9uKCl7dHJ5e2F8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyByfX19fSh0LnBhcmVudF9maWx0ZXJzKTt0cnl7Zm9yKGEucygpOyEocj1hLm4oKSkuZG9uZTspe3ZhciBzPXIudmFsdWU7ZSs9IiIuY29uY2F0KHMubmFtZSwiKCIpLmNvbmNhdChzLnZhbHVlLCIpICIpfX1jYXRjaCh0KXthLmUodCl9ZmluYWxseXthLmYoKX1yZXR1cm4gZSsiOyJ9fV0pLGR9KGwuWil9LDEzMDk6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7WjooKT0+cH0pO3ZhciBvPW4oNTY3MSksaT1uKDMxNDQpLHI9big5MzQwKSxhPW4oMzkzMCkscz1uKDExMjApLGM9big5ODY3KSxsPW4oOTk5Nyk7ZnVuY3Rpb24gdSh0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgbj0wLG89bmV3IEFycmF5KGUpO248ZTtuKyspb1tuXT10W25dO3JldHVybiBvfXZhciBwPWZ1bmN0aW9uKHQpeygwLHIuWikocCx0KTt2YXIgZSxuLGM9KGU9cCxuPWZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBSZWZsZWN0fHwhUmVmbGVjdC5jb25zdHJ1Y3QpcmV0dXJuITE7aWYoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgUHJveHkpcmV0dXJuITA7dHJ5e3JldHVybiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoQm9vbGVhbixbXSwoZnVuY3Rpb24oKXt9KSkpLCEwfWNhdGNoKHQpe3JldHVybiExfX0oKSxmdW5jdGlvbigpe3ZhciB0LG89KDAscy5aKShlKTtpZihuKXt2YXIgaT0oMCxzLlopKHRoaXMpLmNvbnN0cnVjdG9yO3Q9UmVmbGVjdC5jb25zdHJ1Y3Qobyxhcmd1bWVudHMsaSl9ZWxzZSB0PW8uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybigwLGEuWikodGhpcyx0KX0pO2Z1bmN0aW9uIHAodCxlKXtyZXR1cm4oMCxvLlopKHRoaXMscCksYy5jYWxsKHRoaXMsdCxlKX1yZXR1cm4oMCxpLlopKHAsW3trZXk6ImNyZWF0ZUVsZW1lbnQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYodC5jbGFzc0xpc3QuYWRkKCJpbXAtb2JqZWN0LXNwb3QiKSx0aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZS51c2VfaWNvbil7aWYodGhpcy5vcHRpb25zLmRlZmF1bHRfc3R5bGUuaWNvbl9pc19waW4mJnQuY2xhc3NMaXN0LmFkZCgiaW1wLW9iamVjdC1zcG90LXBpbiIpLCJsaWJyYXJ5Ij09PXRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmljb25fdHlwZSl7dmFyIGU9KDAsbC5CdikodGhpcy5vcHRpb25zLmRlZmF1bHRfc3R5bGUuaWNvbl9zdmcpO2Uuc3R5bGUud2lkdGg9IiIuY29uY2F0KHRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmljb25fc2l6ZSwicHgiKSxlLnN0eWxlLmhlaWdodD0iIi5jb25jYXQodGhpcy5vcHRpb25zLmRlZmF1bHRfc3R5bGUuaWNvbl9zaXplLCJweCIpLHQuYXBwZW5kQ2hpbGQoZSl9aWYoImN1c3RvbSI9PT10aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZS5pY29uX3R5cGUmJnRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmljb25fdXJsLmxlbmd0aD4wKXt2YXIgbj0nPGltZyBzcmM9IicuY29uY2F0KHRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmljb25fdXJsLCciIHN0eWxlPSJ3aWR0aDogJykuY29uY2F0KHRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmljb25fc2l6ZSwicHg7IGhlaWdodDogIikuY29uY2F0KHRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmljb25fc2l6ZSwncHgiPicpO3QuYXBwZW5kQ2hpbGQoKDAsbC5CdikobikpfWlmKHRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmljb25fc2hhZG93KXt2YXIgbz0id2lkdGg6ICIuY29uY2F0KHRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmljb25fc2l6ZSwicHg7Iik7bys9ImhlaWdodDogIi5jb25jYXQodGhpcy5vcHRpb25zLmRlZmF1bHRfc3R5bGUuaWNvbl9zaXplLCJweDsiKSxvKz0ibGVmdDogMDsiLG8rPSJ0b3A6ICIuY29uY2F0KHRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmljb25fc2l6ZS8yLCJweDsiKTt2YXIgaT0nPGRpdiBzdHlsZT0iJy5jb25jYXQobywnIiBjbGFzcz0iaW1wLW9iamVjdC1pY29uLXNoYWRvdyI+PC9kaXY+Jyk7dC5hcHBlbmRDaGlsZCgoMCxsLkJ2KShpKSl9fXJldHVybiB0fX0se2tleToiY3JlYXRlQ1NTUnVsZXMiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPSIiO2lmKGUrPSJsZWZ0OiAiLmNvbmNhdCh0aGlzLm9wdGlvbnMueCwiJTsiKSxlKz0idG9wOiAiLmNvbmNhdCh0aGlzLm9wdGlvbnMueSwiJTsiKSx0aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZS51c2VfaWNvbil7aWYoZSs9IndpZHRoOiAiLmNvbmNhdCh0aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZS5pY29uX3NpemUsInB4OyIpLGUrPSJoZWlnaHQ6ICIuY29uY2F0KHRoaXMub3B0aW9ucy5kZWZhdWx0X3N0eWxlLmljb25fc2l6ZSwicHg7IiksImxpYnJhcnkiPT09dGhpcy5vcHRpb25zLmRlZmF1bHRfc3R5bGUuaWNvbl90eXBlKXt2YXIgbj0oMCxsLm9vKSh0Lmljb25fZmlsbCl8fHtyOjAsYjowLGc6MH07ZSs9ImZpbGw6IHJnYmEoIi5jb25jYXQobi5yLCIsICIpLmNvbmNhdChuLmcsIiwgIikuY29uY2F0KG4uYiwiLCAiKS5jb25jYXQodC5vcGFjaXR5LCIpOyIpfXZhciBvLGk7bz0tdGhpcy5vcHRpb25zLmRlZmF1bHRfc3R5bGUuaWNvbl9zaXplLzIsaT10aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZS5pY29uX2lzX3Bpbj8tdGhpcy5vcHRpb25zLmRlZmF1bHRfc3R5bGUuaWNvbl9zaXplOi10aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZS5pY29uX3NpemUvMixlKz0ibWFyZ2luLXRvcDogIi5jb25jYXQoaSwicHg7IiksZSs9Im1hcmdpbi1sZWZ0OiAiLmNvbmNhdChvLCJweDsiKSx0aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZS5pY29uX2lzX3Bpbj9lKz0idHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7IjplKz0idHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsifWlmKCF0aGlzLm9wdGlvbnMuZGVmYXVsdF9zdHlsZS51c2VfaWNvbil7ZSs9IndpZHRoOiAiLmNvbmNhdCh0aGlzLm9wdGlvbnMud2lkdGgsInB4OyIpLGUrPSJoZWlnaHQ6ICIuY29uY2F0KHRoaXMub3B0aW9ucy5oZWlnaHQsInB4OyIpO3ZhciByPSgwLGwub28pKHQuYmFja2dyb3VuZF9jb2xvcil8fHtyOjAsYjowLGc6MH0sYT0oMCxsLm9vKSh0LmJvcmRlcl9jb2xvcil8fHtyOjAsYjowLGc6MH07ZSs9Im9wYWNpdHk6ICIuY29uY2F0KHQub3BhY2l0eSwiOyIpLGUrPSJib3JkZXItcmFkaXVzOiAiLmNvbmNhdCh0LmJvcmRlcl9yYWRpdXMsInB4OyIpLGUrPSJiYWNrZ3JvdW5kOiByZ2JhKCIuY29uY2F0KHIuciwiLCAiKS5jb25jYXQoci5nLCIsICIpLmNvbmNhdChyLmIsIiwgIikuY29uY2F0KHQuYmFja2dyb3VuZF9vcGFjaXR5LCIpOyIpLGUrPSJib3JkZXItd2lkdGg6ICIuY29uY2F0KHQuYm9yZGVyX3dpZHRoLCJweDsiKSxlKz0iYm9yZGVyLXN0eWxlOiAiLmNvbmNhdCh0LmJvcmRlcl9zdHlsZSwiOyIpLGUrPSJib3JkZXItY29sb3I6IHJnYmEoIi5jb25jYXQoYS5yLCIsICIpLmNvbmNhdChhLmcsIiwgIikuY29uY2F0KGEuYiwiLCAiKS5jb25jYXQodC5ib3JkZXJfb3BhY2l0eSwiKTsiKSxlKz0ibWFyZ2luLXRvcDogIi5jb25jYXQoLXRoaXMub3B0aW9ucy53aWR0aC8yLCJweDsiKSxlKz0ibWFyZ2luLWxlZnQ6ICIuY29uY2F0KC10aGlzLm9wdGlvbnMuaGVpZ2h0LzIsInB4OyIpfWUrPSJmaWx0ZXI6ICI7dmFyIHMsYz1mdW5jdGlvbih0LGUpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl18fHRbIkBAaXRlcmF0b3IiXTtpZighbil7aWYoQXJyYXkuaXNBcnJheSh0KXx8KG49ZnVuY3Rpb24odCxlKXtpZih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIHUodCxlKTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1uJiZ0LmNvbnN0cnVjdG9yJiYobj10LmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09bnx8IlNldCI9PT1uP0FycmF5LmZyb20odCk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT91KHQsZSk6dm9pZCAwfX0odCkpfHxlJiZ0JiYibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXtuJiYodD1uKTt2YXIgbz0wLGk9ZnVuY3Rpb24oKXt9O3JldHVybntzOmksbjpmdW5jdGlvbigpe3JldHVybiBvPj10Lmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6dFtvKytdfX0sZTpmdW5jdGlvbih0KXt0aHJvdyB0fSxmOml9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgcixhPSEwLHM9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtuPW4uY2FsbCh0KX0sbjpmdW5jdGlvbigpe3ZhciB0PW4ubmV4dCgpO3JldHVybiBhPXQuZG9uZSx0fSxlOmZ1bmN0aW9uKHQpe3M9ITAscj10fSxmOmZ1bmN0aW9uKCl7dHJ5e2F8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyByfX19fSh0LnBhcmVudF9maWx0ZXJzKTt0cnl7Zm9yKGMucygpOyEocz1jLm4oKSkuZG9uZTspe3ZhciBwPXMudmFsdWU7ZSs9IiIuY29uY2F0KHAubmFtZSwiKCIpLmNvbmNhdChwLnZhbHVlLCIpICIpfX1jYXRjaCh0KXtjLmUodCl9ZmluYWxseXtjLmYoKX1yZXR1cm4gZSsiOyJ9fSx7a2V5OiJnZXRXaWR0aCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4uMDF9fSx7a2V5OiJnZXRIZWlnaHQiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuLjAxfX1dKSxwfShjLlopfSw3NDIzOih0LGUsbik9PnsidXNlIHN0cmljdCI7bi5kKGUse1o6KCk9PnV9KTt2YXIgbz1uKDU2NzEpLGk9bigzMTQ0KSxyPW4oOTM0MCksYT1uKDM5MzApLHM9bigxMTIwKTtmdW5jdGlvbiBjKHQsZSl7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJnRbU3ltYm9sLml0ZXJhdG9yXXx8dFsiQEBpdGVyYXRvciJdO2lmKCFuKXtpZihBcnJheS5pc0FycmF5KHQpfHwobj1mdW5jdGlvbih0LGUpe2lmKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gbCh0LGUpO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PW4mJnQuY29uc3RydWN0b3ImJihuPXQuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1ufHwiU2V0Ij09PW4/QXJyYXkuZnJvbSh0KToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP2wodCxlKTp2b2lkIDB9fSh0KSl8fGUmJnQmJiJudW1iZXIiPT10eXBlb2YgdC5sZW5ndGgpe24mJih0PW4pO3ZhciBvPTAsaT1mdW5jdGlvbigpe307cmV0dXJue3M6aSxuOmZ1bmN0aW9uKCl7cmV0dXJuIG8+PXQubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTp0W28rK119fSxlOmZ1bmN0aW9uKHQpe3Rocm93IHR9LGY6aX19dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfXZhciByLGE9ITAscz0hMTtyZXR1cm57czpmdW5jdGlvbigpe249bi5jYWxsKHQpfSxuOmZ1bmN0aW9uKCl7dmFyIHQ9bi5uZXh0KCk7cmV0dXJuIGE9dC5kb25lLHR9LGU6ZnVuY3Rpb24odCl7cz0hMCxyPXR9LGY6ZnVuY3Rpb24oKXt0cnl7YXx8bnVsbD09bi5yZXR1cm58fG4ucmV0dXJuKCl9ZmluYWxseXtpZihzKXRocm93IHJ9fX19ZnVuY3Rpb24gbCh0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgbj0wLG89bmV3IEFycmF5KGUpO248ZTtuKyspb1tuXT10W25dO3JldHVybiBvfXZhciB1PWZ1bmN0aW9uKHQpeygwLHIuWikodSx0KTt2YXIgZSxuLGw9KGU9dSxuPWZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBSZWZsZWN0fHwhUmVmbGVjdC5jb25zdHJ1Y3QpcmV0dXJuITE7aWYoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgUHJveHkpcmV0dXJuITA7dHJ5e3JldHVybiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoQm9vbGVhbixbXSwoZnVuY3Rpb24oKXt9KSkpLCEwfWNhdGNoKHQpe3JldHVybiExfX0oKSxmdW5jdGlvbigpe3ZhciB0LG89KDAscy5aKShlKTtpZihuKXt2YXIgaT0oMCxzLlopKHRoaXMpLmNvbnN0cnVjdG9yO3Q9UmVmbGVjdC5jb25zdHJ1Y3Qobyxhcmd1bWVudHMsaSl9ZWxzZSB0PW8uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybigwLGEuWikodGhpcyx0KX0pO2Z1bmN0aW9uIHUodCxlKXtyZXR1cm4oMCxvLlopKHRoaXMsdSksbC5jYWxsKHRoaXMsdCxlKX1yZXR1cm4oMCxpLlopKHUsW3trZXk6ImNyZWF0ZUVsZW1lbnQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQsZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwic3ZnIiksbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix0aGlzLm9wdGlvbnMuc3ZnLnRhZ05hbWUpLG89Yyh0aGlzLm9wdGlvbnMuc3ZnLnByb3BlcnRpZXMpO3RyeXtmb3Ioby5zKCk7ISh0PW8ubigpKS5kb25lOyl7dmFyIGk9dC52YWx1ZTtuLnNldEF0dHJpYnV0ZShpLm5hbWUsaS52YWx1ZSl9fWNhdGNoKHQpe28uZSh0KX1maW5hbGx5e28uZigpfXJldHVybiBlLmNsYXNzTGlzdC5hZGQoImltcC1vYmplY3Qtc3ZnLXNpbmdsZSIpLGUuc2V0QXR0cmlidXRlKCJ2aWV3Qm94Iix0aGlzLm9wdGlvbnMuc3ZnLnZpZXdCb3gpLGUuYXBwZW5kQ2hpbGQobiksZX19LHtrZXk6ImNyZWF0ZUNTU1J1bGVzIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT0iIjtlKz0ibGVmdDogIi5jb25jYXQodGhpcy5vcHRpb25zLngsIiU7IiksZSs9InRvcDogIi5jb25jYXQodGhpcy5vcHRpb25zLnksIiU7IiksZSs9IndpZHRoOiAiLmNvbmNhdCh0aGlzLm9wdGlvbnMud2lkdGgsIiU7IiksZSs9ImhlaWdodDogIi5jb25jYXQodGhpcy5vcHRpb25zLmhlaWdodCwiJTsiKSxlKz0ib3BhY2l0eTogIi5jb25jYXQodC5vcGFjaXR5LCI7IiksZSs9ImZpbGw6ICIuY29uY2F0KHQuYmFja2dyb3VuZF9jb2xvciwiOyIpLGUrPSJmaWxsLW9wYWNpdHk6ICIuY29uY2F0KHQuYmFja2dyb3VuZF9vcGFjaXR5LCI7IiksZSs9InN0cm9rZTogIi5jb25jYXQodC5zdHJva2VfY29sb3IsIjsiKSxlKz0ic3Ryb2tlLW9wYWNpdHk6ICIuY29uY2F0KHQuc3Ryb2tlX29wYWNpdHksIjsiKSxlKz0ic3Ryb2tlLXdpZHRoOiAiLmNvbmNhdCh0LnN0cm9rZV93aWR0aCwiOyIpLGUrPSJzdHJva2UtZGFzaGFycmF5OiAiLmNvbmNhdCh0LnN0cm9rZV9kYXNoYXJyYXksIjsiKSxlKz0ic3Ryb2tlLWxpbmVjYXA6ICIuY29uY2F0KHQuc3Ryb2tlX2xpbmVjYXAsIjsiKSxlKz0iZmlsdGVyOiAiO3ZhciBuLG89Yyh0LnBhcmVudF9maWx0ZXJzKTt0cnl7Zm9yKG8ucygpOyEobj1vLm4oKSkuZG9uZTspe3ZhciBpPW4udmFsdWU7ZSs9IiIuY29uY2F0KGkubmFtZSwiKCIpLmNvbmNhdChpLnZhbHVlLCIpICIpfX1jYXRjaCh0KXtvLmUodCl9ZmluYWxseXtvLmYoKX1yZXR1cm4gZSsiOyJ9fV0pLHV9KG4oOTg2NykuWil9LDY4NTY6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7WjooKT0+dX0pO3ZhciBvPW4oNTY3MSksaT1uKDMxNDQpLHI9big5MzQwKSxhPW4oMzkzMCkscz1uKDExMjApO2Z1bmN0aW9uIGModCxlKXt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmdFtTeW1ib2wuaXRlcmF0b3JdfHx0WyJAQGl0ZXJhdG9yIl07aWYoIW4pe2lmKEFycmF5LmlzQXJyYXkodCl8fChuPWZ1bmN0aW9uKHQsZSl7aWYodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBsKHQsZSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpO3JldHVybiJPYmplY3QiPT09biYmdC5jb25zdHJ1Y3RvciYmKG49dC5jb25zdHJ1Y3Rvci5uYW1lKSwiTWFwIj09PW58fCJTZXQiPT09bj9BcnJheS5mcm9tKHQpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/bCh0LGUpOnZvaWQgMH19KHQpKXx8ZSYmdCYmIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aCl7biYmKHQ9bik7dmFyIG89MCxpPWZ1bmN0aW9uKCl7fTtyZXR1cm57czppLG46ZnVuY3Rpb24oKXtyZXR1cm4gbz49dC5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOnRbbysrXX19LGU6ZnVuY3Rpb24odCl7dGhyb3cgdH0sZjppfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIHIsYT0hMCxzPSExO3JldHVybntzOmZ1bmN0aW9uKCl7bj1uLmNhbGwodCl9LG46ZnVuY3Rpb24oKXt2YXIgdD1uLm5leHQoKTtyZXR1cm4gYT10LmRvbmUsdH0sZTpmdW5jdGlvbih0KXtzPSEwLHI9dH0sZjpmdW5jdGlvbigpe3RyeXthfHxudWxsPT1uLnJldHVybnx8bi5yZXR1cm4oKX1maW5hbGx5e2lmKHMpdGhyb3cgcn19fX1mdW5jdGlvbiBsKHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciBuPTAsbz1uZXcgQXJyYXkoZSk7bjxlO24rKylvW25dPXRbbl07cmV0dXJuIG99dmFyIHU9ZnVuY3Rpb24odCl7KDAsci5aKSh1LHQpO3ZhciBlLG4sbD0oZT11LG49ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBQcm94eSlyZXR1cm4hMDt0cnl7cmV0dXJuIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChCb29sZWFuLFtdLChmdW5jdGlvbigpe30pKSksITB9Y2F0Y2godCl7cmV0dXJuITF9fSgpLGZ1bmN0aW9uKCl7dmFyIHQsbz0oMCxzLlopKGUpO2lmKG4pe3ZhciBpPSgwLHMuWikodGhpcykuY29uc3RydWN0b3I7dD1SZWZsZWN0LmNvbnN0cnVjdChvLGFyZ3VtZW50cyxpKX1lbHNlIHQ9by5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuKDAsYS5aKSh0aGlzLHQpfSk7ZnVuY3Rpb24gdSh0LGUpe3JldHVybigwLG8uWikodGhpcyx1KSxsLmNhbGwodGhpcyx0LGUpfXJldHVybigwLGkuWikodSxbe2tleToiY3JlYXRlRWxlbWVudCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwic3ZnIik7cmV0dXJuIHQuaW5uZXJIVE1MPXRoaXMub3B0aW9ucy5zdmcuaHRtbCx0LmNsYXNzTGlzdC5hZGQoImltcC1vYmplY3Qtc3ZnLXNpbmdsZSIpLHQuc2V0QXR0cmlidXRlKCJ2aWV3Qm94Iix0aGlzLm9wdGlvbnMuc3ZnLnZpZXdCb3gpLHR9fSx7a2V5OiJjcmVhdGVDU1NSdWxlcyIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9IiI7ZSs9ImxlZnQ6ICIuY29uY2F0KHRoaXMub3B0aW9ucy54LCIlOyIpLGUrPSJ0b3A6ICIuY29uY2F0KHRoaXMub3B0aW9ucy55LCIlOyIpLGUrPSJ3aWR0aDogIi5jb25jYXQodGhpcy5vcHRpb25zLndpZHRoLCIlOyIpLGUrPSJoZWlnaHQ6ICIuY29uY2F0KHRoaXMub3B0aW9ucy5oZWlnaHQsIiU7IiksZSs9Im9wYWNpdHk6ICIuY29uY2F0KHQub3BhY2l0eSwiOyIpLGUrPSJmaWx0ZXI6ICI7dmFyIG4sbz1jKHQuZmlsdGVycyk7dHJ5e2ZvcihvLnMoKTshKG49by5uKCkpLmRvbmU7KXt2YXIgaT1uLnZhbHVlO2UrPSIiLmNvbmNhdChpLm5hbWUsIigiKS5jb25jYXQoaS52YWx1ZSwiKSAiKX19Y2F0Y2godCl7by5lKHQpfWZpbmFsbHl7by5mKCl9dmFyIHIsYT1jKHQucGFyZW50X2ZpbHRlcnMpO3RyeXtmb3IoYS5zKCk7IShyPWEubigpKS5kb25lOyl7dmFyIHM9ci52YWx1ZTtlKz0iIi5jb25jYXQocy5uYW1lLCIoIikuY29uY2F0KHMudmFsdWUsIikgIil9fWNhdGNoKHQpe2EuZSh0KX1maW5hbGx5e2EuZigpfXJldHVybiBlKyI7ICJ9fV0pLHV9KG4oOTg2NykuWil9LDk1ODY6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7WjooKT0+dX0pO3ZhciBvPW4oNTY3MSksaT1uKDMxNDQpLHI9big5MzQwKSxhPW4oMzkzMCkscz1uKDExMjApLGM9big5OTk3KTtmdW5jdGlvbiBsKHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciBuPTAsbz1uZXcgQXJyYXkoZSk7bjxlO24rKylvW25dPXRbbl07cmV0dXJuIG99dmFyIHU9ZnVuY3Rpb24odCl7KDAsci5aKShwLHQpO3ZhciBlLG4sdT0oZT1wLG49ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBQcm94eSlyZXR1cm4hMDt0cnl7cmV0dXJuIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChCb29sZWFuLFtdLChmdW5jdGlvbigpe30pKSksITB9Y2F0Y2godCl7cmV0dXJuITF9fSgpLGZ1bmN0aW9uKCl7dmFyIHQsbz0oMCxzLlopKGUpO2lmKG4pe3ZhciBpPSgwLHMuWikodGhpcykuY29uc3RydWN0b3I7dD1SZWZsZWN0LmNvbnN0cnVjdChvLGFyZ3VtZW50cyxpKX1lbHNlIHQ9by5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuKDAsYS5aKSh0aGlzLHQpfSk7ZnVuY3Rpb24gcCh0LGUpe3JldHVybigwLG8uWikodGhpcyxwKSx1LmNhbGwodGhpcyx0LGUpfXJldHVybigwLGkuWikocCxbe2tleToiY3JlYXRlRWxlbWVudCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5jbGFzc0xpc3QuYWRkKCJpbXAtb2JqZWN0LXRleHQiKSx0LmlubmVySFRNTD10aGlzLm9wdGlvbnMudGV4dC50ZXh0LHR9fSx7a2V5OiJjcmVhdGVDU1NSdWxlcyIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9IiIsbj0oMCxjLm9vKSh0aGlzLm9wdGlvbnMudGV4dC50ZXh0X2NvbG9yKTtlKz0ibGVmdDogIit0aGlzLm9wdGlvbnMueCsiJTsiLGUrPSJ0b3A6ICIrdGhpcy5vcHRpb25zLnkrIiU7IixlKz0iZm9udC1mYW1pbHk6ICIrdGhpcy5vcHRpb25zLnRleHQuZm9udF9mYW1pbHkrIjsiLGUrPSJmb250LXNpemU6ICIrdGhpcy5vcHRpb25zLnRleHQuZm9udF9zaXplKyJweDsiLGUrPSJmb250LXdlaWdodDogIit0aGlzLm9wdGlvbnMudGV4dC5mb250X3dlaWdodCsiOyIsZSs9ImNvbG9yOiByZ2JhKCIrbi5yKyIsICIrbi5nKyIsICIrbi5iKyIsICIrdGhpcy5vcHRpb25zLnRleHQudGV4dF9vcGFjaXR5KyIpOyIsZSs9ImZpbHRlcjogIjt2YXIgbyxpPWZ1bmN0aW9uKHQsZSl7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJnRbU3ltYm9sLml0ZXJhdG9yXXx8dFsiQEBpdGVyYXRvciJdO2lmKCFuKXtpZihBcnJheS5pc0FycmF5KHQpfHwobj1mdW5jdGlvbih0LGUpe2lmKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gbCh0LGUpO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PW4mJnQuY29uc3RydWN0b3ImJihuPXQuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1ufHwiU2V0Ij09PW4/QXJyYXkuZnJvbSh0KToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP2wodCxlKTp2b2lkIDB9fSh0KSl8fGUmJnQmJiJudW1iZXIiPT10eXBlb2YgdC5sZW5ndGgpe24mJih0PW4pO3ZhciBvPTAsaT1mdW5jdGlvbigpe307cmV0dXJue3M6aSxuOmZ1bmN0aW9uKCl7cmV0dXJuIG8+PXQubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTp0W28rK119fSxlOmZ1bmN0aW9uKHQpe3Rocm93IHR9LGY6aX19dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfXZhciByLGE9ITAscz0hMTtyZXR1cm57czpmdW5jdGlvbigpe249bi5jYWxsKHQpfSxuOmZ1bmN0aW9uKCl7dmFyIHQ9bi5uZXh0KCk7cmV0dXJuIGE9dC5kb25lLHR9LGU6ZnVuY3Rpb24odCl7cz0hMCxyPXR9LGY6ZnVuY3Rpb24oKXt0cnl7YXx8bnVsbD09bi5yZXR1cm58fG4ucmV0dXJuKCl9ZmluYWxseXtpZihzKXRocm93IHJ9fX19KHQucGFyZW50X2ZpbHRlcnMpO3RyeXtmb3IoaS5zKCk7IShvPWkubigpKS5kb25lOyl7dmFyIHI9by52YWx1ZTtlKz0iIi5jb25jYXQoci5uYW1lLCIoIikuY29uY2F0KHIudmFsdWUsIikgIil9fWNhdGNoKHQpe2kuZSh0KX1maW5hbGx5e2kuZigpfXJldHVybiBlKyI7In19LHtrZXk6ImdldFdpZHRoIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybigwLGMuWW8pKHRoaXMuZWxlbWVudCkud2lkdGgvdGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLndpZHRoKjEwMH19LHtrZXk6ImdldEhlaWdodCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4oMCxjLllvKSh0aGlzLmVsZW1lbnQpLmhlaWdodC90aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkuaGVpZ2h0KjEwMH19LHtrZXk6ImdldFJlY3QiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue3g6dGhpcy5vcHRpb25zLngseTp0aGlzLm9wdGlvbnMueSx3aWR0aDp0aGlzLmdldFdpZHRoKCksaGVpZ2h0OnRoaXMuZ2V0SGVpZ2h0KCl9fX1dKSxwfShuKDk4NjcpLlopfSw1NTE0OigpPT57InVuZGVmaW5lZCIhPXR5cGVvZiAkJiYoJC5pbWFnZU1hcFByb0hpZ2hsaWdodFNoYXBlPXdpbmRvdy5JbWFnZU1hcFByby5oaWdobGlnaHRPYmplY3QsJC5pbWFnZU1hcFByb1VuaGlnaGxpZ2h0U2hhcGU9d2luZG93LkltYWdlTWFwUHJvLnVuaGlnaGxpZ2h0T2JqZWN0LCQuaW1hZ2VNYXBQcm9Gb2N1c1NoYXBlPXdpbmRvdy5JbWFnZU1hcFByby5mb2N1c09iamVjdCwkLmltYWdlTWFwUHJvT3BlblRvb2x0aXA9d2luZG93LkltYWdlTWFwUHJvLnNob3dUb29sdGlwLCQuaW1hZ2VNYXBQcm9IaWRlVG9vbHRpcD13aW5kb3cuSW1hZ2VNYXBQcm8uaGlkZVRvb2x0aXAsJC5pbWFnZU1hcFByb1JlSW5pdE1hcD13aW5kb3cuSW1hZ2VNYXBQcm8ucmVJbml0TWFwLCQuaW1hZ2VNYXBQcm9Jc01vYmlsZT13aW5kb3cuSW1hZ2VNYXBQcm8uaXNNb2JpbGUsJC5pbWFnZU1hcFByb0dvVG9GbG9vcj13aW5kb3cuSW1hZ2VNYXBQcm8uY2hhbmdlQXJ0Ym9hcmQsJC5pbWFnZU1hcFByb1pvb21Jbj13aW5kb3cuSW1hZ2VNYXBQcm8uem9vbUluLCQuaW1hZ2VNYXBQcm9ab29tT3V0PXdpbmRvdy5JbWFnZU1hcFByby56b29tT3V0KX0sNDk1NzoodCxlLG4pPT57InVzZSBzdHJpY3QiO24uZChlLHtCUTooKT0+eSxFWjooKT0+YixGcTooKT0+ZixHTzooKT0+ZCxIVzooKT0+eCxKQTooKT0+aixNSjooKT0+dyxOYjooKT0+ZyxSTjooKT0+bSxTMzooKT0+RSxTcTooKT0+cixZNzooKT0+ayxaWTooKT0+byxkNDooKT0+dSxkYjooKT0+aCxlbDooKT0+YSxmOTooKT0+YyxoOTooKT0+cyxpbjooKT0+dixrSzooKT0+cCxsWTooKT0+aSxseTooKT0+SSxxajooKT0+TyxyNDooKT0+XyxzMjooKT0+bCx4NDooKT0+TSx4XzooKT0+Q30pO3ZhciBvPSJSRUNUX0NBTlZBU19XUkFQIixpPSJSRUNUX05BVklHQVRPUiIscj0iUkVDVF9UT09MVElQU19DT05UQUlORVIiLGE9IlJFQ1RfTUVOVSIscz0iUkVDVF9CVVRUT05fRlVMTFNDUkVFTiIsYz0iUkVDVF9CVVRUT05fWk9PTV9JTiIsbD0iUkVDVF9CVVRUT05fWk9PTV9PVVQiLHU9IlJFQ1RfQVJUQk9BUkRfU0VMRUNUX01FTlUiLHA9IlJFQ1RfQlVUVE9OX09QRU5fTUVOVSIsZD0iUkVDVF9CVVRUT05fQ0xPU0VfTUVOVSIsaD0iUkVDVF9PUEVORURfRlVMTFNDUkVFTl9UT09MVElQIixtPSJBQ1RJT05fSURMRSIsZj0iQUNUSU9OX1BBTiIsZz0iQUNUSU9OX1BJTkNIIixiPSJBQ1RJT05fUEFOX09OX05BVklHQVRPUiIsdj0iVVAiLHk9IkRPV04iLF89IkxFRlQiLHc9IlJJR0hUIix4PSJtYXBJbml0IixrPSJvYmplY3RIaWdobGlnaHQiLGo9Im9iamVjdFVuaGlnaGxpZ2h0IixNPSJvYmplY3RDbGljayIsST0idG9vbHRpcFNob3ciLEM9InRvb2x0aXBIaWRlIixFPSJhcnRib2FyZENoYW5nZSIsTz0iem9vbVBhblVwZGF0ZSJ9LDk3MTooX191bnVzZWRfd2VicGFja19tb2R1bGUsX193ZWJwYWNrX2V4cG9ydHNfXyxfX3dlYnBhY2tfcmVxdWlyZV9fKT0+eyJ1c2Ugc3RyaWN0IjtfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXyx7WjooKT0+T2JqZWN0Q29udHJvbGxlcn0pO3ZhciBfYmFiZWxfcnVudGltZV9oZWxwZXJzX2NsYXNzQ2FsbENoZWNrX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X189X193ZWJwYWNrX3JlcXVpcmVfXyg1NjcxKSxfYmFiZWxfcnVudGltZV9oZWxwZXJzX2NyZWF0ZUNsYXNzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X189X193ZWJwYWNrX3JlcXVpcmVfXygzMTQ0KSxFZGl0b3Jfc2NyaXB0c191dGlsaXRpZXNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXz1fX3dlYnBhY2tfcmVxdWlyZV9fKDk5OTcpLENsaWVudF9jb25zdHNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX189X193ZWJwYWNrX3JlcXVpcmVfXyg0OTU3KSxFZGl0b3Jfc2NyaXB0c19jb25zdHNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfXz1fX3dlYnBhY2tfcmVxdWlyZV9fKDE0NCksQ2xpZW50X1VJX29iamVjdHNfc3BvdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fPV9fd2VicGFja19yZXF1aXJlX18oMTMwOSksQ2xpZW50X1VJX29iamVjdHNfdGV4dF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fPV9fd2VicGFja19yZXF1aXJlX18oOTU4NiksQ2xpZW50X1VJX29iamVjdHNfcmVjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fPV9fd2VicGFja19yZXF1aXJlX18oNDkyMCksQ2xpZW50X1VJX29iamVjdHNfb3ZhbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fPV9fd2VicGFja19yZXF1aXJlX18oMzg4MSksQ2xpZW50X1VJX29iamVjdHNfcG9seV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fPV9fd2VicGFja19yZXF1aXJlX18oMTM1MCksQ2xpZW50X1VJX29iamVjdHNfZ3JvdXBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX189X193ZWJwYWNrX3JlcXVpcmVfXygzODk0KSxDbGllbnRfVUlfb2JqZWN0c19zdmdTaW5nbGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX189X193ZWJwYWNrX3JlcXVpcmVfXyg2ODU2KSxDbGllbnRfVUlfb2JqZWN0c19zdmdfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfXz1fX3dlYnBhY2tfcmVxdWlyZV9fKDc0MjMpO2Z1bmN0aW9uIF9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyKHQsZSl7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJnRbU3ltYm9sLml0ZXJhdG9yXXx8dFsiQEBpdGVyYXRvciJdO2lmKCFuKXtpZihBcnJheS5pc0FycmF5KHQpfHwobj1fdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkodCkpfHxlJiZ0JiYibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXtuJiYodD1uKTt2YXIgbz0wLGk9ZnVuY3Rpb24oKXt9O3JldHVybntzOmksbjpmdW5jdGlvbigpe3JldHVybiBvPj10Lmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6dFtvKytdfX0sZTpmdW5jdGlvbih0KXt0aHJvdyB0fSxmOml9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgcixhPSEwLHM9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtuPW4uY2FsbCh0KX0sbjpmdW5jdGlvbigpe3ZhciB0PW4ubmV4dCgpO3JldHVybiBhPXQuZG9uZSx0fSxlOmZ1bmN0aW9uKHQpe3M9ITAscj10fSxmOmZ1bmN0aW9uKCl7dHJ5e2F8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyByfX19fWZ1bmN0aW9uIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSh0LGUpe2lmKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkodCxlKTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1uJiZ0LmNvbnN0cnVjdG9yJiYobj10LmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09bnx8IlNldCI9PT1uP0FycmF5LmZyb20odCk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9fYXJyYXlMaWtlVG9BcnJheSh0LGUpOnZvaWQgMH19ZnVuY3Rpb24gX2FycmF5TGlrZVRvQXJyYXkodCxlKXsobnVsbD09ZXx8ZT50Lmxlbmd0aCkmJihlPXQubGVuZ3RoKTtmb3IodmFyIG49MCxvPW5ldyBBcnJheShlKTtuPGU7bisrKW9bbl09dFtuXTtyZXR1cm4gb312YXIgT2JqZWN0Q29udHJvbGxlcj1mdW5jdGlvbigpe2Z1bmN0aW9uIE9iamVjdENvbnRyb2xsZXIodCl7KDAsX2JhYmVsX3J1bnRpbWVfaGVscGVyc19jbGFzc0NhbGxDaGVja19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fLlopKHRoaXMsT2JqZWN0Q29udHJvbGxlciksdGhpcy5zdG9yZT10LHRoaXMuc3RvcmUuc3Vic2NyaWJlKHRoaXMuaGFuZGxlQWN0aW9uLmJpbmQodGhpcykpLHRoaXMub2JqZWN0cz17fSx0aGlzLnNwb3RzPVtdLHRoaXMuY29udGFpbmVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuaW1hZ2VCYWNrZ3JvdW5kc0NvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLnN0eWxlc2hlZXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSx0aGlzLmhpZ2hsaWdodGVkT2JqZWN0cz1uZXcgU2V0LHRoaXMuZGlkU3RvcEdsb3dpbmc9ITEsdGhpcy5zZXR1cENvbnRhaW5lcnMoKSx0aGlzLmNyZWF0ZU9iamVjdHMoKSx0aGlzLmluc2VydE9iamVjdHMoKX1yZXR1cm4oMCxfYmFiZWxfcnVudGltZV9oZWxwZXJzX2NyZWF0ZUNsYXNzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X18uWikoT2JqZWN0Q29udHJvbGxlcixbe2tleToiaW5zZXJ0T2JqZWN0cyIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmVtcHR5Q29udGFpbmVycygpLHRoaXMuZmlsbENvbnRhaW5lcnMoKSx0aGlzLmdlbmVyYXRlU3R5bGVzaGVldCgpLHRoaXMuYW5pbWF0ZU9iamVjdHMoNTAwKX19LHtrZXk6ImhhbmRsZUFjdGlvbiIsdmFsdWU6ZnVuY3Rpb24odCl7aWYoInpvb21VcGRhdGUiPT09dC50eXBlJiZ0aGlzLnN0b3JlLnN0YXRlLm9iamVjdENvbmZpZy5zY2FsZV9zcG90cyl7dmFyIGUsbj1fY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlcih0aGlzLnNwb3RzKTt0cnl7Zm9yKG4ucygpOyEoZT1uLm4oKSkuZG9uZTspe3ZhciBvPWUudmFsdWU7by5vcHRpb25zLnR5cGU9PT1FZGl0b3Jfc2NyaXB0c19jb25zdHNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfXy5kdiYmKG8uZWxlbWVudC5zdHlsZS50cmFuc2Zvcm09InNjYWxlKCIuY29uY2F0KDEvdGhpcy5zdG9yZS5nZXRab29tKCksIikiKSl9fWNhdGNoKHQpe24uZSh0KX1maW5hbGx5e24uZigpfX19fSx7a2V5OiJjcmVhdGVPYmplY3RzIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMub2JqZWN0cz17fSx0aGlzLnNwb3RzPVtdLHRoaXMuaGlnaGxpZ2h0ZWRPYmplY3RzPW5ldyBTZXQ7dmFyIHQsZT1fY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlcih0aGlzLnN0b3JlLmdldE9iamVjdHMoKSk7dHJ5e2ZvcihlLnMoKTshKHQ9ZS5uKCkpLmRvbmU7KXt2YXIgbj10LnZhbHVlO3N3aXRjaChuLnR5cGUpe2Nhc2UgRWRpdG9yX3NjcmlwdHNfY29uc3RzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X18uZHY6dGhpcy5vYmplY3RzW24uaWRdPW5ldyBDbGllbnRfVUlfb2JqZWN0c19zcG90X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18uWihuLHRoaXMuc3RvcmUpLHRoaXMuc3BvdHMucHVzaCh0aGlzLm9iamVjdHNbbi5pZF0pO2JyZWFrO2Nhc2UgRWRpdG9yX3NjcmlwdHNfY29uc3RzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X18udGs6dGhpcy5vYmplY3RzW24uaWRdPW5ldyBDbGllbnRfVUlfb2JqZWN0c190ZXh0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18uWihuLHRoaXMuc3RvcmUpO2JyZWFrO2Nhc2UgRWRpdG9yX3NjcmlwdHNfY29uc3RzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X18uVXY6dGhpcy5vYmplY3RzW24uaWRdPW5ldyBDbGllbnRfVUlfb2JqZWN0c19yZWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18uWihuLHRoaXMuc3RvcmUpO2JyZWFrO2Nhc2UgRWRpdG9yX3NjcmlwdHNfY29uc3RzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X18uQ1c6dGhpcy5vYmplY3RzW24uaWRdPW5ldyBDbGllbnRfVUlfb2JqZWN0c19vdmFsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18uWihuLHRoaXMuc3RvcmUpO2JyZWFrO2Nhc2UgRWRpdG9yX3NjcmlwdHNfY29uc3RzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X18ueko6dGhpcy5vYmplY3RzW24uaWRdPW5ldyBDbGllbnRfVUlfb2JqZWN0c19wb2x5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X18uWihuLHRoaXMuc3RvcmUpO2JyZWFrO2Nhc2UgRWRpdG9yX3NjcmlwdHNfY29uc3RzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X18uXzk6dGhpcy5vYmplY3RzW24uaWRdPW5ldyBDbGllbnRfVUlfb2JqZWN0c19zdmdfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfXy5aKG4sdGhpcy5zdG9yZSk7YnJlYWs7Y2FzZSBFZGl0b3Jfc2NyaXB0c19jb25zdHNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfXy5MZTp0aGlzLm9iamVjdHNbbi5pZF09bmV3IENsaWVudF9VSV9vYmplY3RzX3N2Z1NpbmdsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTBfXy5aKG4sdGhpcy5zdG9yZSk7YnJlYWs7Y2FzZSBFZGl0b3Jfc2NyaXB0c19jb25zdHNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfXy5XVzp0aGlzLm9iamVjdHNbbi5pZF09bmV3IENsaWVudF9VSV9vYmplY3RzX2dyb3VwX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fLloobix0aGlzLnN0b3JlKX19fWNhdGNoKHQpe2UuZSh0KX1maW5hbGx5e2UuZigpfX19LHtrZXk6InNldHVwQ29udGFpbmVycyIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJpbXAtb2JqZWN0cyIpLHRoaXMuaW1hZ2VCYWNrZ3JvdW5kc0NvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJpbXAtaW1hZ2UtYmFja2dyb3VuZHMiKSx0aGlzLmltYWdlQmFja2dyb3VuZHNDb250YWluZXIuc2V0QXR0cmlidXRlKCJpZCIsImltcC1pbWFnZS1iYWNrZ3JvdW5kcy0iK3RoaXMuc3RvcmUuZ2V0SUQoKSksdGhpcy5zdHlsZXNoZWV0LnNldEF0dHJpYnV0ZSgiaWQiLCJzdHlsZXNoZWV0LSIuY29uY2F0KHRoaXMuc3RvcmUuZ2V0SUQoKSkpLHRoaXMuc3RvcmUuc3RhdGUub2JqZWN0Q29uZmlnLmdsb3dpbmdfb2JqZWN0cyYmdGhpcy5jb250YWluZXIuY2xhc3NMaXN0LmFkZCgiaW1wLWdsb3dpbmctb2JqZWN0cyIpfX0se2tleToiZmlsbENvbnRhaW5lcnMiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQsZT1fY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlcihPYmplY3Qua2V5cyh0aGlzLm9iamVjdHMpLnJldmVyc2UoKSk7dHJ5e2ZvcihlLnMoKTshKHQ9ZS5uKCkpLmRvbmU7KXt2YXIgbj10LnZhbHVlO3RoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMub2JqZWN0c1tuXS5lbGVtZW50KSx0aGlzLmltYWdlQmFja2dyb3VuZHNDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5vYmplY3RzW25dLmltYWdlQmFja2dyb3VuZEVsZW1lbnQpfX1jYXRjaCh0KXtlLmUodCl9ZmluYWxseXtlLmYoKX19fSx7a2V5OiJlbXB0eUNvbnRhaW5lcnMiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmNvbnRhaW5lci5maXJzdENoaWxkOyl0aGlzLmNvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lci5sYXN0Q2hpbGQpO2Zvcig7dGhpcy5pbWFnZUJhY2tncm91bmRzQ29udGFpbmVyLmZpcnN0Q2hpbGQ7KXRoaXMuaW1hZ2VCYWNrZ3JvdW5kc0NvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLmltYWdlQmFja2dyb3VuZHNDb250YWluZXIubGFzdENoaWxkKX19LHtrZXk6ImdlbmVyYXRlU3R5bGVzaGVldCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0iIjtmb3IodmFyIGUgaW4gdGhpcy5vYmplY3RzKXQrPXRoaXMub2JqZWN0c1tlXS5zdHlsZXM7aWYodGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RDb25maWcuZ2xvd2luZ19vYmplY3RzKXt2YXIgbj0oMCxFZGl0b3Jfc2NyaXB0c191dGlsaXRpZXNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXy5vbykodGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RDb25maWcuZ2xvd2luZ19vYmplY3RzX2NvbG9yKXx8e3I6MjU1LGI6MjU1LGc6MjU1fTt0Kz0iQGtleWZyYW1lcyBPYmplY3RHbG93QW5pbWF0aW9uIHsiLHQrPSIgIDAlIHsiLHQrPSIgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMjBweCByZ2JhKCIuY29uY2F0KG4uciwiLCAiKS5jb25jYXQobi5nLCIsICIpLmNvbmNhdChuLmIsIiwgIikuY29uY2F0KHRoaXMuc3RvcmUuc3RhdGUub2JqZWN0Q29uZmlnLmdsb3dfb3BhY2l0eSwiKSk7IiksdCs9IiAgfSIsdCs9IiAgNTAlIHsiLHQrPSIgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMjBweCByZ2JhKCIuY29uY2F0KG4uciwiLCAiKS5jb25jYXQobi5nLCIsICIpLmNvbmNhdChuLmIsIiwgMCkpOyIpLHQrPSIgIH0iLHQrPSIgIDEwMCUgeyIsdCs9IiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAyMHB4IHJnYmEoIi5jb25jYXQobi5yLCIsICIpLmNvbmNhdChuLmcsIiwgIikuY29uY2F0KG4uYiwiLCAiKS5jb25jYXQodGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RDb25maWcuZ2xvd19vcGFjaXR5LCIpKTsiKSx0Kz0iICB9Iix0Kz0ifSJ9ImZhbGwtZG93biI9PT10aGlzLnN0b3JlLnN0YXRlLm9iamVjdENvbmZpZy5wYWdlbG9hZF9hbmltYXRpb24mJih0Kz0iLmltcC1vYmplY3QuaW1wLW9iamVjdC1wYWdlbG9hZC1hbmltYXRpb24ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgICAgIH0iKSwiZmFkZSI9PT10aGlzLnN0b3JlLnN0YXRlLm9iamVjdENvbmZpZy5wYWdlbG9hZF9hbmltYXRpb24mJih0Kz0iLmltcC1vYmplY3QuaW1wLW9iamVjdC1wYWdlbG9hZC1hbmltYXRpb24ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgICAgIH0iKSwiZ3JvdyI9PT10aGlzLnN0b3JlLnN0YXRlLm9iamVjdENvbmZpZy5wYWdlbG9hZF9hbmltYXRpb24mJih0Kz0iLmltcC1vYmplY3QuaW1wLW9iamVjdC1wYWdlbG9hZC1hbmltYXRpb24ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgICAgIH0iKSwiZmxhc2giPT09dGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RDb25maWcucGFnZWxvYWRfYW5pbWF0aW9uJiYodCs9Ii5pbXAtb2JqZWN0LmltcC1vYmplY3QtcGFnZWxvYWQtYW5pbWF0aW9uIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzUwbXM7XG4gICAgICB9IiksdGhpcy5zdHlsZXNoZWV0LmlubmVySFRNTD10fX0se2tleToiYW5pbWF0ZU9iamVjdHMiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTowO2lmKCJub25lIiE9PXRoaXMuc3RvcmUuc3RhdGUub2JqZWN0Q29uZmlnLnBhZ2Vsb2FkX2FuaW1hdGlvbil7dmFyIG49NzUwL3RoaXMuc3RvcmUuZ2V0T2JqZWN0cygpLmxlbmd0aDt0aGlzLnN0b3JlLmdldE9iamVjdHMoKS5sZW5ndGg+MjAmJihuPTE1MDAvdGhpcy5zdG9yZS5nZXRPYmplY3RzKCkubGVuZ3RoKSxPYmplY3Qua2V5cyh0aGlzLm9iamVjdHMpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3Qub2JqZWN0c1tlXS5vcHRpb25zLnN0YXRpY3x8dC5vYmplY3RzW2VdLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLW9iamVjdC1wYWdlbG9hZC1hbmltYXRpb24iKX0pKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2Zvcih2YXIgZT1PYmplY3Qua2V5cyh0Lm9iamVjdHMpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQub2JqZWN0c1tlXX0pKS5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiB0Lm9wdGlvbnMueDxlLm9wdGlvbnMueD8tMToxfSkpLG89MTAwLGk9MDtpPGUubGVuZ3RoO2krKyl7dmFyIHI9ZVtpXS5vcHRpb25zLmlkO28rPW4sdC5vYmplY3RzW3JdLm9wdGlvbnMuc3RhdGljfHx0LmFuaW1hdGVPYmplY3QodC5vYmplY3RzW3JdLG4qaSl9c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0LnN0b3JlLmRpc3BhdGNoKCJkaXNhYmxlUGFnZWxvYWRBbmltYXRpb24iKX0pLG8pfSksZSl9fX0se2tleToiYW5pbWF0ZU9iamVjdCIsdmFsdWU6ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2lmKHQub3B0aW9ucy50eXBlIT09RWRpdG9yX3NjcmlwdHNfY29uc3RzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X18uV1d8fHQub3B0aW9ucy5zaW5nbGVfb2JqZWN0KXt2YXIgbz0wO3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ImZhZGUiPT09bi5zdG9yZS5zdGF0ZS5vYmplY3RDb25maWcucGFnZWxvYWRfYW5pbWF0aW9uJiYodC5lbGVtZW50LnN0eWxlLm9wYWNpdHk9dC5vcHRpb25zLmRlZmF1bHRfc3R5bGUub3BhY2l0eSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe3QuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJpbXAtb2JqZWN0LXBhZ2Vsb2FkLWFuaW1hdGlvbiIpLHQuZWxlbWVudC5zZXRBdHRyaWJ1dGUoInN0eWxlIiwiIil9KSw1MDApKSwiZ3JvdyI9PT1uLnN0b3JlLnN0YXRlLm9iamVjdENvbmZpZy5wYWdlbG9hZF9hbmltYXRpb24mJih0LmVsZW1lbnQuc3R5bGUub3BhY2l0eT10Lm9wdGlvbnMuZGVmYXVsdF9zdHlsZS5vcGFjaXR5LHQuZWxlbWVudC5zdHlsZS50cmFuc2Zvcm09InNjYWxlKDEpIixzZXRUaW1lb3V0KChmdW5jdGlvbigpe3QuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJpbXAtb2JqZWN0LXBhZ2Vsb2FkLWFuaW1hdGlvbiIpLHQuZWxlbWVudC5zZXRBdHRyaWJ1dGUoInN0eWxlIiwiIil9KSw1MDApKSwiZmFsbC1kb3duIj09PW4uc3RvcmUuc3RhdGUub2JqZWN0Q29uZmlnLnBhZ2Vsb2FkX2FuaW1hdGlvbiYmKHQuZWxlbWVudC5zdHlsZS5vcGFjaXR5PXQub3B0aW9ucy5kZWZhdWx0X3N0eWxlLm9wYWNpdHksdC5lbGVtZW50LnN0eWxlLnRyYW5zaXRpb25Qcm9wZXJ0eT0ib3BhY2l0eSIsc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0LmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgiaW1wLW9iamVjdC1wYWdlbG9hZC1hbmltYXRpb24iKSx0LmVsZW1lbnQuc2V0QXR0cmlidXRlKCJzdHlsZSIsIiIpfSksMmUzKSxpKCkpLCJmbGFzaCI9PT1uLnN0b3JlLnN0YXRlLm9iamVjdENvbmZpZy5wYWdlbG9hZF9hbmltYXRpb24mJihuLmhpZ2hsaWdodE9iamVjdCh0Lm9wdGlvbnMuaWQpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7bi51bmhpZ2hsaWdodE9iamVjdCh0Lm9wdGlvbnMuaWQpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dC5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoImltcC1vYmplY3QtcGFnZWxvYWQtYW5pbWF0aW9uIil9KSw0MDApfSksMzUwKSl9KSxlKX1mdW5jdGlvbiBpKCl7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24oKXtvKz0uMDE2NjY7dmFyIGU9KDAsRWRpdG9yX3NjcmlwdHNfdXRpbGl0aWVzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18uQzYpKHZvaWQgMCxvLC0yMDAsMjAwLDIpO3QuZWxlbWVudC5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZVkoIi5jb25jYXQoZSwicHgpIiksbzw9MiYmaSgpfSkpfX19LHtrZXk6ImhpZ2hsaWdodE9iamVjdCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4pe2Uuc3RvcmUuc3RhdGUub2JqZWN0Q29uZmlnLmdsb3dpbmdfb2JqZWN0cyYmZS5zdG9yZS5zdGF0ZS5vYmplY3RDb25maWcuc3RvcF9nbG93aW5nX29uX21vdXNlb3ZlciYmIWUuZGlkU3RvcEdsb3dpbmcmJihlLmRpZFN0b3BHbG93aW5nPSEwLGUuY29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoImltcC1nbG93aW5nLW9iamVjdHMiKSksZS5vYmplY3RzW3RdJiYoZS5vYmplY3RzW3RdLm9wdGlvbnMudHlwZSE9PUVkaXRvcl9zY3JpcHRzX2NvbnN0c19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fLldXfHxlLm9iamVjdHNbdF0ub3B0aW9ucy5zaW5nbGVfb2JqZWN0KSYmKGUub2JqZWN0c1t0XS5nZXRIaWdobGlnaHRJZHMoKS5mb3JFYWNoKChmdW5jdGlvbih0KXtlLm9iamVjdHNbdF0uaGlnaGxpZ2h0KCksZS5oaWdobGlnaHRlZE9iamVjdHMuYWRkKHQpfSkpLEltYWdlTWFwUHJvLnRyaWdnZXIoe3R5cGU6Q2xpZW50X2NvbnN0c19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTJfXy5ZNyxwYXlsb2FkOnttYXA6ZS5zdG9yZS5zdGF0ZS5nZW5lcmFsLm5hbWUsb2JqZWN0OmUub2JqZWN0c1t0XS5vcHRpb25zLnRpdGxlfX0pLHJlcXVlc3RBbmltYXRpb25GcmFtZShuKSl9KSl9fSx7a2V5OiJ1bmhpZ2hsaWdodE9iamVjdCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4pe2Uub2JqZWN0c1t0XS5nZXRIaWdobGlnaHRJZHMoKS5mb3JFYWNoKChmdW5jdGlvbih0KXtlLm9iamVjdHNbdF0udW5oaWdobGlnaHQoKSxlLmhpZ2hsaWdodGVkT2JqZWN0cy5kZWxldGUodCl9KSksSW1hZ2VNYXBQcm8udHJpZ2dlcih7dHlwZTpDbGllbnRfY29uc3RzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMl9fLkpBLHBheWxvYWQ6e21hcDplLnN0b3JlLnN0YXRlLmdlbmVyYWwubmFtZSxvYmplY3Q6ZS5vYmplY3RzW3RdLm9wdGlvbnMudGl0bGV9fSkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKG4pfSkpfX0se2tleToidW5oaWdobGlnaHRBbGxPYmplY3RzIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihlKXt2YXIgbixvPV9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyKHQuaGlnaGxpZ2h0ZWRPYmplY3RzKTt0cnl7Zm9yKG8ucygpOyEobj1vLm4oKSkuZG9uZTspe3ZhciBpPW4udmFsdWU7dC51bmhpZ2hsaWdodE9iamVjdChpKX19Y2F0Y2godCl7by5lKHQpfWZpbmFsbHl7by5mKCl9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpfSkpfX0se2tleToiZ2V0Rm9jdXNPYmplY3RDb29yZHNBbmRab29tIix2YWx1ZTpmdW5jdGlvbih0KXtpZih0PXRoaXMuc3RvcmUuZ2V0T2JqZWN0KHtpZDp0fSkucGFyZW50fHx0LDE9PXRoaXMuc3RvcmUuZ2V0TWF4Wm9vbSgpKXJldHVybnt6b29tOjEscGFuOnt4OjAseTowfX07dmFyIGU9dGhpcy5vYmplY3RzW3RdLmdldFJlY3QoKSxuPWUueCtlLndpZHRoLzIsbz1lLnkrZS5oZWlnaHQvMixpPWUud2lkdGg+ZS5oZWlnaHQ/NTAvZS53aWR0aDo1MC9lLmhlaWdodDtyZXR1cm4gaTwxJiYoaT0xKSxpPnRoaXMuc3RvcmUuZ2V0TWF4Wm9vbSgpJiYoaT10aGlzLnN0b3JlLmdldE1heFpvb20oKSkse3pvb206aSxwYW46e3g6bj1uLzEwMCp0aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkud2lkdGgqaSx5Om89by8xMDAqdGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLmhlaWdodCppfX19fSx7a2V5OiJwZXJmb3JtQ2xpY2tBY3Rpb24iLHZhbHVlOmZ1bmN0aW9uIHBlcmZvcm1DbGlja0FjdGlvbihpZCl7aWQ9dGhpcy5zdG9yZS5nZXRPYmplY3Qoe2lkfSkucGFyZW50fHxpZCx0aGlzLm9iamVjdHNbaWRdJiYoImZvbGxvdy1saW5rIj09PXRoaXMub2JqZWN0c1tpZF0ub3B0aW9ucy5hY3Rpb25zLmNsaWNrJiYoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2ltcC10ZW1wLWxpbmsiKXx8ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCgoMCxFZGl0b3Jfc2NyaXB0c191dGlsaXRpZXNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXy5CdikoJzxhIGhyZWY9IiIgaWQ9ImltcC10ZW1wLWxpbmsiIHRhcmdldD0iX2JsYW5rIj48L2E+JykpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpbXAtdGVtcC1saW5rIikuc2V0QXR0cmlidXRlKCJocmVmIix0aGlzLm9iamVjdHNbaWRdLm9wdGlvbnMuYWN0aW9ucy5saW5rKSx0aGlzLm9iamVjdHNbaWRdLm9wdGlvbnMuYWN0aW9ucy5vcGVuX2xpbmtfaW5fbmV3X3dpbmRvdz9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjaW1wLXRlbXAtbGluayIpLnNldEF0dHJpYnV0ZSgidGFyZ2V0IiwiX2JsYW5rIik6ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2ltcC10ZW1wLWxpbmsiKS5yZW1vdmVBdHRyaWJ1dGUoInRhcmdldCIpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpbXAtdGVtcC1saW5rIikuY2xpY2soKSksInJ1bi1zY3JpcHQiPT09dGhpcy5vYmplY3RzW2lkXS5vcHRpb25zLmFjdGlvbnMuY2xpY2smJmV2YWwodGhpcy5vYmplY3RzW2lkXS5vcHRpb25zLmFjdGlvbnMuc2NyaXB0LnJlcGxhY2UoIjxicj4iLCIiKSksImNoYW5nZS1hcnRib2FyZCI9PT10aGlzLm9iamVjdHNbaWRdLm9wdGlvbnMuYWN0aW9ucy5jbGljayYmdGhpcy5zdG9yZS5kaXNwYXRjaCgiY2hhbmdlQXJ0Ym9hcmQiLHthcnRib2FyZElkOnRoaXMub2JqZWN0c1tpZF0ub3B0aW9ucy5hY3Rpb25zLmFydGJvYXJkLHpvb21PdXQ6ITB9KSxJbWFnZU1hcFByby50cmlnZ2VyKHt0eXBlOkNsaWVudF9jb25zdHNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX18ueDQscGF5bG9hZDp7bWFwOnRoaXMuc3RvcmUuc3RhdGUuZ2VuZXJhbC5uYW1lLG9iamVjdDp0aGlzLm9iamVjdHNbaWRdLm9wdGlvbnMudGl0bGV9fSkpfX1dKSxPYmplY3RDb250cm9sbGVyfSgpfSwzNTQyOigpPT57d2luZG93LkltYWdlTWFwUHJvPXt9LHdpbmRvdy5JbWFnZU1hcFByby5pbnN0YW5jZXM9W119LDE0NDoodCxlLG4pPT57InVzZSBzdHJpY3QiO24uZChlLHtDVzooKT0+YSxMZTooKT0+dSxVdjooKT0+cixXVzooKT0+cCxfOTooKT0+bCxkdjooKT0+aSxwNTooKT0+byx0azooKT0+Yyx6SjooKT0+c30pO3ZhciBvPSJhcnRib2FyZCIsaT0ic3BvdCIscj0icmVjdCIsYT0ib3ZhbCIscz0icG9seSIsYz0idGV4dCIsbD0ic3ZnIix1PSJzdmctc2luZ2xlIixwPSJncm91cCJ9LDk5OTc6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7QnY6KCk9PnUsQzY6KCk9PnYsQ2Q6KCk9PmMsREM6KCk9PnAsSEg6KCk9Pl8sTTc6KCk9PmgsWU06KCk9PnMsWW86KCk9PmwsWkI6KCk9PnIsaGo6KCk9PmQsayQ6KCk9PmksbXA6KCk9PmYsb286KCk9PmEscG86KCk9PnksdDc6KCk9PmIsdHE6KCk9Pmd9KTt2YXIgbz1uKDEwMDIpLGk9ZnVuY3Rpb24oKXtyZXR1cm4oWzFlN10rLTFlMystNGUzKy04ZTMrLTFlMTEpLnJlcGxhY2UoL1swMThdL2csKGZ1bmN0aW9uKHQpe3JldHVybih0XmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMSkpWzBdJjE1Pj50LzQpLnRvU3RyaW5nKDE2KX0pKX0scj1mdW5jdGlvbiB0KGUpe2U9ZXx8e307Zm9yKHZhciBuPTE7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl7dmFyIGk9YXJndW1lbnRzW25dO2lmKGkpZm9yKHZhciByIGluIGkpaS5oYXNPd25Qcm9wZXJ0eShyKSYmKCJvYmplY3QiPT09KDAsby5aKShpW3JdKSYmbnVsbCE9PWlbcl0/aVtyXWluc3RhbmNlb2YgQXJyYXk/ZVtyXT1pW3JdLnNsaWNlKDApOmVbcl09dChlW3JdLGlbcl0pOmVbcl09aVtyXSl9cmV0dXJuIGV9LGE9ZnVuY3Rpb24odCl7dmFyIGU9L14jPyhbYS1mXGRdezJ9KShbYS1mXGRdezJ9KShbYS1mXGRdezJ9KSQvaS5leGVjKHQpO3JldHVybiBlP3tyOnBhcnNlSW50KGVbMV0sMTYpLGc6cGFyc2VJbnQoZVsyXSwxNiksYjpwYXJzZUludChlWzNdLDE2KX06e3I6MCxnOjAsYjowfX0scz1mdW5jdGlvbih0KXt2YXIgZT0wLG49MCxvPTA7ND09dC5sZW5ndGg/KGU9IjB4Iit0WzFdK3RbMV0sbj0iMHgiK3RbMl0rdFsyXSxvPSIweCIrdFszXSt0WzNdKTo3PT10Lmxlbmd0aCYmKGU9IjB4Iit0WzFdK3RbMl0sbj0iMHgiK3RbM10rdFs0XSxvPSIweCIrdFs1XSt0WzZdKSxlLz0yNTUsbi89MjU1LG8vPTI1NTt2YXIgaT1NYXRoLm1pbihlLG4sbykscj1NYXRoLm1heChlLG4sbyksYT1yLWkscz0wLGM9MDtyZXR1cm4gcz0wPT1hPzA6cj09ZT8obi1vKS9hJTY6cj09bj8oby1lKS9hKzI6KGUtbikvYSs0LChzPU1hdGgucm91bmQoNjAqcykpPDAmJihzKz0zNjApLGM9KHIraSkvMix7aDpzLHM6KygxMDAqKDA9PWE/MDphLygxLU1hdGguYWJzKDIqYy0xKSkpKS50b0ZpeGVkKDEpLGw6Yz0rKDEwMCpjKS50b0ZpeGVkKDEpfX0sYz1mdW5jdGlvbih0KXsibG9hZGluZyIhPWRvY3VtZW50LnJlYWR5U3RhdGU/dCgpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHQpfSxsPWZ1bmN0aW9uKHQpe2lmKCJbb2JqZWN0IFN0cmluZ10iPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkmJih0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCkpLHQpcmV0dXJue3dpZHRoOnBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0LG51bGwpLndpZHRoLnJlcGxhY2UoInB4IiwiIikpLGhlaWdodDpwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUodCxudWxsKS5oZWlnaHQucmVwbGFjZSgicHgiLCIiKSksb2Zmc2V0V2lkdGg6cGFyc2VGbG9hdCh0Lm9mZnNldFdpZHRoKSxvZmZzZXRIZWlnaHQ6cGFyc2VGbG9hdCh0Lm9mZnNldEhlaWdodCksb2Zmc2V0OntsZWZ0OnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCt3aW5kb3cuc2Nyb2xsWCx0b3A6dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3Ard2luZG93LnNjcm9sbFl9LHBvc2l0aW9uOntsZWZ0OnBhcnNlRmxvYXQodC5vZmZzZXRMZWZ0KSx0b3A6cGFyc2VGbG9hdCh0Lm9mZnNldFRvcCl9fX0sdT1mdW5jdGlvbih0KXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpO3JldHVybiB0PXQudHJpbSgpLGUuaW5uZXJIVE1MPXQsZS5jb250ZW50LmZpcnN0Q2hpbGR9LHA9ZnVuY3Rpb24odCl7dmFyIGUsbjtpZigidG91Y2hzdGFydCI9PT10LnR5cGV8fCJ0b3VjaG1vdmUiPT09dC50eXBlfHwidG91Y2hlbmQiPT09dC50eXBlfHwidG91Y2hjYW5jZWwiPT09dC50eXBlKXt2YXIgbz10LnRvdWNoZXNbMF18fHQuY2hhbmdlZFRvdWNoZXNbMF18fHQudG91Y2hlc1swXTtlPW8ucGFnZVgsbj1vLnBhZ2VZfWVsc2UibW91c2Vkb3duIiE9PXQudHlwZSYmIm1vdXNldXAiIT09dC50eXBlJiYibW91c2Vtb3ZlIiE9PXQudHlwZSYmIm1vdXNlb3ZlciIhPT10LnR5cGUmJiJtb3VzZW91dCIhPT10LnR5cGUmJiJtb3VzZWVudGVyIiE9PXQudHlwZSYmIm1vdXNlbGVhdmUiIT09dC50eXBlJiYid2hlZWwiIT09dC50eXBlfHwoZT10LnBhZ2VYLG49dC5wYWdlWSk7cmV0dXJue3g6ZSx5Om59fSxkPWZ1bmN0aW9uKHQpe3JldHVybiFpc05hTihwYXJzZUZsb2F0KHQpKSYmIWlzTmFOKHQtMCl9LGg9ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06IjEuMC4wIixlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToiMS4wLjAiLG49YXJndW1lbnRzLmxlbmd0aD4yP2FyZ3VtZW50c1syXTp2b2lkIDAsbz1uJiZuLmxleGljb2dyYXBoaWNhbCxpPW4mJm4uemVyb0V4dGVuZCxyPXQuc3BsaXQoIi4iKSxhPWUuc3BsaXQoIi4iKTtmdW5jdGlvbiBzKHQpe3JldHVybihvPy9eXGQrW0EtWmEtel0qJC86L15cZCskLykudGVzdCh0KX1pZighci5ldmVyeShzKXx8IWEuZXZlcnkocykpcmV0dXJuIE5hTjtpZihpKXtmb3IoO3IubGVuZ3RoPGEubGVuZ3RoOylyLnB1c2goIjAiKTtmb3IoO2EubGVuZ3RoPHIubGVuZ3RoOylhLnB1c2goIjAiKX1vfHwocj1yLm1hcChOdW1iZXIpLGE9YS5tYXAoTnVtYmVyKSk7Zm9yKHZhciBjPTA7YzxyLmxlbmd0aDsrK2Mpe2lmKGEubGVuZ3RoPT1jKXJldHVybiAxO2lmKHJbY10hPWFbY10pcmV0dXJuIHJbY10+YVtjXT8xOi0xfXJldHVybiByLmxlbmd0aCE9YS5sZW5ndGg/LTE6MH0sbT1mdW5jdGlvbih0LGUpe3RoaXMueD10LHRoaXMueT1lfTtmdW5jdGlvbiBmKHQsZSxuKXtmb3IodmFyIG89ITEsaT0wLHI9bi5sZW5ndGgtMTtpPG4ubGVuZ3RoO3I9aSsrKXt2YXIgYT1uW2ldWzBdLHM9bltpXVsxXSxjPW5bcl1bMF0sbD1uW3JdWzFdO3M+ZSE9bD5lJiZ0PChjLWEpKihlLXMpLyhsLXMpK2EmJihvPSFvKX1yZXR1cm4gb31mdW5jdGlvbiBnKCl7cmV0dXJuISEvQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCl9ZnVuY3Rpb24gYih0LGUsbil7cmV0dXJuIHQqKDEtbikrZSpufWZ1bmN0aW9uIHYodCxlLG4sbyxpKXtyZXR1cm4oZS89aSk8MS8yLjc1P28qKDcuNTYyNSplKmUpK246ZTwyLzIuNzU/byooNy41NjI1KihlLT0xLjUvMi43NSkqZSsuNzUpK246ZTwyLjUvMi43NT9vKig3LjU2MjUqKGUtPTIuMjUvMi43NSkqZSsuOTM3NSkrbjpvKig3LjU2MjUqKGUtPTIuNjI1LzIuNzUpKmUrLjk4NDM3NSkrbn1mdW5jdGlvbiB5KHQsZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihuKXt0fHxuKCExKTt2YXIgbz1uZXcgSW1hZ2U7by5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe24oe2ltYWdlOm8sbWV0YWRhdGE6ZX0pfS5iaW5kKGUpKSxvLnNyYz10fSkpfWZ1bmN0aW9uIF8odCl7dmFyIGU7dHJ5e2U9bmV3IFVSTCh0KX1jYXRjaCh0KXtyZXR1cm4hMX1yZXR1cm4iaHR0cDoiPT09ZS5wcm90b2NvbHx8Imh0dHBzOiI9PT1lLnByb3RvY29sfW0ucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IG0odGhpcy54K3QueCx0aGlzLnkrdC55KX0sbS5wcm90b3R5cGUuc3VidHJhY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBtKHRoaXMueC10LngsdGhpcy55LXQueSl9LG0ucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbSh0aGlzLngqdCx0aGlzLnkqdCl9LG0ucHJvdG90eXBlLm5vcm1hbGl6ZWQ9ZnVuY3Rpb24oKXt2YXIgdD1NYXRoLnNxcnQoTWF0aC5wb3codGhpcy54LDIpK01hdGgucG93KHRoaXMueSwyKSk7cmV0dXJuIG5ldyBtKHRoaXMueC90LHRoaXMueS90KX0sbS5wcm90b3R5cGUuZG90PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngqdC54K3RoaXMueSp0Lnl9LG0ucHJvdG90eXBlLmNsb3Nlc3RQb2ludE9uTGluZT1mdW5jdGlvbih0LGUpe3ZhciBuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgucG93KHQueC1lLngsMikrTWF0aC5wb3codC55LWUueSwyKX0odCxlKTtpZigwPT1uKXJldHVybiB0O3ZhciBvPSgodGhpcy54LXQueCkqKGUueC10LngpKyh0aGlzLnktdC55KSooZS55LXQueSkpL247cmV0dXJuIG88MD90Om8+MT9lOm5ldyBtKHQueCtvKihlLngtdC54KSx0LnkrbyooZS55LXQueSkpfSxtLnByb3RvdHlwZS52ZWN0b3IyQXJncz1mdW5jdGlvbih0LGUpe3JldHVybiB0PXR8fDAsZT1lfHwwLFt0aGlzLngrdCx0aGlzLnkrZV19fSw5NDc3Oih0LGUsbik9PnsidXNlIHN0cmljdCI7bi5kKGUse1o6KCk9PnN9KTt2YXIgbz1uKDgwODEpLGk9bi5uKG8pLHI9bigzNjQ1KSxhPW4ubihyKSgpKGkoKSk7YS5wdXNoKFt0LmlkLCIvKiBmdWxsc2NyZWVuIG1vZGUsIGJ1dHRvbiAqL1xuLmltcC1mdWxsc2NyZWVuLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICB6LWluZGV4OiAzO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmltcC1mdWxsc2NyZWVuLWJ1dHRvbiAuaW1wLWljb24ge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xufVxuXG4vKiBUaGVtZSAtIExpZ2h0ICovXG4uaW1wLXVpLWxpZ2h0IC5pbXAtZnVsbHNjcmVlbi1idXR0b24ge1xuICBmaWxsOiBibGFjaztcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwNjA7XG59XG5cbi8qIFRoZW1lIC0gRGFyayAqL1xuXG4uaW1wLXVpLWRhcmsgLmltcC1mdWxsc2NyZWVuLWJ1dHRvbiB7XG4gIGZpbGw6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xufVxuIiwiIl0pO2NvbnN0IHM9YX0sMTE1Oih0LGUsbik9PnsidXNlIHN0cmljdCI7bi5kKGUse1o6KCk9PnN9KTt2YXIgbz1uKDgwODEpLGk9bi5uKG8pLHI9bigzNjQ1KSxhPW4ubihyKSgpKGkoKSk7YS5wdXNoKFt0LmlkLCIuaW1wLW1lbnUtY2xvc2UtYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBmaWxsOiBibGFjaztcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwNjA7XG59XG5cbi5pbXAtb2JqZWN0LW1lbnUuaW1wLW1vYmlsZS5pbXAtYWN0aXZlIC5pbXAtbWVudS1jbG9zZS1idXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtNjBweDtcbiAgdG9wOiAxNXB4O1xuICB3aWR0aDogMzhweDtcbiAgaGVpZ2h0OiAzOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaW1wLW9iamVjdC1tZW51LmltcC1tb2JpbGUuaW1wLWFjdGl2ZSAuaW1wLW1lbnUtY2xvc2UtYnV0dG9uIC5pbXAtaWNvbiB7XG4gIHdpZHRoOiAxMnB4O1xufVxuIiwiIl0pO2NvbnN0IHM9YX0sOTE0Oih0LGUsbik9PnsidXNlIHN0cmljdCI7bi5kKGUse1o6KCk9PnN9KTt2YXIgbz1uKDgwODEpLGk9bi5uKG8pLHI9bigzNjQ1KSxhPW4ubihyKSgpKGkoKSk7YS5wdXNoKFt0LmlkLCIuaW1wLW9iamVjdC1saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uaW1wLW9iamVjdC1saXN0LWl0ZW0gcCB7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaW1wLW9iamVjdC1saXN0LWl0ZW0uaW1wLW9iamVjdC1saXN0LWl0ZW0taGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmltcC1vYmplY3QtbGlzdC1pdGVtLWZvbGRlci1pY29uIHtcbiAgd2lkdGg6IDEycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG59XG5cbi5pbXAtb2JqZWN0LWxpc3QtaXRlbS1mb2xkZXItaWNvbiBzdmcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogRW1iZWRkZWQgbWVudSBzdHlsZXMgKi9cblxuLmltcC1vYmplY3QtbWVudS1vbi10b3AgLmltcC1vYmplY3QtbGlzdC1pdGVtIHtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCk7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4vKiBUaGVtZSAtIExpZ2h0ICovXG5cbi5pbXAtdWktbGlnaHQgLmltcC1vYmplY3QtbGlzdC1pdGVtIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGNvbG9yOiAjMjIyO1xufVxuXG4uaW1wLXVpLWxpZ2h0IC5pbXAtb2JqZWN0LWxpc3QtaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG59XG5cbi5pbXAtdWktbGlnaHQgLmltcC1vYmplY3QtbGlzdC1pdGVtLWZvbGRlci1pY29uIHN2ZyBwYXRoIHtcbiAgZmlsbDogIzIyMjtcbn1cblxuLmltcC11aS1saWdodC5pbXAtb2JqZWN0LW1lbnUtb24tdG9wIC5pbXAtb2JqZWN0LWxpc3QtaXRlbSB7XG4gIGNvbG9yOiBibGFjaztcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwNjA7XG59XG5cbi8qIFRoZW1lIC0gRGFyayAqL1xuXG4uaW1wLXVpLWRhcmsgLmltcC1vYmplY3QtbGlzdC1pdGVtIHtcbiAgYmFja2dyb3VuZDogIzIyMjtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uaW1wLXVpLWRhcmsgLmltcC1vYmplY3QtbGlzdC1pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbn1cblxuLmltcC11aS1kYXJrIC5pbXAtb2JqZWN0LWxpc3QtaXRlbS1mb2xkZXItaWNvbiBzdmcgcGF0aCB7XG4gIGZpbGw6IHdoaXRlO1xufVxuXG4uaW1wLXVpLWRhcmsuaW1wLW9iamVjdC1tZW51LW9uLXRvcCAuaW1wLW9iamVjdC1saXN0LWl0ZW0ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG4iLCIiXSk7Y29uc3Qgcz1hfSw3NDg2Oih0LGUsbik9PnsidXNlIHN0cmljdCI7bi5kKGUse1o6KCk9PnN9KTt2YXIgbz1uKDgwODEpLGk9bi5uKG8pLHI9bigzNjQ1KSxhPW4ubihyKSgpKGkoKSk7YS5wdXNoKFt0LmlkLCIuaW1wLW9iamVjdC1saXN0LWl0ZW0tYXJ0Ym9hcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiKDAgMCAwIC8gMTUlKTtcbiAgei1pbmRleDogMjtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMyMjI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmltcC1vYmplY3QtbGlzdC1pdGVtLWFydGJvYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2VlZTtcbn1cblxuLmltcC1vYmplY3QtbGlzdC1pdGVtLWFydGJvYXJkIHNwYW4ge1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBmbGV4OiAxO1xufVxuXG4uaW1wLW9iamVjdC1saXN0LWl0ZW0tYXJ0Ym9hcmQgLmltcC1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEycHg7XG4gIHJpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogNDtcbiAgZmlsbDogI2I3YjdiNztcbn1cblxuLmltcC1vYmplY3QtbGlzdC1pdGVtLWFydGJvYXJkLmltcC1jb2xsYXBzZWQtYXJ0Ym9hcmQtaXRlbSAuaW1wLWljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZVooOTBkZWcpO1xufVxuIiwiIl0pO2NvbnN0IHM9YX0sNzM0ODoodCxlLG4pPT57InVzZSBzdHJpY3QiO24uZChlLHtaOigpPT5zfSk7dmFyIG89big4MDgxKSxpPW4ubihvKSxyPW4oMzY0NSksYT1uLm4ocikoKShpKCkpO2EucHVzaChbdC5pZCwiLmltcC1vYmplY3QtbGlzdCB7XG4gIHotaW5kZXg6IDE7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGZsZXg6IDE7XG59XG5cbi5pbXAtb2JqZWN0LWxpc3QtYXJ0Ym9hcmQtY29udGFpbmVyIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjU1LCAwLCAwLjEsIDEpO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjI1cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xLCAxKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuMSwgMSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pbXAtb2JqZWN0LWxpc3QtYXJ0Ym9hcmQtY29udGFpbmVyLmltcC1jb2xsYXBzZWQge1xuICBoZWlnaHQ6IDQxcHggIWltcG9ydGFudDtcbn1cbiIsIiJdKTtjb25zdCBzPWF9LDY3NTA6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7WjooKT0+c30pO3ZhciBvPW4oODA4MSksaT1uLm4obykscj1uKDM2NDUpLGE9bi5uKHIpKCkoaSgpKTthLnB1c2goW3QuaWQsIi5pbXAtb2JqZWN0LW1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDI0MHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5pbXAtb2JqZWN0LW1lbnUuaW1wLWhhcy1zZWFyY2gge1xuICBwYWRkaW5nLXRvcDogNzBweDtcbn1cblxuLmltcC1vYmplY3QtbWVudS5pbXAtb2JqZWN0LW1lbnUtcmlnaHQge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLmltcC1vYmplY3QtbWVudS5pbXAtZGV0YWNoZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IGF1dG87XG4gIHRvcDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGZsZXgtc2hyaW5rOiBpbmhlcml0O1xufVxuXG4uaW1wLW9iamVjdC1tZW51LmltcC1tb2JpbGUge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogLTEwMCU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDI0MHB4O1xuICB6LWluZGV4OiA5OTk5OTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjU1LCAwLCAwLjEsIDEpO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjI1cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xLCAxKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuMSwgMSk7XG59XG5cbi5pbXAtb2JqZWN0LW1lbnUuaW1wLW1vYmlsZTphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMnB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IC0ycHg7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZDogI2RlZGVkZTtcbn1cblxuLmltcC1vYmplY3QtbWVudS5pbXAtbW9iaWxlLmltcC1hY3RpdmUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAyNDBweDtcbiAgei1pbmRleDogOTk5OTk7XG59XG5cbi8qIE1vYmlsZSAqL1xuXG4uaW1wLW9iamVjdC1tZW51IHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbi8qIEVtYmVkZGVkIG1lbnUgc3R5bGVzICovXG5cbi5pbXAtb2JqZWN0LW1lbnUtb24tdG9wIC5pbXAtb2JqZWN0LW1lbnUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLyogVGhlbWUgLSBMaWdodCAqL1xuXG4uaW1wLXVpLWxpZ2h0IC5pbXAtb2JqZWN0LW1lbnUge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cbi5pbXAtdWktbGlnaHQgLmltcC1vYmplY3QtbWVudS5pbXAtb2JqZWN0LW1lbnUtbGVmdCB7XG4gIC8qIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZWRlZGU7ICovXG59XG4uaW1wLXVpLWxpZ2h0IC5pbXAtb2JqZWN0LW1lbnUuaW1wLW9iamVjdC1tZW51LXJpZ2h0IHtcbiAgLyogYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGVkZWRlOyAqL1xufVxuXG4vKiBUaGVtZSAtIERhcmsgKi9cblxuLmltcC11aS1kYXJrIC5pbXAtb2JqZWN0LW1lbnUge1xuICBiYWNrZ3JvdW5kOiAjMjIyO1xuICBib3JkZXI6IG5vbmU7XG59XG4iLCIiXSk7Y29uc3Qgcz1hfSwxNjUwOih0LGUsbik9PnsidXNlIHN0cmljdCI7bi5kKGUse1o6KCk9PnN9KTt2YXIgbz1uKDgwODEpLGk9bi5uKG8pLHI9bigzNjQ1KSxhPW4ubihyKSgpKGkoKSk7YS5wdXNoKFt0LmlkLCIuaW1wLW1lbnUtYnV0dG9uIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaW1wLW1lbnUtYnV0dG9uIC5pbXAtaWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG5cbi8qIFRoZW1lIC0gTGlnaHQgKi9cbi5pbXAtdWktbGlnaHQgLmltcC1tZW51LWJ1dHRvbiB7XG4gIGZpbGw6IGJsYWNrO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA2MDtcbn1cblxuLyogVGhlbWUgLSBEYXJrICovXG5cbi5pbXAtdWktZGFyayAuaW1wLW1lbnUtYnV0dG9uIHtcbiAgZmlsbDogd2hpdGU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG4iLCIiXSk7Y29uc3Qgcz1hfSwxMTIxOih0LGUsbik9PnsidXNlIHN0cmljdCI7bi5kKGUse1o6KCk9PnN9KTt2YXIgbz1uKDgwODEpLGk9bi5uKG8pLHI9bigzNjQ1KSxhPW4ubihyKSgpKGkoKSk7YS5wdXNoKFt0LmlkLCIuaW1wLXNlYXJjaC1ib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZzogMTVweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uaW1wLXNlYXJjaC1ib3gtaW5wdXQtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMTtcbn1cblxuLmltcC1zZWFyY2gtYm94LWlucHV0LXdyYXAgaW5wdXQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMCAzNXB4IDAgMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdXRsaW5lOiAwO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xufVxuXG4uaW1wLXNlYXJjaC1ib3gtaW5wdXQtd3JhcCAuaW1wLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIHBhZGRpbmc6IDEzcHg7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4uaW1wLXNlYXJjaC1ib3gtaW5wdXQtd3JhcCAuaW1wLWljb24gKiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaW1wLXNlYXJjaC1ib3gtaW5wdXQtd3JhcCAuaW1wLWljb24uaW1wLWNsZWFyLXNlYXJjaCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmltcC1zZWFyY2hpbmcgLmltcC1zZWFyY2gtYm94LWlucHV0LXdyYXAgLmltcC1pY29uLmltcC1zZWFyY2gge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaW1wLXNlYXJjaGluZyAuaW1wLXNlYXJjaC1ib3gtaW5wdXQtd3JhcCAuaW1wLWljb24uaW1wLWNsZWFyLXNlYXJjaCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaW1wLXNlYXJjaC1oaWdobGlnaHQge1xuICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2ZmZjA1ZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4vKiBNb2JpbGUgKi9cblxuLmltcC1zZWFyY2gtYm94IHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbi5pbXAtc2VhcmNoLWJveCAuaW1wLXNlYXJjaC1ib3gtaW5wdXQtd3JhcCBpbnB1dCB7XG4gIGNvbG9yOiBibGFjaztcbiAgYmFja2dyb3VuZDogI2YzZjNmMztcbn1cblxuLmltcC1zZWFyY2gtYm94IC5pbXAtc2VhcmNoLWJveC1pbnB1dC13cmFwIGlucHV0OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2U5ZTllOTtcbn1cblxuLmltcC1zZWFyY2gtYm94IC5pbXAtc2VhcmNoLWJveC1pbnB1dC13cmFwIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYWRhZGFkO1xufVxuXG4uaW1wLXNlYXJjaC1ib3ggLmltcC1zZWFyY2gtYm94LWlucHV0LXdyYXAgLmltcC1pY29uLmltcC1zZWFyY2gge1xuICBmaWxsOiAjYWRhZGFkO1xufVxuXG4uaW1wLXNlYXJjaC1ib3ggLmltcC1zZWFyY2gtYm94LWlucHV0LXdyYXAgLmltcC1pY29uLmltcC1jbGVhci1zZWFyY2gge1xuICBmaWxsOiBibGFjaztcbn1cblxuLyogRW1iZWRkZWQgbWVudSBzdHlsZXMgKi9cblxuLmltcC1vYmplY3QtbWVudS1vbi10b3AgLmltcC1zZWFyY2gtYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pbXAtb2JqZWN0LW1lbnUtb24tdG9wIC5pbXAtc2VhcmNoLWJveCAuaW1wLXNlYXJjaC1ib3gtaW5wdXQtd3JhcCBpbnB1dCB7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLyogVGhlbWUgLSBMaWdodCAqL1xuXG4uaW1wLXVpLWxpZ2h0IC5pbXAtc2VhcmNoLWJveCB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG4uaW1wLXVpLWxpZ2h0IC5pbXAtc2VhcmNoLWJveCAuaW1wLXNlYXJjaC1ib3gtaW5wdXQtd3JhcCBpbnB1dCB7XG4gIGNvbG9yOiBibGFjaztcbiAgYmFja2dyb3VuZDogI2YzZjNmMztcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uaW1wLXVpLWxpZ2h0IC5pbXAtc2VhcmNoLWJveCAuaW1wLXNlYXJjaC1ib3gtaW5wdXQtd3JhcCBpbnB1dDpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNlOWU5ZTk7XG59XG5cbi5pbXAtdWktbGlnaHQgLmltcC1zZWFyY2gtYm94IC5pbXAtc2VhcmNoLWJveC1pbnB1dC13cmFwIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYWRhZGFkO1xufVxuXG4uaW1wLXVpLWxpZ2h0IC5pbXAtc2VhcmNoLWJveCAuaW1wLXNlYXJjaC1ib3gtaW5wdXQtd3JhcCAuaW1wLWljb24uaW1wLXNlYXJjaCB7XG4gIGZpbGw6ICNhZGFkYWQ7XG59XG5cbi5pbXAtdWktbGlnaHQgLmltcC1zZWFyY2gtYm94IC5pbXAtc2VhcmNoLWJveC1pbnB1dC13cmFwIC5pbXAtaWNvbi5pbXAtY2xlYXItc2VhcmNoIHtcbiAgZmlsbDogYmxhY2s7XG59XG5cbi5pbXAtdWktbGlnaHQuaW1wLW9iamVjdC1tZW51LW9uLXRvcCAuaW1wLXNlYXJjaC1ib3ggLmltcC1zZWFyY2gtYm94LWlucHV0LXdyYXAgaW5wdXQge1xuICBjb2xvcjogYmxhY2s7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDYwO1xufVxuXG4uaW1wLXVpLWxpZ2h0LmltcC1vYmplY3QtbWVudS1vbi10b3AgLmltcC1zZWFyY2gtYm94IC5pbXAtc2VhcmNoLWJveC1pbnB1dC13cmFwIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYzdjN2M3O1xufVxuXG4uaW1wLXVpLWxpZ2h0LmltcC1vYmplY3QtbWVudS1vbi10b3AgLmltcC1zZWFyY2gtYm94IC5pbXAtc2VhcmNoLWJveC1pbnB1dC13cmFwIC5pbXAtaWNvbi5pbXAtc2VhcmNoIHtcbiAgZmlsbDogI2M3YzdjNztcbn1cblxuLmltcC11aS1saWdodC5pbXAtb2JqZWN0LW1lbnUtb24tdG9wIC5pbXAtc2VhcmNoLWJveCAuaW1wLXNlYXJjaC1ib3gtaW5wdXQtd3JhcCAuaW1wLWljb24uaW1wLWNsZWFyLXNlYXJjaCB7XG4gIGZpbGw6IGJsYWNrO1xufVxuXG4vKiBUaGVtZSAtIERhcmsgKi9cblxuLmltcC11aS1kYXJrIC5pbXAtc2VhcmNoLWJveCB7XG4gIGJhY2tncm91bmQ6ICMyMjI7XG59XG5cbi5pbXAtdWktZGFyayAuaW1wLXNlYXJjaC1ib3ggLmltcC1zZWFyY2gtYm94LWlucHV0LXdyYXAgaW5wdXQge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLmltcC11aS1kYXJrIC5pbXAtc2VhcmNoLWJveCAuaW1wLXNlYXJjaC1ib3gtaW5wdXQtd3JhcCBpbnB1dDpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICM0NDQ7XG59XG5cbi5pbXAtdWktZGFyayAuaW1wLXNlYXJjaC1ib3ggLmltcC1zZWFyY2gtYm94LWlucHV0LXdyYXAgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM3Nzc7XG59XG5cbi5pbXAtdWktZGFyayAuaW1wLXNlYXJjaC1ib3ggLmltcC1zZWFyY2gtYm94LWlucHV0LXdyYXAgLmltcC1pY29uLmltcC1zZWFyY2gge1xuICBmaWxsOiAjNjY2O1xufVxuXG4uaW1wLXVpLWRhcmsgLmltcC1zZWFyY2gtYm94IC5pbXAtc2VhcmNoLWJveC1pbnB1dC13cmFwIC5pbXAtaWNvbi5pbXAtY2xlYXItc2VhcmNoIHtcbiAgZmlsbDogd2hpdGU7XG59XG5cbi5pbXAtdWktZGFyay5pbXAtb2JqZWN0LW1lbnUtb24tdG9wIC5pbXAtc2VhcmNoLWJveCAuaW1wLXNlYXJjaC1ib3gtaW5wdXQtd3JhcCBpbnB1dCB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cblxuLmltcC11aS1kYXJrLmltcC1vYmplY3QtbWVudS1vbi10b3AgLmltcC1zZWFyY2gtYm94IC5pbXAtc2VhcmNoLWJveC1pbnB1dC13cmFwIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYzdjN2M3O1xufVxuXG4uaW1wLXVpLWRhcmsuaW1wLW9iamVjdC1tZW51LW9uLXRvcCAuaW1wLXNlYXJjaC1ib3ggLmltcC1zZWFyY2gtYm94LWlucHV0LXdyYXAgLmltcC1pY29uLmltcC1zZWFyY2gge1xuICBmaWxsOiAjYzdjN2M3O1xufVxuXG4uaW1wLXVpLWRhcmsuaW1wLW9iamVjdC1tZW51LW9uLXRvcCAuaW1wLXNlYXJjaC1ib3ggLmltcC1zZWFyY2gtYm94LWlucHV0LXdyYXAgLmltcC1pY29uLmltcC1jbGVhci1zZWFyY2gge1xuICBmaWxsOiB3aGl0ZTtcbn1cbiIsIiJdKTtjb25zdCBzPWF9LDI2Njg6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7WjooKT0+c30pO3ZhciBvPW4oODA4MSksaT1uLm4obykscj1uKDM2NDUpLGE9bi5uKHIpKCkoaSgpKTthLnB1c2goW3QuaWQsIi5pbXAtdWktbmF2aWdhdG9yLXJvb3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5pbXAtdWktbmF2aWdhdG9yLXJvb3Q6YWN0aXZlIHtcbiAgZmlsdGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tb3otZmlsdGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtZmlsdGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pbXAtdWktbmF2aWdhdG9yLW92ZXJsYXkge1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwLjI1O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG5cbi5pbXAtdWktbmF2aWdhdG9yLXdpbmRvdy1pbWFnZSB7XG4gIHotaW5kZXg6IDM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbiAgLWtodG1sLXVzZXItZHJhZzogbm9uZTtcbiAgLW1vei11c2VyLWRyYWc6IG5vbmU7XG4gIC1vLXVzZXItZHJhZzogbm9uZTtcbiAgdXNlci1kcmFnOiBub25lO1xufVxuXG4uaW1wLXVpLW5hdmlnYXRvci1iYWNrZ3JvdW5kLWVkZ2VmaWxsIHtcbiAgei1pbmRleDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbiAgLWtodG1sLXVzZXItZHJhZzogbm9uZTtcbiAgLW1vei11c2VyLWRyYWc6IG5vbmU7XG4gIC1vLXVzZXItZHJhZzogbm9uZTtcbiAgdXNlci1kcmFnOiBub25lO1xufVxuXG4uaW1wLXVpLW5hdmlnYXRvci1iYWNrZ3JvdW5kIHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbiAgLWtodG1sLXVzZXItZHJhZzogbm9uZTtcbiAgLW1vei11c2VyLWRyYWc6IG5vbmU7XG4gIC1vLXVzZXItZHJhZzogbm9uZTtcbiAgdXNlci1kcmFnOiBub25lO1xuXG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDJweCk7XG4gIC1tb3otZmlsdGVyOiBibHVyKDJweCk7XG4gIC1vLWZpbHRlcjogYmx1cigycHgpO1xuICAtbXMtZmlsdGVyOiBibHVyKDJweCk7XG4gIGZpbHRlcjogYmx1cigycHgpO1xufVxuXG4vKiBUaGVtZSAtIExpZ2h0ICovXG4uaW1wLXVpLWxpZ2h0IC5pbXAtdWktbmF2aWdhdG9yLXJvb3Qge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA2MDtcbn1cblxuLyogVGhlbWUgLSBEYXJrICovXG5cbi5pbXAtdWktZGFyayAuaW1wLXVpLW5hdmlnYXRvci1yb290IHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cbiIsIiJdKTtjb25zdCBzPWF9LDM3NDM6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7WjooKT0+c30pO3ZhciBvPW4oODA4MSksaT1uLm4obykscj1uKDM2NDUpLGE9bi5uKHIpKCkoaSgpKTthLnB1c2goW3QuaWQsIi5pbXAtb2JqZWN0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xLCAxKTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuMSwgMSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLCAwLjEsIDEpO1xuXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uaW1wLW9iamVjdC1zdGF0aWMsXG4uaW1wLW9iamVjdC1zdGF0aWMgKiB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmltcC1vYmplY3Qtc3ZnLXNpbmdsZSxcbi5pbXAtb2JqZWN0LXN2Zyxcbi5pbXAtb2JqZWN0LXBvbHkge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5pbXAtb2JqZWN0LXN2Zy1zaW5nbGUgKixcbi5pbXAtb2JqZWN0LXN2ZyAqLFxuLmltcC1vYmplY3QtcG9seSAqIHtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuLyogaW1hZ2UgYmFja2dyb3VuZHMgKi9cblxuLmltcC1vYmplY3QgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5pbXAtaW1hZ2UtYmFja2dyb3VuZHMge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmltcC1vYmplY3QtYmFja2dyb3VuZC1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4vKiBHbG93ICovXG5cbi5pbXAtZ2xvd2luZy1vYmplY3RzIC5pbXAtb2JqZWN0IHtcbiAgYW5pbWF0aW9uOiBPYmplY3RHbG93QW5pbWF0aW9uIGxpbmVhciAxLjVzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cbiIsIiJdKTtjb25zdCBzPWF9LDQyODU6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7WjooKT0+c30pO3ZhciBvPW4oODA4MSksaT1uLm4obykscj1uKDM2NDUpLGE9bi5uKHIpKCkoaSgpKTthLnB1c2goW3QuaWQsIi5pbXAtb2JqZWN0LXNwb3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvKiB6b29tIHNjYWxpbmcgKi9cbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG59XG5cbi5pbXAtb2JqZWN0LXNwb3QtcGluIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG59XG5cbi5pbXAtb2JqZWN0LWljb24tc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMC4yNSk7XG4gIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMwMDAwMDArMCwwMDAwMDArMTAwJmFtcDswLjUzKzAsMC4zKzEwLDAuMTMrMjgsMC4wNCs0NCwwKzY3ICovXG4gIGJhY2tncm91bmQ6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgcmdiYSgwLCAwLCAwLCAwLjUzKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjMpIDEwJSwgcmdiYSgwLCAwLCAwLCAwLjEzKSAyOCUsIHJnYmEoMCwgMCwgMCwgMC4wNCkgNDQlLCByZ2JhKDAsIDAsIDAsIDApIDY3JSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcbiAgLyogRkYzLjYtMTUgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCByZ2JhKDAsIDAsIDAsIDAuNTMpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMykgMTAlLCByZ2JhKDAsIDAsIDAsIDAuMTMpIDI4JSwgcmdiYSgwLCAwLCAwLCAwLjA0KSA0NCUsIHJnYmEoMCwgMCwgMCwgMCkgNjclLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsIHJnYmEoMCwgMCwgMCwgMC41MykgMCUsIHJnYmEoMCwgMCwgMCwgMC4zKSAxMCUsIHJnYmEoMCwgMCwgMCwgMC4xMykgMjglLCByZ2JhKDAsIDAsIDAsIDAuMDQpIDQ0JSwgcmdiYSgwLCAwLCAwLCAwKSA2NyUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7XG4gIC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjODcwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMDAwJywgR3JhZGllbnRUeXBlPTEpO1xuICAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovXG59XG5cbi5pbXAtc3BvdC1mb250YXdlc29tZS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufSIsIiJdKTtjb25zdCBzPWF9LDEzMDoodCxlLG4pPT57InVzZSBzdHJpY3QiO24uZChlLHtaOigpPT5zfSk7dmFyIG89big4MDgxKSxpPW4ubihvKSxyPW4oMzY0NSksYT1uLm4ocikoKShpKCkpO2EucHVzaChbdC5pZCwiLmltcC1vYmplY3QtdGV4dCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbiIsIiJdKTtjb25zdCBzPWF9LDE2MjY6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7WjooKT0+c30pO3ZhciBvPW4oODA4MSksaT1uLm4obykscj1uKDM2NDUpLGE9bi5uKHIpKCkoaSgpKTthLnB1c2goW3QuaWQsIi8qIENvbnRhaW5lciAqL1xuXG4uaW1wLXRvb2x0aXBzLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5OTk5OTtcbn1cblxuLyogVG9vbHRpcCAqL1xuXG4uaW1wLXRvb2x0aXAtd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cbi5pbXAtdG9vbHRpcC13cmFwIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uaW1wLXRvb2x0aXAtd3JhcCAuaW1wLXRvb2x0aXAge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIG9wYWNpdHk6IDA7XG5cbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG5cbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLCAwLjEsIDEpO1xuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xLCAxKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuMSwgMSk7XG5cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIEFycm93ICovXG5cbi5ocy1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmhzLWFycm93LXRvcCB7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogLThweDtcbiAgbWFyZ2luLXRvcDogLThweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIGJsYWNrO1xufVxuXG4uaHMtYXJyb3ctYm90dG9tIHtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICBtYXJnaW4tdG9wOiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICBib3JkZXItdG9wOiA4cHggc29saWQgYmxhY2s7XG59XG5cbi5ocy1hcnJvdy1yaWdodCB7XG4gIGxlZnQ6IDEwMCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLThweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCBibGFjaztcbn1cblxuLmhzLWFycm93LWxlZnQge1xuICBsZWZ0OiAwO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gIG1hcmdpbi10b3A6IC04cHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIGJsYWNrO1xufVxuXG4vKiBBbmltYXRpb24gKi9cblxuLmltcC10b29sdGlwLXdyYXAuaW1wLXRvb2x0aXAtcG9zaXRpb24tdG9wIC5pbXAtdG9vbHRpcCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xufVxuLmltcC10b29sdGlwLXdyYXAuaW1wLXRvb2x0aXAtcG9zaXRpb24tYm90dG9tIC5pbXAtdG9vbHRpcCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwJTtcbn1cbi5pbXAtdG9vbHRpcC13cmFwLmltcC10b29sdGlwLXBvc2l0aW9uLWxlZnQgLmltcC10b29sdGlwIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG59XG4uaW1wLXRvb2x0aXAtd3JhcC5pbXAtdG9vbHRpcC1wb3NpdGlvbi1yaWdodCAuaW1wLXRvb2x0aXAge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XG59XG4iLCIiXSk7Y29uc3Qgcz1hfSw1NTE1Oih0LGUsbik9PnsidXNlIHN0cmljdCI7bi5kKGUse1o6KCk9PnN9KTt2YXIgbz1uKDgwODEpLGk9bi5uKG8pLHI9bigzNjQ1KSxhPW4ubihyKSgpKGkoKSk7YS5wdXNoKFt0LmlkLCIuaW1wLXRvb2x0aXBzLWNvbnRhaW5lci5pcy1mdWxsc2NyZWVuIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHotaW5kZXg6IDIxNDc0ODM2NDY7XG5cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGN1YmljLWJlemllcigwLjU1LCAwLCAwLjEsIDEpO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xLCAxKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuMSwgMSk7XG59XG5cbi5pbXAtdG9vbHRpcHMtY29udGFpbmVyLmlzLWZ1bGxzY3JlZW4gLmltcC1mdWxsc2NyZWVuLXRvb2x0aXAge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDQwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIHRyYW5zaXRpb246IGFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xLCAxKTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuMSwgMSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMzVzIGN1YmljLWJlemllcigwLjU1LCAwLCAwLjEsIDEpO1xufVxuXG4uaW1wLXRvb2x0aXBzLWNvbnRhaW5lci5pcy1mdWxsc2NyZWVuIC5pbXAtZnVsbHNjcmVlbi10b29sdGlwIC5pbXAtdG9vbHRpcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMTExO1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXG4gIHRyYW5zaXRpb246IGFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xLCAxKTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuMSwgMSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMzVzIGN1YmljLWJlemllcigwLjU1LCAwLCAwLjEsIDEpO1xufVxuXG4uaW1wLXRvb2x0aXBzLWNvbnRhaW5lci5pcy1mdWxsc2NyZWVuIC5pbXAtZnVsbHNjcmVlbi10b29sdGlwIC5pbXAtdG9vbHRpcC1jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogOTk7XG5cbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGNvbG9yOiAjMTExO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICByaWdodDogLTIycHg7XG4gIHRvcDogLTIycHg7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uaW1wLXRvb2x0aXBzLWNvbnRhaW5lci5pcy1mdWxsc2NyZWVuIC5pbXAtZnVsbHNjcmVlbi10b29sdGlwIC5pbXAtdG9vbHRpcC1jbG9zZS1idXR0b24gLmltcC1pY29uIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMTJweDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4iLCIiXSk7Y29uc3Qgcz1hfSwzNDQyOih0LGUsbik9PnsidXNlIHN0cmljdCI7bi5kKGUse1o6KCk9PnN9KTt2YXIgbz1uKDgwODEpLGk9bi5uKG8pLHI9bigzNjQ1KSxhPW4ubihyKSgpKGkoKSk7YS5wdXNoKFt0LmlkLCIvKiBVSSBnZW5lcmFsICovXG4uaW1wLXVpLWVsZW1lbnQge1xuICB6LWluZGV4OiAzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLmltcC11aS1lbGVtZW50OmFjdGl2ZSB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwLjgpO1xuICAtbW96LWZpbHRlcjogYnJpZ2h0bmVzcygwLjgpO1xuICAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygwLjgpO1xufVxuXG4uaW1wLXVpLXRvcC1yaWdodCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRvcDogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uaW1wLXVpLWJvdHRvbS1yaWdodCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIGJvdHRvbTogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uaW1wLXVpLXRvcC1sZWZ0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyMHB4O1xuICB0b3A6IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmltcC11aS1ib3R0b20tbGVmdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMjBweDtcbiAgYm90dG9tOiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbiIsIiJdKTtjb25zdCBzPWF9LDgzNTM6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7WjooKT0+c30pO3ZhciBvPW4oODA4MSksaT1uLm4obykscj1uKDM2NDUpLGE9bi5uKHIpKCkoaSgpKTthLnB1c2goW3QuaWQsIi5pbXAtdWktem9vbS1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7XG4gIC1raHRtbC11c2VyLWRyYWc6IG5vbmU7XG4gIC1tb3otdXNlci1kcmFnOiBub25lO1xuICAtby11c2VyLWRyYWc6IG5vbmU7XG4gIHVzZXItZHJhZzogbm9uZTtcblxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmltcC11aS16b29tLWJ1dHRvbi16b29tLW91dCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA1cHggNXB4O1xufVxuXG4uaW1wLXVpLXpvb20tYnV0dG9uLXpvb20taW4ge1xuICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDtcbn1cblxuLmltcC11aS16b29tLWJ1dHRvbiAuaW1wLWljb24ge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xufVxuXG4vKiBUaGVtZSAtIExpZ2h0ICovXG4uaW1wLXVpLWxpZ2h0IC5pbXAtdWktem9vbS1idXR0b24ge1xuICBmaWxsOiBibGFjaztcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwNjA7XG59XG5cbi5pbXAtdWktbGlnaHQgLmltcC11aS16b29tLWJ1dHRvbi16b29tLW91dCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi8qIFRoZW1lIC0gRGFyayAqL1xuXG4uaW1wLXVpLWRhcmsgLmltcC11aS16b29tLWJ1dHRvbiB7XG4gIGZpbGw6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xufVxuXG4uaW1wLXVpLWRhcmsgLmltcC11aS16b29tLWJ1dHRvbi16b29tLW91dCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4iLCIiXSk7Y29uc3Qgcz1hfSw2OTIzOih0LGUsbik9PnsidXNlIHN0cmljdCI7bi5kKGUse1o6KCk9PnN9KTt2YXIgbz1uKDgwODEpLGk9bi5uKG8pLHI9bigzNjQ1KSxhPW4ubihyKSgpKGkoKSk7YS5wdXNoKFt0LmlkLCIjZGVidWcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBjb2xvcjogd2hpdGU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgY3ViaWMtYmV6aWVyKC41NSwgMCwgLjEsIDEpO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgY3ViaWMtYmV6aWVyKC41NSwgMCwgLjEsIDEpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgY3ViaWMtYmV6aWVyKC41NSwgMCwgLjEsIDEpO1xuICB6LWluZGV4OiA5OTk5OTk5OTtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxOHB4O1xufSIsIiJdKTtjb25zdCBzPWF9LDk3OTg6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7WjooKT0+c30pO3ZhciBvPW4oODA4MSksaT1uLm4obykscj1uKDM2NDUpLGE9bi5uKHIpKCkoaSgpKTthLnB1c2goW3QuaWQsImJvZHkuaW1wLWZ1bGxzY3JlZW4tbW9kZSB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuI2ltcC1mdWxsc2NyZWVuLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5OTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xufVxuXG4jaW1wLWZ1bGxzY3JlZW4tY29udGFpbmVyICNpbXAtZnVsbHNjcmVlbi1pbWFnZS1tYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4jaW1wLWZ1bGxzY3JlZW4tY29udGFpbmVyIC5pbXAtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4jaW1wLWZ1bGxzY3JlZW4tY29udGFpbmVyIC5pbXAtdWktd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbiNpbXAtZnVsbHNjcmVlbi1jb250YWluZXIgLmltcC1jYW52YXMtd3JhcCB7XG4gIHBvc2l0aW9uOiBpbmhlcml0O1xuICB6LWluZGV4OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuI2ltcC1mdWxsc2NyZWVuLWNvbnRhaW5lciAuaW1wLWNhbnZhcyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuIiwiIl0pO2NvbnN0IHM9YX0sOTQ5NDoodCxlLG4pPT57InVzZSBzdHJpY3QiO24uZChlLHtaOigpPT5zfSk7dmFyIG89big4MDgxKSxpPW4ubihvKSxyPW4oMzY0NSksYT1uLm4ocikoKShpKCkpO2EucHVzaChbdC5pZCwiLmltcC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5pbXAtdWktd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmltcC1jYW52YXMtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4uaW1wLWNhbnZhcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pbXAtdHJhbnNsYXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmltcC1zY2FsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlKDAsIDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmltcC1vYmplY3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5pbXAtaW1hZ2Uge1xuICB6LWluZGV4OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4uaW1wLWJhY2tncm91bmQge1xuICB6LWluZGV4OiAwO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmltcC1ub3Njcm9sbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5ocy1sb2FkZXItd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogU2Nyb2xsIE1lc3NhZ2UgKi9cbi5pbXAtdWktc2Nyb2xsLW1lc3NhZ2Utd3JhcCB7XG4gIHotaW5kZXg6IDQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuMSwgMSk7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjU1LCAwLCAwLjEsIDEpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjI1cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xLCAxKTtcbn1cblxuLmltcC11aS1zY3JvbGwtbWVzc2FnZS13cmFwLWlubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5pbXAtdWktc2Nyb2xsLW1lc3NhZ2Utd3JhcC5pbXAtdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5pbXAtdWktc2Nyb2xsLW1lc3NhZ2Uge1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjY2KTtcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG59XG5cbi5pbXAtdWktc2Nyb2xsLW1lc3NhZ2UtYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgcGFkZGluZzogMCA3cHg7XG4gIG1hcmdpbjogMCA2cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbiIsIiJdKTtjb25zdCBzPWF9LDc3OToodCxlLG4pPT57InVzZSBzdHJpY3QiO24uZChlLHtaOigpPT5FfSk7dmFyIG89big4MDgxKSxpPW4ubihvKSxyPW4oMzY0NSksYT1uLm4ocikscz1uKDY5MjMpLGM9big5NDk0KSxsPW4oOTc5OCksdT1uKDMyMDcpLHA9bigxNjI2KSxkPW4oNTUxNSksaD1uKDM0NDIpLG09big5NDc3KSxmPW4oMjY2OCksZz1uKDgzNTMpLGI9bigzNzQzKSx2PW4oMTMwKSx5PW4oNDI4NSksXz1uKDY3NTApLHc9big3MzQ4KSx4PW4oOTE0KSxrPW4oNzQ4Niksaj1uKDExMjEpLE09bigxNjUwKSxJPW4oMTE1KSxDPWEoKShpKCkpO0MuaShzLlopLEMuaShjLlopLEMuaShsLlopLEMuaSh1LlopLEMuaShwLlopLEMuaShkLlopLEMuaShoLlopLEMuaShtLlopLEMuaShmLlopLEMuaShnLlopLEMuaShiLlopLEMuaSh2LlopLEMuaSh5LlopLEMuaShfLlopLEMuaSh3LlopLEMuaSh4LlopLEMuaShrLlopLEMuaShqLlopLEMuaShNLlopLEMuaShJLlopLEMucHVzaChbdC5pZCwiXG4iLCIiXSk7Y29uc3QgRT1DfSwzMjA3Oih0LGUsbik9PnsidXNlIHN0cmljdCI7bi5kKGUse1o6KCk9PnN9KTt2YXIgbz1uKDgwODEpLGk9bi5uKG8pLHI9bigzNjQ1KSxhPW4ubihyKSgpKGkoKSk7YS5wdXNoKFt0LmlkLCIvKiBsYXllcnMgKi9cbi5pbXAtdWktbGF5ZXJzLW1lbnUtd3JhcCB7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmltcC11aS1sYXllcnMtbWVudS13cmFwIC5pbXAtaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNHB4O1xuICByaWdodDogMTVweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDQ7XG59XG5cbi5pbXAtdWktZWxlbWVudC5pbXAtdWktbGF5ZXJzLXNlbGVjdCB7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmc6IDAgNDBweCAwIDIwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC8qIHdvcmRwcmVzcyBmaXhlcyAqL1xuICAvKiB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMjIyO1xuICBvdXRsaW5lLWNvbG9yOiByZ2IoMzQsIDM0LCAzNCk7XG4gIG91dGxpbmUtc3R5bGU6IG5vbmU7XG4gIG91dGxpbmUtd2lkdGg6IDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiKDE2NiwgMTY2LCAxNjYpOyAqL1xufVxuXG4uaW1wLXVpLWxheWVycy1zZWxlY3Q6YWN0aXZlIHtcbiAgZmlsdGVyOiBub25lO1xufVxuXG4vKiBUaGVtZSAtIExpZ2h0ICovXG4uaW1wLXVpLWxpZ2h0IC5pbXAtdWktbGF5ZXJzLXNlbGVjdCB7XG4gIGNvbG9yOiBibGFjaztcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwNjA7XG59XG5cbi5pbXAtdWktbGlnaHQgLmltcC11aS1sYXllcnMtbWVudS13cmFwIC5pbXAtaWNvbiB7XG4gIGZpbGw6IGJsYWNrO1xufVxuXG4vKiBUaGVtZSAtIERhcmsgKi9cblxuLmltcC11aS1kYXJrIC5pbXAtdWktbGF5ZXJzLXNlbGVjdCB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cblxuLmltcC11aS1kYXJrIC5pbXAtdWktbGF5ZXJzLW1lbnUtd3JhcCAuaW1wLWljb24ge1xuICBmaWxsOiB3aGl0ZTtcbn1cbiIsIiJdKTtjb25zdCBzPWF9LDM2NDU6dD0+eyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9W107cmV0dXJuIGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoKGZ1bmN0aW9uKGUpe3ZhciBuPSIiLG89dm9pZCAwIT09ZVs1XTtyZXR1cm4gZVs0XSYmKG4rPSJAc3VwcG9ydHMgKCIuY29uY2F0KGVbNF0sIikgeyIpKSxlWzJdJiYobis9IkBtZWRpYSAiLmNvbmNhdChlWzJdLCIgeyIpKSxvJiYobis9IkBsYXllciIuY29uY2F0KGVbNV0ubGVuZ3RoPjA/IiAiLmNvbmNhdChlWzVdKToiIiwiIHsiKSksbis9dChlKSxvJiYobis9In0iKSxlWzJdJiYobis9In0iKSxlWzRdJiYobis9In0iKSxufSkpLmpvaW4oIiIpfSxlLmk9ZnVuY3Rpb24odCxuLG8saSxyKXsic3RyaW5nIj09dHlwZW9mIHQmJih0PVtbbnVsbCx0LHZvaWQgMF1dKTt2YXIgYT17fTtpZihvKWZvcih2YXIgcz0wO3M8dGhpcy5sZW5ndGg7cysrKXt2YXIgYz10aGlzW3NdWzBdO251bGwhPWMmJihhW2NdPSEwKX1mb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKyl7dmFyIHU9W10uY29uY2F0KHRbbF0pO28mJmFbdVswXV18fCh2b2lkIDAhPT1yJiYodm9pZCAwPT09dVs1XXx8KHVbMV09IkBsYXllciIuY29uY2F0KHVbNV0ubGVuZ3RoPjA/IiAiLmNvbmNhdCh1WzVdKToiIiwiIHsiKS5jb25jYXQodVsxXSwifSIpKSx1WzVdPXIpLG4mJih1WzJdPyh1WzFdPSJAbWVkaWEgIi5jb25jYXQodVsyXSwiIHsiKS5jb25jYXQodVsxXSwifSIpLHVbMl09bik6dVsyXT1uKSxpJiYodVs0XT8odVsxXT0iQHN1cHBvcnRzICgiLmNvbmNhdCh1WzRdLCIpIHsiKS5jb25jYXQodVsxXSwifSIpLHVbNF09aSk6dVs0XT0iIi5jb25jYXQoaSkpLGUucHVzaCh1KSl9fSxlfX0sODA4MTp0PT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gdFsxXX19LDMzNzk6dD0+eyJ1c2Ugc3RyaWN0Ijt2YXIgZT1bXTtmdW5jdGlvbiBuKHQpe2Zvcih2YXIgbj0tMSxvPTA7bzxlLmxlbmd0aDtvKyspaWYoZVtvXS5pZGVudGlmaWVyPT09dCl7bj1vO2JyZWFrfXJldHVybiBufWZ1bmN0aW9uIG8odCxvKXtmb3IodmFyIHI9e30sYT1bXSxzPTA7czx0Lmxlbmd0aDtzKyspe3ZhciBjPXRbc10sbD1vLmJhc2U/Y1swXStvLmJhc2U6Y1swXSx1PXJbbF18fDAscD0iIi5jb25jYXQobCwiICIpLmNvbmNhdCh1KTtyW2xdPXUrMTt2YXIgZD1uKHApLGg9e2NzczpjWzFdLG1lZGlhOmNbMl0sc291cmNlTWFwOmNbM10sc3VwcG9ydHM6Y1s0XSxsYXllcjpjWzVdfTtpZigtMSE9PWQpZVtkXS5yZWZlcmVuY2VzKyssZVtkXS51cGRhdGVyKGgpO2Vsc2V7dmFyIG09aShoLG8pO28uYnlJbmRleD1zLGUuc3BsaWNlKHMsMCx7aWRlbnRpZmllcjpwLHVwZGF0ZXI6bSxyZWZlcmVuY2VzOjF9KX1hLnB1c2gocCl9cmV0dXJuIGF9ZnVuY3Rpb24gaSh0LGUpe3ZhciBuPWUuZG9tQVBJKGUpO3JldHVybiBuLnVwZGF0ZSh0KSxmdW5jdGlvbihlKXtpZihlKXtpZihlLmNzcz09PXQuY3NzJiZlLm1lZGlhPT09dC5tZWRpYSYmZS5zb3VyY2VNYXA9PT10LnNvdXJjZU1hcCYmZS5zdXBwb3J0cz09PXQuc3VwcG9ydHMmJmUubGF5ZXI9PT10LmxheWVyKXJldHVybjtuLnVwZGF0ZSh0PWUpfWVsc2Ugbi5yZW1vdmUoKX19dC5leHBvcnRzPWZ1bmN0aW9uKHQsaSl7dmFyIHI9byh0PXR8fFtdLGk9aXx8e30pO3JldHVybiBmdW5jdGlvbih0KXt0PXR8fFtdO2Zvcih2YXIgYT0wO2E8ci5sZW5ndGg7YSsrKXt2YXIgcz1uKHJbYV0pO2Vbc10ucmVmZXJlbmNlcy0tfWZvcih2YXIgYz1vKHQsaSksbD0wO2w8ci5sZW5ndGg7bCsrKXt2YXIgdT1uKHJbbF0pOzA9PT1lW3VdLnJlZmVyZW5jZXMmJihlW3VdLnVwZGF0ZXIoKSxlLnNwbGljZSh1LDEpKX1yPWN9fX0sNTY5OnQ9PnsidXNlIHN0cmljdCI7dmFyIGU9e307dC5leHBvcnRzPWZ1bmN0aW9uKHQsbil7dmFyIG89ZnVuY3Rpb24odCl7aWYodm9pZCAwPT09ZVt0XSl7dmFyIG49ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0KTtpZih3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQmJm4gaW5zdGFuY2VvZiB3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQpdHJ5e249bi5jb250ZW50RG9jdW1lbnQuaGVhZH1jYXRjaCh0KXtuPW51bGx9ZVt0XT1ufXJldHVybiBlW3RdfSh0KTtpZighbyl0aHJvdyBuZXcgRXJyb3IoIkNvdWxkbid0IGZpbmQgYSBzdHlsZSB0YXJnZXQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgdmFsdWUgZm9yIHRoZSAnaW5zZXJ0JyBwYXJhbWV0ZXIgaXMgaW52YWxpZC4iKTtvLmFwcGVuZENoaWxkKG4pfX0sOTIxNjp0PT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LnNldEF0dHJpYnV0ZXMoZSx0LmF0dHJpYnV0ZXMpLHQuaW5zZXJ0KGUsdC5vcHRpb25zKSxlfX0sMzU2NToodCxlLG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1uLm5jO2UmJnQuc2V0QXR0cmlidXRlKCJub25jZSIsZSl9fSw3Nzk1OnQ9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgZG9jdW1lbnQpcmV0dXJue3VwZGF0ZTpmdW5jdGlvbigpe30scmVtb3ZlOmZ1bmN0aW9uKCl7fX07dmFyIGU9dC5pbnNlcnRTdHlsZUVsZW1lbnQodCk7cmV0dXJue3VwZGF0ZTpmdW5jdGlvbihuKXshZnVuY3Rpb24odCxlLG4pe3ZhciBvPSIiO24uc3VwcG9ydHMmJihvKz0iQHN1cHBvcnRzICgiLmNvbmNhdChuLnN1cHBvcnRzLCIpIHsiKSksbi5tZWRpYSYmKG8rPSJAbWVkaWEgIi5jb25jYXQobi5tZWRpYSwiIHsiKSk7dmFyIGk9dm9pZCAwIT09bi5sYXllcjtpJiYobys9IkBsYXllciIuY29uY2F0KG4ubGF5ZXIubGVuZ3RoPjA/IiAiLmNvbmNhdChuLmxheWVyKToiIiwiIHsiKSksbys9bi5jc3MsaSYmKG8rPSJ9Iiksbi5tZWRpYSYmKG8rPSJ9Iiksbi5zdXBwb3J0cyYmKG8rPSJ9Iik7dmFyIHI9bi5zb3VyY2VNYXA7ciYmInVuZGVmaW5lZCIhPXR5cGVvZiBidG9hJiYobys9IlxuLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCwiLmNvbmNhdChidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShyKSkpKSwiICovIikpLGUuc3R5bGVUYWdUcmFuc2Zvcm0obyx0LGUub3B0aW9ucyl9KGUsdCxuKX0scmVtb3ZlOmZ1bmN0aW9uKCl7IWZ1bmN0aW9uKHQpe2lmKG51bGw9PT10LnBhcmVudE5vZGUpcmV0dXJuITE7dC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpfShlKX19fX0sNDU4OTp0PT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGUuc3R5bGVTaGVldCllLnN0eWxlU2hlZXQuY3NzVGV4dD10O2Vsc2V7Zm9yKDtlLmZpcnN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQoZS5maXJzdENoaWxkKTtlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHQpKX19fSw3MDYxOih0LGUsbik9Pnt2YXIgbz1uKDg2OTgpLmRlZmF1bHQ7ZnVuY3Rpb24gaSgpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9aT1mdW5jdGlvbigpe3JldHVybiBlfSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHMuZGVmYXVsdD10LmV4cG9ydHM7dmFyIGU9e30sbj1PYmplY3QucHJvdG90eXBlLHI9bi5oYXNPd25Qcm9wZXJ0eSxhPU9iamVjdC5kZWZpbmVQcm9wZXJ0eXx8ZnVuY3Rpb24odCxlLG4pe3RbZV09bi52YWx1ZX0scz0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sP1N5bWJvbDp7fSxjPXMuaXRlcmF0b3J8fCJAQGl0ZXJhdG9yIixsPXMuYXN5bmNJdGVyYXRvcnx8IkBAYXN5bmNJdGVyYXRvciIsdT1zLnRvU3RyaW5nVGFnfHwiQEB0b1N0cmluZ1RhZyI7ZnVuY3Rpb24gcCh0LGUsbil7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KSx0W2VdfXRyeXtwKHt9LCIiKX1jYXRjaCh0KXtwPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdFtlXT1ufX1mdW5jdGlvbiBkKHQsZSxuLG8pe3ZhciBpPWUmJmUucHJvdG90eXBlIGluc3RhbmNlb2YgZj9lOmYscj1PYmplY3QuY3JlYXRlKGkucHJvdG90eXBlKSxzPW5ldyBFKG98fFtdKTtyZXR1cm4gYShyLCJfaW52b2tlIix7dmFsdWU6aih0LG4scyl9KSxyfWZ1bmN0aW9uIGgodCxlLG4pe3RyeXtyZXR1cm57dHlwZToibm9ybWFsIixhcmc6dC5jYWxsKGUsbil9fWNhdGNoKHQpe3JldHVybnt0eXBlOiJ0aHJvdyIsYXJnOnR9fX1lLndyYXA9ZDt2YXIgbT17fTtmdW5jdGlvbiBmKCl7fWZ1bmN0aW9uIGcoKXt9ZnVuY3Rpb24gYigpe312YXIgdj17fTtwKHYsYywoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKTt2YXIgeT1PYmplY3QuZ2V0UHJvdG90eXBlT2YsXz15JiZ5KHkoTyhbXSkpKTtfJiZfIT09biYmci5jYWxsKF8sYykmJih2PV8pO3ZhciB3PWIucHJvdG90eXBlPWYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodik7ZnVuY3Rpb24geCh0KXtbIm5leHQiLCJ0aHJvdyIsInJldHVybiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3AodCxlLChmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5faW52b2tlKGUsdCl9KSl9KSl9ZnVuY3Rpb24gayh0LGUpe2Z1bmN0aW9uIG4oaSxhLHMsYyl7dmFyIGw9aCh0W2ldLHQsYSk7aWYoInRocm93IiE9PWwudHlwZSl7dmFyIHU9bC5hcmcscD11LnZhbHVlO3JldHVybiBwJiYib2JqZWN0Ij09byhwKSYmci5jYWxsKHAsIl9fYXdhaXQiKT9lLnJlc29sdmUocC5fX2F3YWl0KS50aGVuKChmdW5jdGlvbih0KXtuKCJuZXh0Iix0LHMsYyl9KSwoZnVuY3Rpb24odCl7bigidGhyb3ciLHQscyxjKX0pKTplLnJlc29sdmUocCkudGhlbigoZnVuY3Rpb24odCl7dS52YWx1ZT10LHModSl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIG4oInRocm93Iix0LHMsYyl9KSl9YyhsLmFyZyl9dmFyIGk7YSh0aGlzLCJfaW52b2tlIix7dmFsdWU6ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiByKCl7cmV0dXJuIG5ldyBlKChmdW5jdGlvbihlLGkpe24odCxvLGUsaSl9KSl9cmV0dXJuIGk9aT9pLnRoZW4ocixyKTpyKCl9fSl9ZnVuY3Rpb24gaih0LGUsbil7dmFyIG89InN1c3BlbmRlZFN0YXJ0IjtyZXR1cm4gZnVuY3Rpb24oaSxyKXtpZigiZXhlY3V0aW5nIj09PW8pdGhyb3cgbmV3IEVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBydW5uaW5nIik7aWYoImNvbXBsZXRlZCI9PT1vKXtpZigidGhyb3ciPT09aSl0aHJvdyByO3JldHVybnt2YWx1ZTp2b2lkIDAsZG9uZTohMH19Zm9yKG4ubWV0aG9kPWksbi5hcmc9cjs7KXt2YXIgYT1uLmRlbGVnYXRlO2lmKGEpe3ZhciBzPU0oYSxuKTtpZihzKXtpZihzPT09bSljb250aW51ZTtyZXR1cm4gc319aWYoIm5leHQiPT09bi5tZXRob2Qpbi5zZW50PW4uX3NlbnQ9bi5hcmc7ZWxzZSBpZigidGhyb3ciPT09bi5tZXRob2Qpe2lmKCJzdXNwZW5kZWRTdGFydCI9PT1vKXRocm93IG89ImNvbXBsZXRlZCIsbi5hcmc7bi5kaXNwYXRjaEV4Y2VwdGlvbihuLmFyZyl9ZWxzZSJyZXR1cm4iPT09bi5tZXRob2QmJm4uYWJydXB0KCJyZXR1cm4iLG4uYXJnKTtvPSJleGVjdXRpbmciO3ZhciBjPWgodCxlLG4pO2lmKCJub3JtYWwiPT09Yy50eXBlKXtpZihvPW4uZG9uZT8iY29tcGxldGVkIjoic3VzcGVuZGVkWWllbGQiLGMuYXJnPT09bSljb250aW51ZTtyZXR1cm57dmFsdWU6Yy5hcmcsZG9uZTpuLmRvbmV9fSJ0aHJvdyI9PT1jLnR5cGUmJihvPSJjb21wbGV0ZWQiLG4ubWV0aG9kPSJ0aHJvdyIsbi5hcmc9Yy5hcmcpfX19ZnVuY3Rpb24gTSh0LGUpe3ZhciBuPWUubWV0aG9kLG89dC5pdGVyYXRvcltuXTtpZih2b2lkIDA9PT1vKXJldHVybiBlLmRlbGVnYXRlPW51bGwsInRocm93Ij09PW4mJnQuaXRlcmF0b3IucmV0dXJuJiYoZS5tZXRob2Q9InJldHVybiIsZS5hcmc9dm9pZCAwLE0odCxlKSwidGhyb3ciPT09ZS5tZXRob2QpfHwicmV0dXJuIiE9PW4mJihlLm1ldGhvZD0idGhyb3ciLGUuYXJnPW5ldyBUeXBlRXJyb3IoIlRoZSBpdGVyYXRvciBkb2VzIG5vdCBwcm92aWRlIGEgJyIrbisiJyBtZXRob2QiKSksbTt2YXIgaT1oKG8sdC5pdGVyYXRvcixlLmFyZyk7aWYoInRocm93Ij09PWkudHlwZSlyZXR1cm4gZS5tZXRob2Q9InRocm93IixlLmFyZz1pLmFyZyxlLmRlbGVnYXRlPW51bGwsbTt2YXIgcj1pLmFyZztyZXR1cm4gcj9yLmRvbmU/KGVbdC5yZXN1bHROYW1lXT1yLnZhbHVlLGUubmV4dD10Lm5leHRMb2MsInJldHVybiIhPT1lLm1ldGhvZCYmKGUubWV0aG9kPSJuZXh0IixlLmFyZz12b2lkIDApLGUuZGVsZWdhdGU9bnVsbCxtKTpyOihlLm1ldGhvZD0idGhyb3ciLGUuYXJnPW5ldyBUeXBlRXJyb3IoIml0ZXJhdG9yIHJlc3VsdCBpcyBub3QgYW4gb2JqZWN0IiksZS5kZWxlZ2F0ZT1udWxsLG0pfWZ1bmN0aW9uIEkodCl7dmFyIGU9e3RyeUxvYzp0WzBdfTsxIGluIHQmJihlLmNhdGNoTG9jPXRbMV0pLDIgaW4gdCYmKGUuZmluYWxseUxvYz10WzJdLGUuYWZ0ZXJMb2M9dFszXSksdGhpcy50cnlFbnRyaWVzLnB1c2goZSl9ZnVuY3Rpb24gQyh0KXt2YXIgZT10LmNvbXBsZXRpb258fHt9O2UudHlwZT0ibm9ybWFsIixkZWxldGUgZS5hcmcsdC5jb21wbGV0aW9uPWV9ZnVuY3Rpb24gRSh0KXt0aGlzLnRyeUVudHJpZXM9W3t0cnlMb2M6InJvb3QifV0sdC5mb3JFYWNoKEksdGhpcyksdGhpcy5yZXNldCghMCl9ZnVuY3Rpb24gTyh0KXtpZih0KXt2YXIgZT10W2NdO2lmKGUpcmV0dXJuIGUuY2FsbCh0KTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdC5uZXh0KXJldHVybiB0O2lmKCFpc05hTih0Lmxlbmd0aCkpe3ZhciBuPS0xLG89ZnVuY3Rpb24gZSgpe2Zvcig7KytuPHQubGVuZ3RoOylpZihyLmNhbGwodCxuKSlyZXR1cm4gZS52YWx1ZT10W25dLGUuZG9uZT0hMSxlO3JldHVybiBlLnZhbHVlPXZvaWQgMCxlLmRvbmU9ITAsZX07cmV0dXJuIG8ubmV4dD1vfX1yZXR1cm57bmV4dDpBfX1mdW5jdGlvbiBBKCl7cmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfX1yZXR1cm4gZy5wcm90b3R5cGU9YixhKHcsImNvbnN0cnVjdG9yIix7dmFsdWU6Yixjb25maWd1cmFibGU6ITB9KSxhKGIsImNvbnN0cnVjdG9yIix7dmFsdWU6Zyxjb25maWd1cmFibGU6ITB9KSxnLmRpc3BsYXlOYW1lPXAoYix1LCJHZW5lcmF0b3JGdW5jdGlvbiIpLGUuaXNHZW5lcmF0b3JGdW5jdGlvbj1mdW5jdGlvbih0KXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3RvcjtyZXR1cm4hIWUmJihlPT09Z3x8IkdlbmVyYXRvckZ1bmN0aW9uIj09PShlLmRpc3BsYXlOYW1lfHxlLm5hbWUpKX0sZS5tYXJrPWZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKHQsYik6KHQuX19wcm90b19fPWIscCh0LHUsIkdlbmVyYXRvckZ1bmN0aW9uIikpLHQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodyksdH0sZS5hd3JhcD1mdW5jdGlvbih0KXtyZXR1cm57X19hd2FpdDp0fX0seChrLnByb3RvdHlwZSkscChrLnByb3RvdHlwZSxsLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpLGUuQXN5bmNJdGVyYXRvcj1rLGUuYXN5bmM9ZnVuY3Rpb24odCxuLG8saSxyKXt2b2lkIDA9PT1yJiYocj1Qcm9taXNlKTt2YXIgYT1uZXcgayhkKHQsbixvLGkpLHIpO3JldHVybiBlLmlzR2VuZXJhdG9yRnVuY3Rpb24obik/YTphLm5leHQoKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdC5kb25lP3QudmFsdWU6YS5uZXh0KCl9KSl9LHgodykscCh3LHUsIkdlbmVyYXRvciIpLHAodyxjLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpLHAodywidG9TdHJpbmciLChmdW5jdGlvbigpe3JldHVybiJbb2JqZWN0IEdlbmVyYXRvcl0ifSkpLGUua2V5cz1mdW5jdGlvbih0KXt2YXIgZT1PYmplY3QodCksbj1bXTtmb3IodmFyIG8gaW4gZSluLnB1c2gobyk7cmV0dXJuIG4ucmV2ZXJzZSgpLGZ1bmN0aW9uIHQoKXtmb3IoO24ubGVuZ3RoOyl7dmFyIG89bi5wb3AoKTtpZihvIGluIGUpcmV0dXJuIHQudmFsdWU9byx0LmRvbmU9ITEsdH1yZXR1cm4gdC5kb25lPSEwLHR9fSxlLnZhbHVlcz1PLEUucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpFLHJlc2V0OmZ1bmN0aW9uKHQpe2lmKHRoaXMucHJldj0wLHRoaXMubmV4dD0wLHRoaXMuc2VudD10aGlzLl9zZW50PXZvaWQgMCx0aGlzLmRvbmU9ITEsdGhpcy5kZWxlZ2F0ZT1udWxsLHRoaXMubWV0aG9kPSJuZXh0Iix0aGlzLmFyZz12b2lkIDAsdGhpcy50cnlFbnRyaWVzLmZvckVhY2goQyksIXQpZm9yKHZhciBlIGluIHRoaXMpInQiPT09ZS5jaGFyQXQoMCkmJnIuY2FsbCh0aGlzLGUpJiYhaXNOYU4oK2Uuc2xpY2UoMSkpJiYodGhpc1tlXT12b2lkIDApfSxzdG9wOmZ1bmN0aW9uKCl7dGhpcy5kb25lPSEwO3ZhciB0PXRoaXMudHJ5RW50cmllc1swXS5jb21wbGV0aW9uO2lmKCJ0aHJvdyI9PT10LnR5cGUpdGhyb3cgdC5hcmc7cmV0dXJuIHRoaXMucnZhbH0sZGlzcGF0Y2hFeGNlcHRpb246ZnVuY3Rpb24odCl7aWYodGhpcy5kb25lKXRocm93IHQ7dmFyIGU9dGhpcztmdW5jdGlvbiBuKG4sbyl7cmV0dXJuIGEudHlwZT0idGhyb3ciLGEuYXJnPXQsZS5uZXh0PW4sbyYmKGUubWV0aG9kPSJuZXh0IixlLmFyZz12b2lkIDApLCEhb31mb3IodmFyIG89dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO28+PTA7LS1vKXt2YXIgaT10aGlzLnRyeUVudHJpZXNbb10sYT1pLmNvbXBsZXRpb247aWYoInJvb3QiPT09aS50cnlMb2MpcmV0dXJuIG4oImVuZCIpO2lmKGkudHJ5TG9jPD10aGlzLnByZXYpe3ZhciBzPXIuY2FsbChpLCJjYXRjaExvYyIpLGM9ci5jYWxsKGksImZpbmFsbHlMb2MiKTtpZihzJiZjKXtpZih0aGlzLnByZXY8aS5jYXRjaExvYylyZXR1cm4gbihpLmNhdGNoTG9jLCEwKTtpZih0aGlzLnByZXY8aS5maW5hbGx5TG9jKXJldHVybiBuKGkuZmluYWxseUxvYyl9ZWxzZSBpZihzKXtpZih0aGlzLnByZXY8aS5jYXRjaExvYylyZXR1cm4gbihpLmNhdGNoTG9jLCEwKX1lbHNle2lmKCFjKXRocm93IG5ldyBFcnJvcigidHJ5IHN0YXRlbWVudCB3aXRob3V0IGNhdGNoIG9yIGZpbmFsbHkiKTtpZih0aGlzLnByZXY8aS5maW5hbGx5TG9jKXJldHVybiBuKGkuZmluYWxseUxvYyl9fX19LGFicnVwdDpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7bj49MDstLW4pe3ZhciBvPXRoaXMudHJ5RW50cmllc1tuXTtpZihvLnRyeUxvYzw9dGhpcy5wcmV2JiZyLmNhbGwobywiZmluYWxseUxvYyIpJiZ0aGlzLnByZXY8by5maW5hbGx5TG9jKXt2YXIgaT1vO2JyZWFrfX1pJiYoImJyZWFrIj09PXR8fCJjb250aW51ZSI9PT10KSYmaS50cnlMb2M8PWUmJmU8PWkuZmluYWxseUxvYyYmKGk9bnVsbCk7dmFyIGE9aT9pLmNvbXBsZXRpb246e307cmV0dXJuIGEudHlwZT10LGEuYXJnPWUsaT8odGhpcy5tZXRob2Q9Im5leHQiLHRoaXMubmV4dD1pLmZpbmFsbHlMb2MsbSk6dGhpcy5jb21wbGV0ZShhKX0sY29tcGxldGU6ZnVuY3Rpb24odCxlKXtpZigidGhyb3ciPT09dC50eXBlKXRocm93IHQuYXJnO3JldHVybiJicmVhayI9PT10LnR5cGV8fCJjb250aW51ZSI9PT10LnR5cGU/dGhpcy5uZXh0PXQuYXJnOiJyZXR1cm4iPT09dC50eXBlPyh0aGlzLnJ2YWw9dGhpcy5hcmc9dC5hcmcsdGhpcy5tZXRob2Q9InJldHVybiIsdGhpcy5uZXh0PSJlbmQiKToibm9ybWFsIj09PXQudHlwZSYmZSYmKHRoaXMubmV4dD1lKSxtfSxmaW5pc2g6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtlPj0wOy0tZSl7dmFyIG49dGhpcy50cnlFbnRyaWVzW2VdO2lmKG4uZmluYWxseUxvYz09PXQpcmV0dXJuIHRoaXMuY29tcGxldGUobi5jb21wbGV0aW9uLG4uYWZ0ZXJMb2MpLEMobiksbX19LGNhdGNoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7ZT49MDstLWUpe3ZhciBuPXRoaXMudHJ5RW50cmllc1tlXTtpZihuLnRyeUxvYz09PXQpe3ZhciBvPW4uY29tcGxldGlvbjtpZigidGhyb3ciPT09by50eXBlKXt2YXIgaT1vLmFyZztDKG4pfXJldHVybiBpfX10aHJvdyBuZXcgRXJyb3IoImlsbGVnYWwgY2F0Y2ggYXR0ZW1wdCIpfSxkZWxlZ2F0ZVlpZWxkOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5kZWxlZ2F0ZT17aXRlcmF0b3I6Tyh0KSxyZXN1bHROYW1lOmUsbmV4dExvYzpufSwibmV4dCI9PT10aGlzLm1ldGhvZCYmKHRoaXMuYXJnPXZvaWQgMCksbX19LGV9dC5leHBvcnRzPWksdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSw4Njk4OnQ9PntmdW5jdGlvbiBlKG4pe3JldHVybiB0LmV4cG9ydHM9ZT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgdH0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzLGUobil9dC5leHBvcnRzPWUsdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSw0Njg3Oih0LGUsbik9Pnt2YXIgbz1uKDcwNjEpKCk7dC5leHBvcnRzPW87dHJ5e3JlZ2VuZXJhdG9yUnVudGltZT1vfWNhdGNoKHQpeyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzLnJlZ2VuZXJhdG9yUnVudGltZT1vOkZ1bmN0aW9uKCJyIiwicmVnZW5lcmF0b3JSdW50aW1lID0gciIpKG8pfX0sNTY3MToodCxlLG4pPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8odCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1uLmQoZSx7WjooKT0+b30pfSwzMTQ0Oih0LGUsbik9PnsidXNlIHN0cmljdCI7bi5kKGUse1o6KCk9PnJ9KTt2YXIgbz1uKDkxNDIpO2Z1bmN0aW9uIGkodCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXTtpLmVudW1lcmFibGU9aS5lbnVtZXJhYmxlfHwhMSxpLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gaSYmKGkud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCgwLG8uWikoaS5rZXkpLGkpfX1mdW5jdGlvbiByKHQsZSxuKXtyZXR1cm4gZSYmaSh0LnByb3RvdHlwZSxlKSxuJiZpKHQsbiksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInByb3RvdHlwZSIse3dyaXRhYmxlOiExfSksdH19LDExMjA6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKHQpe3JldHVybiBvPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3QuZ2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKHQpe3JldHVybiB0Ll9fcHJvdG9fX3x8T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpfSxvKHQpfW4uZChlLHtaOigpPT5vfSl9LDkzNDA6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKHQsZSl7cmV0dXJuIG89T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5fX3Byb3RvX189ZSx0fSxvKHQsZSl9ZnVuY3Rpb24gaSh0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT09ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiIpO3QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxlJiZvKHQsZSl9bi5kKGUse1o6KCk9Pml9KX0sMzkzMDoodCxlLG4pPT57InVzZSBzdHJpY3QiO24uZChlLHtaOigpPT5pfSk7dmFyIG89bigxMDAyKTtmdW5jdGlvbiBpKHQsZSl7aWYoZSYmKCJvYmplY3QiPT09KDAsby5aKShlKXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpKXJldHVybiBlO2lmKHZvaWQgMCE9PWUpdGhyb3cgbmV3IFR5cGVFcnJvcigiRGVyaXZlZCBjb25zdHJ1Y3RvcnMgbWF5IG9ubHkgcmV0dXJuIG9iamVjdCBvciB1bmRlZmluZWQiKTtyZXR1cm4gZnVuY3Rpb24odCl7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZCIpO3JldHVybiB0fSh0KX19LDU3ODU6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciBuPTAsbz1uZXcgQXJyYXkoZSk7bjxlO24rKylvW25dPXRbbl07cmV0dXJuIG99ZnVuY3Rpb24gaSh0KXtyZXR1cm4gZnVuY3Rpb24odCl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gbyh0KX0odCl8fGZ1bmN0aW9uKHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZudWxsIT10W1N5bWJvbC5pdGVyYXRvcl18fG51bGwhPXRbIkBAaXRlcmF0b3IiXSlyZXR1cm4gQXJyYXkuZnJvbSh0KX0odCl8fGZ1bmN0aW9uKHQsZSl7aWYodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBvKHQsZSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpO3JldHVybiJPYmplY3QiPT09biYmdC5jb25zdHJ1Y3RvciYmKG49dC5jb25zdHJ1Y3Rvci5uYW1lKSwiTWFwIj09PW58fCJTZXQiPT09bj9BcnJheS5mcm9tKHQpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/byh0LGUpOnZvaWQgMH19KHQpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfW4uZChlLHtaOigpPT5pfSl9LDkxNDI6KHQsZSxuKT0+eyJ1c2Ugc3RyaWN0IjtuLmQoZSx7WjooKT0+aX0pO3ZhciBvPW4oMTAwMik7ZnVuY3Rpb24gaSh0KXt2YXIgZT1mdW5jdGlvbih0LGUpe2lmKCJvYmplY3QiIT09KDAsby5aKSh0KXx8bnVsbD09PXQpcmV0dXJuIHQ7dmFyIG49dFtTeW1ib2wudG9QcmltaXRpdmVdO2lmKHZvaWQgMCE9PW4pe3ZhciBpPW4uY2FsbCh0LCJzdHJpbmciKTtpZigib2JqZWN0IiE9PSgwLG8uWikoaSkpcmV0dXJuIGk7dGhyb3cgbmV3IFR5cGVFcnJvcigiQEB0b1ByaW1pdGl2ZSBtdXN0IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZS4iKX1yZXR1cm4gU3RyaW5nKHQpfSh0KTtyZXR1cm4ic3ltYm9sIj09PSgwLG8uWikoZSk/ZTpTdHJpbmcoZSl9fSwxMDAyOih0LGUsbik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gbz0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgdH0sbyh0KX1uLmQoZSx7WjooKT0+b30pfX0sX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fPXt9O2Z1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18odCl7dmFyIGU9X193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW3RdO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGUuZXhwb3J0czt2YXIgbj1fX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bdF09e2lkOnQsZXhwb3J0czp7fX07cmV0dXJuIF9fd2VicGFja19tb2R1bGVzX19bdF0obixuLmV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyksbi5leHBvcnRzfV9fd2VicGFja19yZXF1aXJlX18ubj10PT57dmFyIGU9dCYmdC5fX2VzTW9kdWxlPygpPT50LmRlZmF1bHQ6KCk9PnQ7cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18uZChlLHthOmV9KSxlfSxfX3dlYnBhY2tfcmVxdWlyZV9fLmQ9KHQsZSk9Pntmb3IodmFyIG4gaW4gZSlfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZSxuKSYmIV9fd2VicGFja19yZXF1aXJlX18ubyh0LG4pJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxuLHtlbnVtZXJhYmxlOiEwLGdldDplW25dfSl9LF9fd2VicGFja19yZXF1aXJlX18ubz0odCxlKT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSksX193ZWJwYWNrX3JlcXVpcmVfXy5uYz12b2lkIDA7dmFyIF9fd2VicGFja19leHBvcnRzX189e307KCgpPT57InVzZSBzdHJpY3QiO3ZhciB0PV9fd2VicGFja19yZXF1aXJlX18oMzM3OSksZT1fX3dlYnBhY2tfcmVxdWlyZV9fLm4odCksbj1fX3dlYnBhY2tfcmVxdWlyZV9fKDc3OTUpLG89X193ZWJwYWNrX3JlcXVpcmVfXy5uKG4pLGk9X193ZWJwYWNrX3JlcXVpcmVfXyg1NjkpLHI9X193ZWJwYWNrX3JlcXVpcmVfXy5uKGkpLGE9X193ZWJwYWNrX3JlcXVpcmVfXygzNTY1KSxzPV9fd2VicGFja19yZXF1aXJlX18ubihhKSxjPV9fd2VicGFja19yZXF1aXJlX18oOTIxNiksbD1fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYyksdT1fX3dlYnBhY2tfcmVxdWlyZV9fKDQ1ODkpLHA9X193ZWJwYWNrX3JlcXVpcmVfXy5uKHUpLGQ9X193ZWJwYWNrX3JlcXVpcmVfXyg3NzkpLGg9e307aC5zdHlsZVRhZ1RyYW5zZm9ybT1wKCksaC5zZXRBdHRyaWJ1dGVzPXMoKSxoLmluc2VydD1yKCkuYmluZChudWxsLCJoZWFkIiksaC5kb21BUEk9bygpLGguaW5zZXJ0U3R5bGVFbGVtZW50PWwoKSxlKCkoZC5aLGgpLGQuWiYmZC5aLmxvY2FscyYmZC5aLmxvY2FscyxfX3dlYnBhY2tfcmVxdWlyZV9fKDM1NDIpO3ZhciBtPV9fd2VicGFja19yZXF1aXJlX18oOTk5NyksZj17fTt3aW5kb3cuSW1hZ2VNYXBQcm8uc3Vic2NyaWJlPWZ1bmN0aW9uKHQpe3ZhciBlPSgwLG0uayQpKCk7cmV0dXJuIGZbZV09dCxlfSx3aW5kb3cuSW1hZ2VNYXBQcm8udW5zdWJzY3JpYmU9ZnVuY3Rpb24odCl7ZGVsZXRlIGZbdF19LHdpbmRvdy5JbWFnZU1hcFByby50cmlnZ2VyPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiBmKWZbZV0odCl9O3ZhciBnPV9fd2VicGFja19yZXF1aXJlX18oNDk1NyksYj12b2lkIDA7ZnVuY3Rpb24gdih0LGUsbixvLGkscixhKXt0cnl7dmFyIHM9dFtyXShhKSxjPXMudmFsdWV9Y2F0Y2godCl7cmV0dXJuIHZvaWQgbih0KX1zLmRvbmU/ZShjKTpQcm9taXNlLnJlc29sdmUoYykudGhlbihvLGkpfWZ1bmN0aW9uIHkodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPWFyZ3VtZW50cztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG8saSl7dmFyIHI9dC5hcHBseShlLG4pO2Z1bmN0aW9uIGEodCl7dihyLG8saSxhLHMsIm5leHQiLHQpfWZ1bmN0aW9uIHModCl7dihyLG8saSxhLHMsInRocm93Iix0KX1hKHZvaWQgMCl9KSl9fXdpbmRvdy5JbWFnZU1hcFByby5zdWJzY3JpYmUoKGZ1bmN0aW9uKHQpe3RyeXt2YXIgZT13aW5kb3cualF1ZXJ5fHx3aW5kb3cuJHx8JHx8alF1ZXJ5fWNhdGNoKHQpe312YXIgbixvLGkscixhLHMsYztlJiYodC50eXBlPT1nLkhXJiYobnVsbD09PShuPWUuaW1hZ2VNYXBQcm9Jbml0aWFsaXplZCl8fHZvaWQgMD09PW58fG4uY2FsbChiLHQucGF5bG9hZC5tYXApKSx0LnR5cGU9PWcuWTcmJihudWxsPT09KG89ZS5pbWFnZU1hcFByb0V2ZW50SGlnaGxpZ2h0ZWRTaGFwZSl8fHZvaWQgMD09PW98fG8uY2FsbChiLHQucGF5bG9hZC5tYXAsdC5wYXlsb2FkLm9iamVjdCkpLHQudHlwZT09Zy5KQSYmKG51bGw9PT0oaT1lLmltYWdlTWFwUHJvRXZlbnRVbmhpZ2hsaWdodGVkU2hhcGUpfHx2b2lkIDA9PT1pfHxpLmNhbGwoYix0LnBheWxvYWQubWFwLHQucGF5bG9hZC5vYmplY3QpKSx0LnR5cGU9PWcueDQmJihudWxsPT09KHI9ZS5pbWFnZU1hcFByb0V2ZW50Q2xpY2tlZFNoYXBlKXx8dm9pZCAwPT09cnx8ci5jYWxsKGIsdC5wYXlsb2FkLm1hcCx0LnBheWxvYWQub2JqZWN0KSksdC50eXBlPT1nLmx5JiYobnVsbD09PShhPWUuaW1hZ2VNYXBQcm9FdmVudE9wZW5lZFRvb2x0aXApfHx2b2lkIDA9PT1hfHxhLmNhbGwoYix0LnBheWxvYWQubWFwLHQucGF5bG9hZC5vYmplY3QpKSx0LnR5cGU9PWcueF8mJihudWxsPT09KHM9ZS5pbWFnZU1hcFByb0V2ZW50Q2xvc2VkVG9vbHRpcCl8fHZvaWQgMD09PXN8fHMuY2FsbChiLHQucGF5bG9hZC5tYXAsdC5wYXlsb2FkLm9iamVjdCkpLHQudHlwZT09Zy5TMyYmKG51bGw9PT0oYz1lLmltYWdlTWFwUHJvRXZlbnRTd2l0Y2hlZEZsb29yKXx8dm9pZCAwPT09Y3x8Yy5jYWxsKGIsdC5wYXlsb2FkLm1hcCx0LnBheWxvYWQubGF5ZXIpKSl9KSk7dmFyIF89X193ZWJwYWNrX3JlcXVpcmVfXyg0Njg3KSx3PV9fd2VicGFja19yZXF1aXJlX18ubihfKTtmdW5jdGlvbiB4KHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciBuPTAsbz1uZXcgQXJyYXkoZSk7bjxlO24rKylvW25dPXRbbl07cmV0dXJuIG99dmFyIGs9W107ZnVuY3Rpb24gaih0KXt2YXIgZT1rLmxlbmd0aDtrLnVuc2hpZnQodCksMD09PWUmJk0oKX1mdW5jdGlvbiBNKCl7cmV0dXJuIEkuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIEkoKXtyZXR1cm4oST15KHcoKS5tYXJrKChmdW5jdGlvbiB0KCl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsa1trLmxlbmd0aC0xXS5hY3Rpb24oKTtjYXNlIDI6ay5wb3AoKSxrLmxlbmd0aD4wJiYoQygpLE0oKSk7Y2FzZSA0OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gQygpe2lmKGsubGVuZ3RoPjIpe3ZhciB0LGU9e30sbj1mdW5jdGlvbih0LGUpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl18fHRbIkBAaXRlcmF0b3IiXTtpZighbil7aWYoQXJyYXkuaXNBcnJheSh0KXx8KG49ZnVuY3Rpb24odCxlKXtpZih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIHgodCxlKTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1uJiZ0LmNvbnN0cnVjdG9yJiYobj10LmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09bnx8IlNldCI9PT1uP0FycmF5LmZyb20odCk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT94KHQsZSk6dm9pZCAwfX0odCkpfHxlJiZ0JiYibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXtuJiYodD1uKTt2YXIgbz0wLGk9ZnVuY3Rpb24oKXt9O3JldHVybntzOmksbjpmdW5jdGlvbigpe3JldHVybiBvPj10Lmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6dFtvKytdfX0sZTpmdW5jdGlvbih0KXt0aHJvdyB0fSxmOml9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgcixhPSEwLHM9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtuPW4uY2FsbCh0KX0sbjpmdW5jdGlvbigpe3ZhciB0PW4ubmV4dCgpO3JldHVybiBhPXQuZG9uZSx0fSxlOmZ1bmN0aW9uKHQpe3M9ITAscj10fSxmOmZ1bmN0aW9uKCl7dHJ5e2F8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyByfX19fShrKTt0cnl7Zm9yKG4ucygpOyEodD1uLm4oKSkuZG9uZTspe3ZhciBvPXQudmFsdWU7ZVtvLm5hbWVdPW99fWNhdGNoKHQpe24uZSh0KX1maW5hbGx5e24uZigpfWZvcih2YXIgaSBpbiBrPVtdLGUpay5wdXNoKGVbaV0pfX1mdW5jdGlvbiBFKHQpe3JldHVybiBPLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBPKCl7cmV0dXJuIE89eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXt2YXIgbixvLGkscixhO3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYobj10aGlzLmRhdGFzZXQuaW1wSGlnaGxpZ2h0T2JqZWN0T25Nb3VzZW92ZXIsbz10aGlzLmRhdGFzZXQuaW1wSW1hZ2VNYXBOYW1lLGk9SW1hZ2VNYXBQcm8uaW5zdGFuY2VzW29dfHxJbWFnZU1hcFByby5pbnN0YW5jZXNbT2JqZWN0LmtleXMoSW1hZ2VNYXBQcm8uaW5zdGFuY2VzKVswXV0pe3QubmV4dD01O2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSA1OmlmKHI9aS5zdG9yZS5nZXRPYmplY3RCeVRpdGxlKHt0aXRsZTpufSkpe3QubmV4dD04O2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSA4OmlmKGE9aS5zdG9yZS5nZXRBcnRib2FyZElkRm9yT2JqZWN0KHtpZDpyLmlkfSkpe3QubmV4dD0xMTticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgMTE6cmV0dXJuIHQubmV4dD0xMyxpLnN0b3JlLmRpc3BhdGNoKCJjaGFuZ2VBcnRib2FyZCIse2FydGJvYXJkSWQ6YSx6b29tT3V0OiEwfSk7Y2FzZSAxMzpqKHtuYW1lOiJoaWdobGlnaHRPYmplY3QiLGFjdGlvbjpmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0LmFicnVwdCgicmV0dXJuIixuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsaS5zdG9yZS5kaXNwYXRjaCgiaGlnaGxpZ2h0T2JqZWN0Iix7b2JqZWN0SWQ6ci5pZCxzaG93VG9vbHRpcDohMSxoaWRlQWxsVG9vbHRpcHM6ITF9KTtjYXNlIDI6ZSgpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSkpO2Nhc2UgMTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSk7Y2FzZSAxNDpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpLE8uYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIEEoKXtyZXR1cm4gUC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gUCgpe3JldHVybiBQPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXt2YXIgZSxuO3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYoZT10aGlzLmRhdGFzZXQuaW1wSW1hZ2VNYXBOYW1lLG49SW1hZ2VNYXBQcm8uaW5zdGFuY2VzW2VdfHxJbWFnZU1hcFByby5pbnN0YW5jZXNbT2JqZWN0LmtleXMoSW1hZ2VNYXBQcm8uaW5zdGFuY2VzKVswXV0pe3QubmV4dD00O2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSA0Omooe25hbWU6InVuaGlnaGxpZ2h0QWxsT2JqZWN0cyIsYWN0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdCgpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0Lm5leHQ9MixuLnN0b3JlLmRpc3BhdGNoKCJ1bmhpZ2hsaWdodEFsbE9iamVjdHMiKTtjYXNlIDI6ZSgpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSkpO2Nhc2UgMTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSk7Y2FzZSA1OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSksUC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gVCh0KXtyZXR1cm4gei5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24geigpe3JldHVybiB6PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7dmFyIG4sbyxpLHIsYTtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKG49dGhpcy5kYXRhc2V0LmltcFVuaGlnaGxpZ2h0T2JqZWN0T25Nb3VzZW92ZXIsbz10aGlzLmRhdGFzZXQuaW1wSW1hZ2VNYXBOYW1lLGk9SW1hZ2VNYXBQcm8uaW5zdGFuY2VzW29dfHxJbWFnZU1hcFByby5pbnN0YW5jZXNbT2JqZWN0LmtleXMoSW1hZ2VNYXBQcm8uaW5zdGFuY2VzKVswXV0pe3QubmV4dD01O2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSA1OmlmKHI9aS5zdG9yZS5nZXRPYmplY3RCeVRpdGxlKHt0aXRsZTpufSkpe3QubmV4dD04O2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSA4OmlmKGE9aS5zdG9yZS5nZXRBcnRib2FyZElkRm9yT2JqZWN0KHtpZDpyLmlkfSkpe3QubmV4dD0xMTticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgMTE6cmV0dXJuIHQubmV4dD0xMyxpLnN0b3JlLmRpc3BhdGNoKCJjaGFuZ2VBcnRib2FyZCIse2FydGJvYXJkSWQ6YSx6b29tT3V0OiEwfSk7Y2FzZSAxMzpqKHtuYW1lOiJoaWdobGlnaHRPYmplY3QiLGFjdGlvbjpmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0LmFicnVwdCgicmV0dXJuIixuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsaS5zdG9yZS5kaXNwYXRjaCgidW5oaWdobGlnaHRPYmplY3QiLHtvYmplY3RJZDpyLmlkfSk7Y2FzZSAyOmUoKTtjYXNlIDM6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpKTtjYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0pO2Nhc2UgMTQ6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKSx6LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBTKHQpe3JldHVybiBaLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBaKCl7cmV0dXJuIFo9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXt2YXIgbixvLGkscixhO3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYobj10aGlzLmRhdGFzZXQuaW1wSGlnaGxpZ2h0T2JqZWN0T25DbGljayxvPXRoaXMuZGF0YXNldC5pbXBJbWFnZU1hcE5hbWUsaT1JbWFnZU1hcFByby5pbnN0YW5jZXNbb118fEltYWdlTWFwUHJvLmluc3RhbmNlc1tPYmplY3Qua2V5cyhJbWFnZU1hcFByby5pbnN0YW5jZXMpWzBdXSl7dC5uZXh0PTU7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDU6aWYocj1pLnN0b3JlLmdldE9iamVjdEJ5VGl0bGUoe3RpdGxlOm59KSl7dC5uZXh0PTg7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDg6aWYoYT1pLnN0b3JlLmdldEFydGJvYXJkSWRGb3JPYmplY3Qoe2lkOnIuaWR9KSl7dC5uZXh0PTExO2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSAxMTpyZXR1cm4gdC5uZXh0PTEzLGkuc3RvcmUuZGlzcGF0Y2goImNoYW5nZUFydGJvYXJkIix7YXJ0Ym9hcmRJZDphLHpvb21PdXQ6ITB9KTtjYXNlIDEzOmooe25hbWU6ImhpZ2hsaWdodE9iamVjdCIsYWN0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdCgpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0Lm5leHQ9MixpLnN0b3JlLmRpc3BhdGNoKCJoaWdobGlnaHRPYmplY3QiLHtvYmplY3RJZDpyLmlkLHNob3dUb29sdGlwOiExLGhpZGVBbGxUb29sdGlwczohMX0pO2Nhc2UgMjplKCk7Y2FzZSAzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKSk7Y2FzZSAxOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9KTtjYXNlIDE0OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSksWi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gTCh0KXtyZXR1cm4gUi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gUigpe3JldHVybiBSPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7dmFyIG4sbyxpLHIsYTtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKG49dGhpcy5kYXRhc2V0LmltcFVuaGlnaGxpZ2h0T2JqZWN0T25DbGljayxvPXRoaXMuZGF0YXNldC5pbXBJbWFnZU1hcE5hbWUsaT1JbWFnZU1hcFByby5pbnN0YW5jZXNbb118fEltYWdlTWFwUHJvLmluc3RhbmNlc1tPYmplY3Qua2V5cyhJbWFnZU1hcFByby5pbnN0YW5jZXMpWzBdXSl7dC5uZXh0PTU7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDU6aWYocj1pLnN0b3JlLmdldE9iamVjdEJ5VGl0bGUoe3RpdGxlOm59KSl7dC5uZXh0PTg7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDg6aWYoYT1pLnN0b3JlLmdldEFydGJvYXJkSWRGb3JPYmplY3Qoe2lkOnIuaWR9KSl7dC5uZXh0PTExO2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSAxMTpyZXR1cm4gdC5uZXh0PTEzLGkuc3RvcmUuZGlzcGF0Y2goImNoYW5nZUFydGJvYXJkIix7YXJ0Ym9hcmRJZDphLHpvb21PdXQ6ITB9KTtjYXNlIDEzOmooe25hbWU6InVuaGlnaGxpZ2h0T2JqZWN0IixhY3Rpb246ZnVuY3Rpb24oKXt2YXIgdD15KHcoKS5tYXJrKChmdW5jdGlvbiB0KCl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsbmV3IFByb21pc2UoZnVuY3Rpb24oKXt2YXIgdD15KHcoKS5tYXJrKChmdW5jdGlvbiB0KGUpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQubmV4dD0yLGkuc3RvcmUuZGlzcGF0Y2goInVuaGlnaGxpZ2h0T2JqZWN0Iix7b2JqZWN0SWQ6ci5pZH0pO2Nhc2UgMjplKCk7Y2FzZSAzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKSk7Y2FzZSAxOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9KTtjYXNlIDE0OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSksUi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gVSh0KXtyZXR1cm4gQi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gQigpe3JldHVybiBCPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7dmFyIG4sbyxpLHIsYTtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKG49dGhpcy5kYXRhc2V0LmltcFNob3dUb29sdGlwT25Nb3VzZW92ZXIsbz10aGlzLmRhdGFzZXQuaW1wSW1hZ2VNYXBOYW1lLGk9SW1hZ2VNYXBQcm8uaW5zdGFuY2VzW29dfHxJbWFnZU1hcFByby5pbnN0YW5jZXNbT2JqZWN0LmtleXMoSW1hZ2VNYXBQcm8uaW5zdGFuY2VzKVswXV0pe3QubmV4dD01O2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSA1OmlmKHI9aS5zdG9yZS5nZXRPYmplY3RCeVRpdGxlKHt0aXRsZTpufSkpe3QubmV4dD04O2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSA4OmlmKGE9aS5zdG9yZS5nZXRBcnRib2FyZElkRm9yT2JqZWN0KHtpZDpyLmlkfSkpe3QubmV4dD0xMTticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgMTE6cmV0dXJuIHQubmV4dD0xMyxpLnN0b3JlLmRpc3BhdGNoKCJjaGFuZ2VBcnRib2FyZCIse2FydGJvYXJkSWQ6YSx6b29tT3V0OiEwfSk7Y2FzZSAxMzpqKHtuYW1lOiJzaG93VG9vbHRpcCIsYWN0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdCgpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0Lm5leHQ9MixpLnN0b3JlLmRpc3BhdGNoKCJzaG93VG9vbHRpcCIse29iamVjdElkOnIuaWR9KTtjYXNlIDI6ZSgpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSkpO2Nhc2UgMTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSk7Y2FzZSAxNDpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpLEIuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIEYoKXtyZXR1cm4gRC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gRCgpe3JldHVybiBEPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXt2YXIgZSxuO3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYoZT10aGlzLmRhdGFzZXQuaW1wU2hvd1Rvb2x0aXBPbk1vdXNlb3ZlcixuPUltYWdlTWFwUHJvLmluc3RhbmNlc1tlXXx8SW1hZ2VNYXBQcm8uaW5zdGFuY2VzW09iamVjdC5rZXlzKEltYWdlTWFwUHJvLmluc3RhbmNlcylbMF1dKXt0Lm5leHQ9NDticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgNDpqKHtuYW1lOiJoaWRlQWxsVG9vbHRpcHMiLGFjdGlvbjpmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0LmFicnVwdCgicmV0dXJuIixuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsbi5zdG9yZS5kaXNwYXRjaCgiaGlkZUFsbFRvb2x0aXBzIik7Y2FzZSAyOmUoKTtjYXNlIDM6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpKTtjYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0pO2Nhc2UgNTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpLEQuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIFcodCl7cmV0dXJuIHEuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIHEoKXtyZXR1cm4gcT15KHcoKS5tYXJrKChmdW5jdGlvbiB0KGUpe3ZhciBuLG8saSxyLGE7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZihuPXRoaXMuZGF0YXNldC5pbXBIaWRlVG9vbHRpcE9uTW91c2VvdmVyLG89dGhpcy5kYXRhc2V0LmltcEltYWdlTWFwTmFtZSxpPUltYWdlTWFwUHJvLmluc3RhbmNlc1tvXXx8SW1hZ2VNYXBQcm8uaW5zdGFuY2VzW09iamVjdC5rZXlzKEltYWdlTWFwUHJvLmluc3RhbmNlcylbMF1dKXt0Lm5leHQ9NTticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgNTppZihyPWkuc3RvcmUuZ2V0T2JqZWN0QnlUaXRsZSh7dGl0bGU6bn0pKXt0Lm5leHQ9ODticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgODppZihhPWkuc3RvcmUuZ2V0QXJ0Ym9hcmRJZEZvck9iamVjdCh7aWQ6ci5pZH0pKXt0Lm5leHQ9MTE7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDExOnJldHVybiB0Lm5leHQ9MTMsaS5zdG9yZS5kaXNwYXRjaCgiY2hhbmdlQXJ0Ym9hcmQiLHthcnRib2FyZElkOmEsem9vbU91dDohMH0pO2Nhc2UgMTM6aih7bmFtZToiaGlkZVRvb2x0aXAiLGFjdGlvbjpmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0LmFicnVwdCgicmV0dXJuIixuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsaS5zdG9yZS5kaXNwYXRjaCgiaGlkZVRvb2x0aXAiLHtvYmplY3RJZDpyLmlkfSk7Y2FzZSAyOmUoKTtjYXNlIDM6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpKTtjYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0pO2Nhc2UgMTQ6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKSxxLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBIKHQpe3JldHVybiBZLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBZKCl7cmV0dXJuIFk9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXt2YXIgbixvLGkscixhO3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYobj10aGlzLmRhdGFzZXQuaW1wU2hvd1Rvb2x0aXBPbkNsaWNrLG89dGhpcy5kYXRhc2V0LmltcEltYWdlTWFwTmFtZSxpPUltYWdlTWFwUHJvLmluc3RhbmNlc1tvXXx8SW1hZ2VNYXBQcm8uaW5zdGFuY2VzW09iamVjdC5rZXlzKEltYWdlTWFwUHJvLmluc3RhbmNlcylbMF1dKXt0Lm5leHQ9NTticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgNTppZihyPWkuc3RvcmUuZ2V0T2JqZWN0QnlUaXRsZSh7dGl0bGU6bn0pKXt0Lm5leHQ9ODticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgODppZihhPWkuc3RvcmUuZ2V0QXJ0Ym9hcmRJZEZvck9iamVjdCh7aWQ6ci5pZH0pKXt0Lm5leHQ9MTE7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDExOnJldHVybiB0Lm5leHQ9MTMsaS5zdG9yZS5kaXNwYXRjaCgiY2hhbmdlQXJ0Ym9hcmQiLHthcnRib2FyZElkOmEsem9vbU91dDohMH0pO2Nhc2UgMTM6aih7bmFtZToic2hvd1Rvb2x0aXAiLGFjdGlvbjpmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0LmFicnVwdCgicmV0dXJuIixuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsaS5zdG9yZS5kaXNwYXRjaCgic2hvd1Rvb2x0aXAiLHtvYmplY3RJZDpyLmlkLHNob3dUb29sdGlwOiExLGhpZGVBbGxUb29sdGlwczohMX0pO2Nhc2UgMjplKCk7Y2FzZSAzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKSk7Y2FzZSAxOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9KTtjYXNlIDE0OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSksWS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gTih0KXtyZXR1cm4gWC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gWCgpe3JldHVybiBYPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7dmFyIG4sbyxpLHIsYTtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKG49dGhpcy5kYXRhc2V0LmltcEhpZGVUb29sdGlwT25DbGljayxvPXRoaXMuZGF0YXNldC5pbXBJbWFnZU1hcE5hbWUsaT1JbWFnZU1hcFByby5pbnN0YW5jZXNbb118fEltYWdlTWFwUHJvLmluc3RhbmNlc1tPYmplY3Qua2V5cyhJbWFnZU1hcFByby5pbnN0YW5jZXMpWzBdXSl7dC5uZXh0PTU7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDU6aWYocj1pLnN0b3JlLmdldE9iamVjdEJ5VGl0bGUoe3RpdGxlOm59KSl7dC5uZXh0PTg7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDg6aWYoYT1pLnN0b3JlLmdldEFydGJvYXJkSWRGb3JPYmplY3Qoe2lkOnIuaWR9KSl7dC5uZXh0PTExO2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSAxMTpyZXR1cm4gdC5uZXh0PTEzLGkuc3RvcmUuZGlzcGF0Y2goImNoYW5nZUFydGJvYXJkIix7YXJ0Ym9hcmRJZDphLHpvb21PdXQ6ITB9KTtjYXNlIDEzOmooe25hbWU6ImhpZGVUb29sdGlwIixhY3Rpb246ZnVuY3Rpb24oKXt2YXIgdD15KHcoKS5tYXJrKChmdW5jdGlvbiB0KCl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsbmV3IFByb21pc2UoZnVuY3Rpb24oKXt2YXIgdD15KHcoKS5tYXJrKChmdW5jdGlvbiB0KGUpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQubmV4dD0yLGkuc3RvcmUuZGlzcGF0Y2goImhpZGVUb29sdGlwIix7b2JqZWN0SWQ6ci5pZH0pO2Nhc2UgMjplKCk7Y2FzZSAzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKSk7Y2FzZSAxOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9KTtjYXNlIDE0OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSksWC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gSyh0KXtyZXR1cm4gVi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gVigpe3JldHVybiBWPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7dmFyIG4sbyxpLHIsYTtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKG49dGhpcy5kYXRhc2V0LmltcFRyaWdnZXJPYmplY3RPbk1vdXNlb3ZlcixvPXRoaXMuZGF0YXNldC5pbXBJbWFnZU1hcE5hbWUsaT1JbWFnZU1hcFByby5pbnN0YW5jZXNbb118fEltYWdlTWFwUHJvLmluc3RhbmNlc1tPYmplY3Qua2V5cyhJbWFnZU1hcFByby5pbnN0YW5jZXMpWzBdXSl7dC5uZXh0PTU7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDU6aWYocj1pLnN0b3JlLmdldE9iamVjdEJ5VGl0bGUoe3RpdGxlOm59KSl7dC5uZXh0PTg7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDg6aWYoYT1pLnN0b3JlLmdldEFydGJvYXJkSWRGb3JPYmplY3Qoe2lkOnIuaWR9KSl7dC5uZXh0PTExO2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSAxMTpyZXR1cm4gdC5uZXh0PTEzLGkuc3RvcmUuZGlzcGF0Y2goImNoYW5nZUFydGJvYXJkIix7YXJ0Ym9hcmRJZDphLHpvb21PdXQ6ITB9KTtjYXNlIDEzOmooe25hbWU6ImhpZ2hsaWdodE9iamVjdCIsYWN0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdCgpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0Lm5leHQ9MixpLnN0b3JlLmRpc3BhdGNoKCJoaWdobGlnaHRPYmplY3QiLHtvYmplY3RJZDpyLmlkLHNob3dUb29sdGlwOiEwLGhpZGVBbGxUb29sdGlwczohMX0pO2Nhc2UgMjplKCk7Y2FzZSAzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKSk7Y2FzZSAxOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9KTtjYXNlIDE0OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSksVi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gRygpe3JldHVybiBKLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBKKCl7cmV0dXJuIEo9eSh3KCkubWFyaygoZnVuY3Rpb24gdCgpe3ZhciBlLG47cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZihlPXRoaXMuZGF0YXNldC5pbXBJbWFnZU1hcE5hbWUsbj1JbWFnZU1hcFByby5pbnN0YW5jZXNbZV18fEltYWdlTWFwUHJvLmluc3RhbmNlc1tPYmplY3Qua2V5cyhJbWFnZU1hcFByby5pbnN0YW5jZXMpWzBdXSl7dC5uZXh0PTQ7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDQ6aih7bmFtZToidW5oaWdobGlnaHRBbGxPYmplY3RzIixhY3Rpb246ZnVuY3Rpb24oKXt2YXIgdD15KHcoKS5tYXJrKChmdW5jdGlvbiB0KCl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsbmV3IFByb21pc2UoZnVuY3Rpb24oKXt2YXIgdD15KHcoKS5tYXJrKChmdW5jdGlvbiB0KGUpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQubmV4dD0yLG4uc3RvcmUuZGlzcGF0Y2goInVuaGlnaGxpZ2h0QWxsT2JqZWN0cyIpO2Nhc2UgMjplKCk7Y2FzZSAzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKSk7Y2FzZSAxOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9KTtjYXNlIDU6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKSxKLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBRKHQpe3JldHVybiB0dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gdHQoKXtyZXR1cm4gdHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXt2YXIgbixvLGkscixhO3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYobj10aGlzLmRhdGFzZXQuaW1wVW50cmlnZ2VyT2JqZWN0T25Nb3VzZW92ZXIsbz10aGlzLmRhdGFzZXQuaW1wSW1hZ2VNYXBOYW1lLGk9SW1hZ2VNYXBQcm8uaW5zdGFuY2VzW29dfHxJbWFnZU1hcFByby5pbnN0YW5jZXNbT2JqZWN0LmtleXMoSW1hZ2VNYXBQcm8uaW5zdGFuY2VzKVswXV0pe3QubmV4dD01O2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSA1OmlmKHI9aS5zdG9yZS5nZXRPYmplY3RCeVRpdGxlKHt0aXRsZTpufSkpe3QubmV4dD04O2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSA4OmlmKGE9aS5zdG9yZS5nZXRBcnRib2FyZElkRm9yT2JqZWN0KHtpZDpyLmlkfSkpe3QubmV4dD0xMTticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgMTE6cmV0dXJuIHQubmV4dD0xMyxpLnN0b3JlLmRpc3BhdGNoKCJjaGFuZ2VBcnRib2FyZCIse2FydGJvYXJkSWQ6YSx6b29tT3V0OiEwfSk7Y2FzZSAxMzpqKHtuYW1lOiJoaWdobGlnaHRPYmplY3QiLGFjdGlvbjpmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0LmFicnVwdCgicmV0dXJuIixuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsaS5zdG9yZS5kaXNwYXRjaCgidW5oaWdobGlnaHRPYmplY3QiLHtvYmplY3RJZDpyLmlkfSk7Y2FzZSAyOmUoKTtjYXNlIDM6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpKTtjYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0pO2Nhc2UgMTQ6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKSx0dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gZXQodCl7cmV0dXJuIG50LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBudCgpe3JldHVybiBudD15KHcoKS5tYXJrKChmdW5jdGlvbiB0KGUpe3ZhciBuLG8saSxyLGE7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZihuPXRoaXMuZGF0YXNldC5pbXBUcmlnZ2VyT2JqZWN0T25DbGljayxvPXRoaXMuZGF0YXNldC5pbXBJbWFnZU1hcE5hbWUsaT1JbWFnZU1hcFByby5pbnN0YW5jZXNbb118fEltYWdlTWFwUHJvLmluc3RhbmNlc1tPYmplY3Qua2V5cyhJbWFnZU1hcFByby5pbnN0YW5jZXMpWzBdXSl7dC5uZXh0PTU7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDU6aWYocj1pLnN0b3JlLmdldE9iamVjdEJ5VGl0bGUoe3RpdGxlOm59KSl7dC5uZXh0PTg7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDg6aWYoYT1pLnN0b3JlLmdldEFydGJvYXJkSWRGb3JPYmplY3Qoe2lkOnIuaWR9KSl7dC5uZXh0PTExO2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSAxMTpyZXR1cm4gdC5uZXh0PTEzLGkuc3RvcmUuZGlzcGF0Y2goImNoYW5nZUFydGJvYXJkIix7YXJ0Ym9hcmRJZDphLHpvb21PdXQ6ITB9KTtjYXNlIDEzOmooe25hbWU6ImhpZ2hsaWdodE9iamVjdCIsYWN0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdCgpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0Lm5leHQ9MixpLnN0b3JlLmRpc3BhdGNoKCJoaWdobGlnaHRPYmplY3QiLHtvYmplY3RJZDpyLmlkLHNob3dUb29sdGlwOiEwLGhpZGVBbGxUb29sdGlwczohMX0pO2Nhc2UgMjplKCk7Y2FzZSAzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKSk7Y2FzZSAxOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9KTtjYXNlIDE0OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSksbnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIG90KHQpe3JldHVybiBpdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gaXQoKXtyZXR1cm4gaXQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXt2YXIgbixvLGkscixhO3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYobj10aGlzLmRhdGFzZXQuaW1wVW50cmlnZ2VyT2JqZWN0T25DbGljayxvPXRoaXMuZGF0YXNldC5pbXBJbWFnZU1hcE5hbWUsaT1JbWFnZU1hcFByby5pbnN0YW5jZXNbb118fEltYWdlTWFwUHJvLmluc3RhbmNlc1tPYmplY3Qua2V5cyhJbWFnZU1hcFByby5pbnN0YW5jZXMpWzBdXSl7dC5uZXh0PTU7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDU6aWYocj1pLnN0b3JlLmdldE9iamVjdEJ5VGl0bGUoe3RpdGxlOm59KSl7dC5uZXh0PTg7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDg6aWYoYT1pLnN0b3JlLmdldEFydGJvYXJkSWRGb3JPYmplY3Qoe2lkOnIuaWR9KSl7dC5uZXh0PTExO2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSAxMTpyZXR1cm4gdC5uZXh0PTEzLGkuc3RvcmUuZGlzcGF0Y2goImNoYW5nZUFydGJvYXJkIix7YXJ0Ym9hcmRJZDphLHpvb21PdXQ6ITB9KTtjYXNlIDEzOmooe25hbWU6InVuaGlnaGxpZ2h0T2JqZWN0IixhY3Rpb246ZnVuY3Rpb24oKXt2YXIgdD15KHcoKS5tYXJrKChmdW5jdGlvbiB0KCl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsbmV3IFByb21pc2UoZnVuY3Rpb24oKXt2YXIgdD15KHcoKS5tYXJrKChmdW5jdGlvbiB0KGUpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQubmV4dD0yLGkuc3RvcmUuZGlzcGF0Y2goInVuaGlnaGxpZ2h0T2JqZWN0Iix7b2JqZWN0SWQ6ci5pZH0pO2Nhc2UgMjplKCk7Y2FzZSAzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKSk7Y2FzZSAxOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9KTtjYXNlIDE0OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSksaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIHJ0KHQpe3JldHVybiBhdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gYXQoKXtyZXR1cm4gYXQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXt2YXIgbixvLGkscixhO3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYobj10aGlzLmRhdGFzZXQuaW1wRm9jdXNPYmplY3RPbk1vdXNlb3ZlcixvPXRoaXMuZGF0YXNldC5pbXBJbWFnZU1hcE5hbWUsaT1JbWFnZU1hcFByby5pbnN0YW5jZXNbb118fEltYWdlTWFwUHJvLmluc3RhbmNlc1tPYmplY3Qua2V5cyhJbWFnZU1hcFByby5pbnN0YW5jZXMpWzBdXSl7dC5uZXh0PTU7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDU6aWYocj1pLnN0b3JlLmdldE9iamVjdEJ5VGl0bGUoe3RpdGxlOm59KSl7dC5uZXh0PTg7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDg6aWYoYT1pLnN0b3JlLmdldEFydGJvYXJkSWRGb3JPYmplY3Qoe2lkOnIuaWR9KSl7dC5uZXh0PTExO2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSAxMTpyZXR1cm4gdC5uZXh0PTEzLGkuc3RvcmUuZGlzcGF0Y2goImNoYW5nZUFydGJvYXJkIix7YXJ0Ym9hcmRJZDphLHpvb21PdXQ6ITB9KTtjYXNlIDEzOmooe25hbWU6ImZvY3VzT2JqZWN0IixhY3Rpb246ZnVuY3Rpb24oKXt2YXIgdD15KHcoKS5tYXJrKChmdW5jdGlvbiB0KCl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsbmV3IFByb21pc2UoZnVuY3Rpb24oKXt2YXIgdD15KHcoKS5tYXJrKChmdW5jdGlvbiB0KGUpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQubmV4dD0yLGkuc3RvcmUuZGlzcGF0Y2goImZvY3VzT2JqZWN0Iix7b2JqZWN0SWQ6ci5pZCxzaG93VG9vbHRpcDohMX0pO2Nhc2UgMjplKCk7Y2FzZSAzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKSk7Y2FzZSAxOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9KTtjYXNlIDE0OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSksYXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIHN0KHQpe3JldHVybiBjdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gY3QoKXtyZXR1cm4gY3Q9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXt2YXIgbixvLGkscixhO3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYobj10aGlzLmRhdGFzZXQuaW1wRm9jdXNPYmplY3RPbkNsaWNrLG89dGhpcy5kYXRhc2V0LmltcEltYWdlTWFwTmFtZSxpPUltYWdlTWFwUHJvLmluc3RhbmNlc1tvXXx8SW1hZ2VNYXBQcm8uaW5zdGFuY2VzW09iamVjdC5rZXlzKEltYWdlTWFwUHJvLmluc3RhbmNlcylbMF1dKXt0Lm5leHQ9NTticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgNTppZihyPWkuc3RvcmUuZ2V0T2JqZWN0QnlUaXRsZSh7dGl0bGU6bn0pKXt0Lm5leHQ9ODticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgODppZihhPWkuc3RvcmUuZ2V0QXJ0Ym9hcmRJZEZvck9iamVjdCh7aWQ6ci5pZH0pKXt0Lm5leHQ9MTE7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDExOnJldHVybiB0Lm5leHQ9MTMsaS5zdG9yZS5kaXNwYXRjaCgiY2hhbmdlQXJ0Ym9hcmQiLHthcnRib2FyZElkOmEsem9vbU91dDohMH0pO2Nhc2UgMTM6aih7bmFtZToiZm9jdXNPYmplY3QiLGFjdGlvbjpmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0LmFicnVwdCgicmV0dXJuIixuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsaS5zdG9yZS5kaXNwYXRjaCgiZm9jdXNPYmplY3QiLHtvYmplY3RJZDpyLmlkLHNob3dUb29sdGlwOiExfSk7Y2FzZSAyOmUoKTtjYXNlIDM6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpKTtjYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0pO2Nhc2UgMTQ6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKSxjdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gbHQodCl7cmV0dXJuIHV0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB1dCgpe3JldHVybih1dD15KHcoKS5tYXJrKChmdW5jdGlvbiB0KGUpe3ZhciBuLG8saSxyO3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYobj10aGlzLmRhdGFzZXQuaW1wQ2hhbmdlQXJ0Ym9hcmQsbz10aGlzLmRhdGFzZXQuaW1wSW1hZ2VNYXBOYW1lLGk9SW1hZ2VNYXBQcm8uaW5zdGFuY2VzW29dfHxJbWFnZU1hcFByby5pbnN0YW5jZXNbT2JqZWN0LmtleXMoSW1hZ2VNYXBQcm8uaW5zdGFuY2VzKVswXV0pe3QubmV4dD01O2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSA1OmlmKHI9aS5zdG9yZS5nZXRBcnRib2FyZEJ5VGl0bGUoe3RpdGxlOm59KSl7dC5uZXh0PTg7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDg6cmV0dXJuIHQubmV4dD0xMCxpLnN0b3JlLmRpc3BhdGNoKCJjaGFuZ2VBcnRib2FyZCIse2FydGJvYXJkSWQ6ci5pZCx6b29tT3V0OiEwfSk7Y2FzZSAxMDpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9d2luZG93LkltYWdlTWFwUHJvLmhpZ2hsaWdodE9iamVjdD1mdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSxuKXt2YXIgbyxpLHI7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZihvPUltYWdlTWFwUHJvLmluc3RhbmNlc1tlXSl7dC5uZXh0PTM7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDM6aWYoaT1vLnN0b3JlLmdldE9iamVjdEJ5VGl0bGUoe3RpdGxlOm59KSl7dC5uZXh0PTY7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDY6aWYocj1vLnN0b3JlLmdldEFydGJvYXJkSWRGb3JPYmplY3Qoe2lkOmkuaWR9KSl7dC5uZXh0PTk7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDk6cmV0dXJuIHQubmV4dD0xMSxvLnN0b3JlLmRpc3BhdGNoKCJjaGFuZ2VBcnRib2FyZCIse2FydGJvYXJkSWQ6cix6b29tT3V0OiEwfSk7Y2FzZSAxMTpqKHtuYW1lOiJoaWdobGlnaHRPYmplY3QiLGFjdGlvbjpmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0LmFicnVwdCgicmV0dXJuIixuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsby5zdG9yZS5kaXNwYXRjaCgiaGlnaGxpZ2h0T2JqZWN0Iix7b2JqZWN0SWQ6aS5pZCxzaG93VG9vbHRpcDohMSxoaWRlQWxsVG9vbHRpcHM6ITF9KTtjYXNlIDI6ZSgpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSkpO2Nhc2UgMTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSk7Y2FzZSAxMjpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpLHdpbmRvdy5JbWFnZU1hcFByby51bmhpZ2hsaWdodE9iamVjdD1mdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSxuKXt2YXIgbyxpLHI7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZihvPUltYWdlTWFwUHJvLmluc3RhbmNlc1tlXSl7dC5uZXh0PTM7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDM6aWYoaT1vLnN0b3JlLmdldE9iamVjdEJ5VGl0bGUoe3RpdGxlOm59KSl7dC5uZXh0PTY7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDY6aWYocj1vLnN0b3JlLmdldEFydGJvYXJkSWRGb3JPYmplY3Qoe2lkOmkuaWR9KSl7dC5uZXh0PTk7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDk6cmV0dXJuIHQubmV4dD0xMSxvLnN0b3JlLmRpc3BhdGNoKCJjaGFuZ2VBcnRib2FyZCIse2FydGJvYXJkSWQ6cix6b29tT3V0OiEwfSk7Y2FzZSAxMTpqKHtuYW1lOiJ1bmhpZ2hsaWdodE9iamVjdCIsYWN0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdCgpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0Lm5leHQ9MixvLnN0b3JlLmRpc3BhdGNoKCJ1bmhpZ2hsaWdodE9iamVjdCIse29iamVjdElkOmkuaWR9KTtjYXNlIDI6ZSgpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSkpO2Nhc2UgMTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSk7Y2FzZSAxMjpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpLHdpbmRvdy5JbWFnZU1hcFByby5mb2N1c09iamVjdD1mdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSxuKXt2YXIgbyxpLHI7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZihvPUltYWdlTWFwUHJvLmluc3RhbmNlc1tlXSl7dC5uZXh0PTM7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDM6aWYoaT1vLnN0b3JlLmdldE9iamVjdEJ5VGl0bGUoe3RpdGxlOm59KSl7dC5uZXh0PTY7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDY6aWYocj1vLnN0b3JlLmdldEFydGJvYXJkSWRGb3JPYmplY3Qoe2lkOmkuaWR9KSl7dC5uZXh0PTk7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDk6cmV0dXJuIHQubmV4dD0xMSxvLnN0b3JlLmRpc3BhdGNoKCJjaGFuZ2VBcnRib2FyZCIse2FydGJvYXJkSWQ6cix6b29tT3V0OiEwfSk7Y2FzZSAxMTpqKHtuYW1lOiJmb2N1c09iamVjdCIsYWN0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdCgpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0Lm5leHQ9MixvLnN0b3JlLmRpc3BhdGNoKCJmb2N1c09iamVjdCIse29iamVjdElkOmkuaWQsc2hvd1Rvb2x0aXA6ITF9KTtjYXNlIDI6ZSgpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSkpO2Nhc2UgMTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSk7Y2FzZSAxMjpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpLHdpbmRvdy5JbWFnZU1hcFByby5zaG93VG9vbHRpcD1mdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSxuKXt2YXIgbyxpLHI7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZihvPUltYWdlTWFwUHJvLmluc3RhbmNlc1tlXSl7dC5uZXh0PTM7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDM6aWYoaT1vLnN0b3JlLmdldE9iamVjdEJ5VGl0bGUoe3RpdGxlOm59KSl7dC5uZXh0PTY7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDY6aWYocj1vLnN0b3JlLmdldEFydGJvYXJkSWRGb3JPYmplY3Qoe2lkOmkuaWR9KSl7dC5uZXh0PTk7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDk6cmV0dXJuIHQubmV4dD0xMSxvLnN0b3JlLmRpc3BhdGNoKCJjaGFuZ2VBcnRib2FyZCIse2FydGJvYXJkSWQ6cix6b29tT3V0OiEwfSk7Y2FzZSAxMTpqKHtuYW1lOiJzaG93VG9vbHRpcCIsYWN0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdCgpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiBvLnN0b3JlLmdldFRvb2x0aXBDb250cm9sbGVyKCkuZGlzYWJsZVN0aWNreVRvb2x0aXBzKCksdC5uZXh0PTMsby5zdG9yZS5kaXNwYXRjaCgic2hvd1Rvb2x0aXAiLHtvYmplY3RJZDppLmlkfSk7Y2FzZSAzOm8uc3RvcmUuZ2V0VG9vbHRpcENvbnRyb2xsZXIoKS5yZXNldFN0aWNreVRvb2x0aXBzKCksZSgpO2Nhc2UgNTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSkpO2Nhc2UgMTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSk7Y2FzZSAxMjpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpLHdpbmRvdy5JbWFnZU1hcFByby5oaWRlVG9vbHRpcD1mdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSxuKXt2YXIgbyxpLHI7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZihvPUltYWdlTWFwUHJvLmluc3RhbmNlc1tlXSl7dC5uZXh0PTM7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDM6aWYoaT1vLnN0b3JlLmdldE9iamVjdEJ5VGl0bGUoe3RpdGxlOm59KSl7dC5uZXh0PTY7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDY6aWYocj1vLnN0b3JlLmdldEFydGJvYXJkSWRGb3JPYmplY3Qoe2lkOmkuaWR9KSl7dC5uZXh0PTk7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDk6cmV0dXJuIHQubmV4dD0xMSxvLnN0b3JlLmRpc3BhdGNoKCJjaGFuZ2VBcnRib2FyZCIse2FydGJvYXJkSWQ6cix6b29tT3V0OiEwfSk7Y2FzZSAxMTpqKHtuYW1lOiJoaWRlVG9vbHRpcCIsYWN0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdCgpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0Lm5leHQ9MixvLnN0b3JlLmRpc3BhdGNoKCJoaWRlVG9vbHRpcCIse29iamVjdElkOmkuaWR9KTtjYXNlIDI6ZSgpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSkpO2Nhc2UgMTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSk7Y2FzZSAxMjpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpLHdpbmRvdy5JbWFnZU1hcFByby5yZUluaXRNYXA9ZnVuY3Rpb24odCl7dmFyIGU9SW1hZ2VNYXBQcm8uaW5zdGFuY2VzW3RdO2lmKCFlKXJldHVybiExO2UuaW5pdCgpfSx3aW5kb3cuSW1hZ2VNYXBQcm8uaXNNb2JpbGU9ZnVuY3Rpb24oKXtyZXR1cm4oMCxtLnRxKSgpfSx3aW5kb3cuSW1hZ2VNYXBQcm8uY2hhbmdlQXJ0Ym9hcmQ9ZnVuY3Rpb24odCxlKXt2YXIgbj1JbWFnZU1hcFByby5pbnN0YW5jZXNbdF07aWYoIW4pcmV0dXJuITE7dmFyIG8saT1uLnN0b3JlLmdldEFydGJvYXJkQnlUaXRsZSh7dGl0bGU6ZX0pO2lmKCFpKXJldHVybiExO2ooe25hbWU6ImNoYW5nZUFydGJvYXJkIixhY3Rpb246KG89eSh3KCkubWFyaygoZnVuY3Rpb24gdCgpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0Lm5leHQ9MixuLnN0b3JlLmRpc3BhdGNoKCJjaGFuZ2VBcnRib2FyZCIse2FydGJvYXJkSWQ6aS5pZCx6b29tT3V0OiEwfSk7Y2FzZSAyOmUoKTtjYXNlIDM6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpKTtjYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSksZnVuY3Rpb24oKXtyZXR1cm4gby5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0pfSx3aW5kb3cuSW1hZ2VNYXBQcm8uem9vbUluPWZ1bmN0aW9uKHQpe3ZhciBlLG49SW1hZ2VNYXBQcm8uaW5zdGFuY2VzW3RdO2lmKCFuKXJldHVybiExO2ooe25hbWU6Inpvb21JbiIsYWN0aW9uOihlPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0LmFicnVwdCgicmV0dXJuIixuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsbi5zdG9yZS5kaXNwYXRjaCgiem9vbUluIix7fSk7Y2FzZSAyOmUoKTtjYXNlIDM6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpKTtjYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSksZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0pfSx3aW5kb3cuSW1hZ2VNYXBQcm8uem9vbU91dD1mdW5jdGlvbih0KXt2YXIgZSxuPUltYWdlTWFwUHJvLmluc3RhbmNlc1t0XTtpZighbilyZXR1cm4hMTtqKHtuYW1lOiJ6b29tT3V0IixhY3Rpb246KGU9eSh3KCkubWFyaygoZnVuY3Rpb24gdCgpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0Lm5leHQ9MixuLnN0b3JlLmRpc3BhdGNoKCJ6b29tT3V0Iix7fSk7Y2FzZSAyOmUoKTtjYXNlIDM6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpKTtjYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSksZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0pfSx3aW5kb3cuSW1hZ2VNYXBQcm8uZmxhc2hPYmplY3RzPWZ1bmN0aW9uKHQpe3ZhciBlLG49SW1hZ2VNYXBQcm8uaW5zdGFuY2VzW3RdO2lmKCFuKXJldHVybiExO2ooe25hbWU6ImZsYXNoT2JqZWN0cyIsYWN0aW9uOihlPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0LmFicnVwdCgicmV0dXJuIixuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsbi5zdG9yZS5kaXNwYXRjaCgiZmxhc2hPYmplY3RzIix7fSk7Y2FzZSAyOmUoKTtjYXNlIDM6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpKTtjYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSksZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0pfSxfX3dlYnBhY2tfcmVxdWlyZV9fKDU1MTQpLCgwLG0uQ2QpKChmdW5jdGlvbigpe0ltYWdlTWFwUHJvLnN1YnNjcmliZSgoZnVuY3Rpb24odCl7Im1hcEluaXQiPT10LnR5cGUmJihkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtaGlnaGxpZ2h0LW9iamVjdC1vbi1tb3VzZW92ZXJdIikuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLEUpfSkpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWltcC1oaWdobGlnaHQtb2JqZWN0LW9uLW1vdXNlb3Zlcl0iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixBKX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtdW5oaWdobGlnaHQtb2JqZWN0LW9uLW1vdXNlb3Zlcl0iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsVCl9KSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtaW1wLWhpZ2hsaWdodC1vYmplY3Qtb24tY2xpY2tdIikuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsUyl9KSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtaW1wLXVuaGlnaGxpZ2h0LW9iamVjdC1vbi1jbGlja10iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixMKX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtc2hvdy10b29sdGlwLW9uLW1vdXNlb3Zlcl0iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsVSl9KSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtaW1wLXNob3ctdG9vbHRpcC1vbi1tb3VzZW92ZXJdIikuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsRil9KSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtaW1wLXNob3ctdG9vbHRpcC1vbi1jbGlja10iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixIKX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtaGlkZS10b29sdGlwLW9uLW1vdXNlb3Zlcl0iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsVyl9KSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtaW1wLWhpZGUtdG9vbHRpcC1vbi1jbGlja10iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixOKX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtdHJpZ2dlci1vYmplY3Qtb24tbW91c2VvdmVyXSIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdmVyIixLKX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtdHJpZ2dlci1vYmplY3Qtb24tbW91c2VvdmVyXSIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLEcpfSkpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWltcC10cmlnZ2VyLW9iamVjdC1vbi1jbGlja10iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixldCl9KSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtaW1wLXVudHJpZ2dlci1vYmplY3Qtb24tbW91c2VvdmVyXSIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdmVyIixRKX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtdW50cmlnZ2VyLW9iamVjdC1vbi1jbGlja10iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixvdCl9KSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtaW1wLWZvY3VzLW9iamVjdC1vbi1tb3VzZW92ZXJdIikuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHJ0KX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtZm9jdXMtb2JqZWN0LW9uLWNsaWNrXSIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHN0KX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtY2hhbmdlLWFydGJvYXJkXSIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGx0KX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtaGlnaGxpZ2h0LXNoYXBlLW9uLW1vdXNlb3Zlcl0iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmRhdGFzZXQuaW1wSGlnaGxpZ2h0T2JqZWN0T25Nb3VzZW92ZXI9dC5kYXRhc2V0LmltcEhpZ2hsaWdodFNoYXBlT25Nb3VzZW92ZXIsdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLEUpfSkpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWltcC1oaWdobGlnaHQtc2hhcGUtb24tbW91c2VvdmVyXSIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLEEpfSkpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWltcC11bmhpZ2hsaWdodC1zaGFwZS1vbi1tb3VzZW92ZXJdIikuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5kYXRhc2V0LmltcFVuaGlnaGxpZ2h0T2JqZWN0T25Nb3VzZW92ZXI9dC5kYXRhc2V0LmltcFVuaGlnaGxpZ2h0U2hhcGVPbk1vdXNlb3Zlcix0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsVCl9KSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtaW1wLWhpZ2hsaWdodC1zaGFwZS1vbi1jbGlja10iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmRhdGFzZXQuaW1wSGlnaGxpZ2h0T2JqZWN0T25DbGljaz10LmRhdGFzZXQuaW1wSGlnaGxpZ2h0U2hhcGVPbkNsaWNrLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFMpfSkpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWltcC11bmhpZ2hsaWdodC1zaGFwZS1vbi1jbGlja10iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmRhdGFzZXQuaW1wVW5oaWdobGlnaHRPYmplY3RPbkNsaWNrPXQuZGF0YXNldC5pbXBVbmhpZ2hsaWdodFNoYXBlT25DbGljayx0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixMKX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtb3Blbi10b29sdGlwLW9uLW1vdXNlb3Zlcl0iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmRhdGFzZXQuaW1wU2hvd1Rvb2x0aXBPbk1vdXNlb3Zlcj10LmRhdGFzZXQuaW1wT3BlblRvb2x0aXBPbk1vdXNlb3Zlcix0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsVSl9KSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtaW1wLW9wZW4tdG9vbHRpcC1vbi1tb3VzZW92ZXJdIikuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsRil9KSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtaW1wLW9wZW4tdG9vbHRpcC1vbi1jbGlja10iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmRhdGFzZXQuaW1wU2hvd1Rvb2x0aXBPbkNsaWNrPXQuZGF0YXNldC5pbXBPcGVuVG9vbHRpcE9uQ2xpY2ssdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsSCl9KSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtaW1wLWNsb3NlLXRvb2x0aXAtb24tbW91c2VvdmVyXSIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuZGF0YXNldC5pbXBIaWRlVG9vbHRpcE9uTW91c2VvdmVyPXQuZGF0YXNldC5pbXBDbG9zZVRvb2x0aXBPbk1vdXNlb3Zlcix0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsVyl9KSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtaW1wLWNsb3NlLXRvb2x0aXAtb24tY2xpY2tdIikuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5kYXRhc2V0LmltcEhpZGVUb29sdGlwT25DbGljaz10LmRhdGFzZXQuaW1wQ2xvc2VUb29sdGlwT25DbGljayx0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixOKX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtdHJpZ2dlci1zaGFwZS1vbi1tb3VzZW92ZXJdIikuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5kYXRhc2V0LmltcFRyaWdnZXJPYmplY3RPbk1vdXNlb3Zlcj10LmRhdGFzZXQuaW1wVHJpZ2dlclNoYXBlT25Nb3VzZW92ZXIsdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLEspfSkpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWltcC10cmlnZ2VyLXNoYXBlLW9uLW1vdXNlb3Zlcl0iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixHKX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtdHJpZ2dlci1zaGFwZS1vbi1jbGlja10iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmRhdGFzZXQuaW1wVHJpZ2dlck9iamVjdE9uQ2xpY2s9dC5kYXRhc2V0LmltcFRyaWdnZXJTaGFwZU9uQ2xpY2ssdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZXQpfSkpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWltcC11bnRyaWdnZXItc2hhcGUtb24tbW91c2VvdmVyXSIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuZGF0YXNldC5pbXBVbnRyaWdnZXJPYmplY3RPbk1vdXNlb3Zlcj10LmRhdGFzZXQuaW1wVW50cmlnZ2VyU2hhcGVPbk1vdXNlb3Zlcix0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsUSl9KSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtaW1wLXVudHJpZ2dlci1zaGFwZS1vbi1jbGlja10iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmRhdGFzZXQuaW1wVW50cmlnZ2VyT2JqZWN0T25DbGljaz10LmRhdGFzZXQuaW1wVW50cmlnZ2VyU2hhcGVPbkNsaWNrLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG90KX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtZm9jdXMtc2hhcGUtb24tbW91c2VvdmVyXSIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuZGF0YXNldC5pbXBGb2N1c09iamVjdE9uTW91c2VvdmVyPXQuZGF0YXNldC5pbXBGb2N1c1NoYXBlT25Nb3VzZW92ZXIsdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHJ0KX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1pbXAtZm9jdXMtc2hhcGUtb24tY2xpY2tdIikuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5kYXRhc2V0LmltcEZvY3VzT2JqZWN0T25DbGljaz10LmRhdGFzZXQuaW1wRm9jdXNTaGFwZU9uQ2xpY2ssdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsc3QpfSkpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWltcC1nby10by1mbG9vcl0iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmRhdGFzZXQuaW1wQ2hhbmdlQXJ0Ym9hcmQ9dC5kYXRhc2V0LmltcEdvVG9GbG9vcix0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixsdCl9KSkpfSkpfSkpO3ZhciBwdD1fX3dlYnBhY2tfcmVxdWlyZV9fKDU2NzEpLGR0PV9fd2VicGFja19yZXF1aXJlX18oMzE0NCksaHQ9X193ZWJwYWNrX3JlcXVpcmVfXyg5MTQyKTtmdW5jdGlvbiBtdCh0LGUsbil7cmV0dXJuKGU9KDAsaHQuWikoZSkpaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtlXT1uLHR9ZnVuY3Rpb24gZnQodCxlKXt2YXIgbj1PYmplY3Qua2V5cyh0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2UmJihvPW8uZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGUpLmVudW1lcmFibGV9KSkpLG4ucHVzaC5hcHBseShuLG8pfXJldHVybiBufXZhciBndD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7KDAscHQuWikodGhpcyx0KSxtdCh0aGlzLCJzdG9yZSIsdm9pZCAwKSxtdCh0aGlzLCJhY3Rpb24iLGcuUk4pLG10KHRoaXMsImFjdGlvblN0YXJ0IixnLlJOKSxtdCh0aGlzLCJldmVudENvb3JkaW5hdGVzIix7eDowLHk6MH0pLG10KHRoaXMsImV2ZW50Q29vcmRpbmF0ZXNTdGFydCIse3g6MCx5OjB9KSxtdCh0aGlzLCJldmVudENvb3JkaW5hdGVzUHJldmlvdXMiLHt4OjAseTowfSksbXQodGhpcywiZXZlbnREaXJlY3Rpb24iLHZvaWQgMCksbXQodGhpcywiVUlSZWN0cyIsW10pLG10KHRoaXMsIlVJUmVjdFVuZGVyRXZlbnQiLHZvaWQgMCksbXQodGhpcywiVUlSZWN0VW5kZXJFdmVudFN0YXJ0Iix2b2lkIDApLG10KHRoaXMsIlVJQ2xpY2tlZFJlY3QiLHZvaWQgMCksbXQodGhpcywiaXNFdmVudE92ZXJUb29sdGlwIix2b2lkIDApLG10KHRoaXMsImlzRXZlbnRPdmVyQ2FudmFzIix2b2lkIDApLG10KHRoaXMsIm9iamVjdEluZGV4VW5kZXJFdmVudCIsdm9pZCAwKSxtdCh0aGlzLCJvYmplY3RJbmRleFVuZGVyRXZlbnRQcmV2aW91cyIsdm9pZCAwKSxtdCh0aGlzLCJvYmplY3RJbmRleFVuZGVyRXZlbnRTdGFydCIsdm9pZCAwKSxtdCh0aGlzLCJvYmplY3RJZENsaWNrZWQiLHZvaWQgMCksbXQodGhpcywibWVudUxpc3RJdGVtSURVbmRlckV2ZW50Iix2b2lkIDApLG10KHRoaXMsIm1lbnVMaXN0SXRlbUlEVW5kZXJFdmVudFByZXZpb3VzIix2b2lkIDApLG10KHRoaXMsIm1hYyIsbmF2aWdhdG9yLnBsYXRmb3JtLnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiTUFDIik+PTApLG10KHRoaXMsImN0cmxLZXlEb3duIiwhMSksbXQodGhpcywiY21kS2V5RG93biIsITEpLG10KHRoaXMsImNhblBpbmNoIiwhMSksdGhpcy5zdG9yZT1lLHRoaXMuY3JlYXRlRXZlbnRzKCl9dmFyIGUsbixvLGk7cmV0dXJuKDAsZHQuWikodCxbe2tleToiYnVpbGRVSU1vZGVsIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5zdG9yZS5nZXRBcmVUb29sdGlwc0Z1bGxzY3JlZW4oKSYmKHRoaXMuVUlSZWN0c1tnLmRiXT1mdW5jdGlvbigpe3JldHVybiB0LnN0b3JlLmdldE9wZW5lZEZ1bGxzY3JlZW5Ub29sdGlwUmVjdCgpfSksdGhpcy5zdG9yZS5zdGF0ZS5mdWxsc2NyZWVuLmVuYWJsZV9mdWxsc2NyZWVuX21vZGUmJih0aGlzLlVJUmVjdHNbZy5oOV09ZnVuY3Rpb24oKXtyZXR1cm4gdC5zdG9yZS5nZXRGdWxsc2NyZWVuQnV0dG9uUmVjdCgpfSksdGhpcy5zdG9yZS5zdGF0ZS56b29taW5nLmVuYWJsZV96b29taW5nJiYodGhpcy5zdG9yZS5zdGF0ZS56b29taW5nLmVuYWJsZV96b29tX2J1dHRvbnMmJih0aGlzLlVJUmVjdHNbZy5mOV09ZnVuY3Rpb24oKXtyZXR1cm4gdC5zdG9yZS5nZXRab29tSW5CdXR0b25SZWN0KCl9LHRoaXMuVUlSZWN0c1tnLnMyXT1mdW5jdGlvbigpe3JldHVybiB0LnN0b3JlLmdldFpvb21PdXRCdXR0b25SZWN0KCl9KSx0aGlzLnN0b3JlLnN0YXRlLnpvb21pbmcuZW5hYmxlX25hdmlnYXRvciYmKHRoaXMuVUlSZWN0c1tnLmxZXT1mdW5jdGlvbigpe3JldHVybiB0LnN0b3JlLmdldE5hdmlnYXRvclJlY3QoKX0pKSx0aGlzLnN0b3JlLnN0YXRlLmFydGJvYXJkcy5sZW5ndGg+MSYmKHRoaXMuVUlSZWN0c1tnLmQ0XT1mdW5jdGlvbigpe3JldHVybiB0LnN0b3JlLmdldEFydGJvYXJkU2VsZWN0UmVjdCgpfSksdGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5lbmFibGVfb2JqZWN0X2xpc3QmJih0aGlzLlVJUmVjdHNbZy5rS109ZnVuY3Rpb24oKXtyZXR1cm4gdC5zdG9yZS5nZXRPcGVuTWVudUJ1dHRvblJlY3QoKX0sdGhpcy5VSVJlY3RzW2cuR09dPWZ1bmN0aW9uKCl7cmV0dXJuIHQuc3RvcmUuZ2V0Q2xvc2VNZW51QnV0dG9uUmVjdCgpfSx0aGlzLlVJUmVjdHNbZy5lbF09ZnVuY3Rpb24oKXtyZXR1cm4gdC5zdG9yZS5nZXRNZW51UmVjdCgpfSl9fSx7a2V5OiJjcmVhdGVFdmVudHMiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5ib3VuZEhhbmRsZUV2ZW50U3RhcnQ9dGhpcy5oYW5kbGVFdmVudFN0YXJ0LmJpbmQodGhpcyksdGhpcy5ib3VuZEhhbmRsZUV2ZW50TW92ZT10aGlzLmhhbmRsZUV2ZW50TW92ZS5iaW5kKHRoaXMpLHRoaXMuYm91bmRIYW5kbGVFdmVudEVuZD10aGlzLmhhbmRsZUV2ZW50RW5kLmJpbmQodGhpcyksdGhpcy5ib3VuZEhhbmRsZUV2ZW50S2V5RG93bj10aGlzLmhhbmRsZUV2ZW50S2V5RG93bi5iaW5kKHRoaXMpLHRoaXMuYm91bmRIYW5kbGVFdmVudEtleVVwPXRoaXMuaGFuZGxlRXZlbnRLZXlVcC5iaW5kKHRoaXMpLHRoaXMuYm91bmRIYW5kbGVFdmVudFJlc2l6ZT10aGlzLmhhbmRsZUV2ZW50UmVzaXplLmJpbmQodGhpcyksdGhpcy5ib3VuZEhhbmRsZUV2ZW50V2hlZWw9dGhpcy5oYW5kbGVFdmVudFdoZWVsLmJpbmQodGhpcyksdGhpcy5ib3VuZEhhbmRsZUV2ZW50Q2hhbmdlPXRoaXMuaGFuZGxlRXZlbnRDaGFuZ2UuYmluZCh0aGlzKSwoMCxtLnRxKSgpPyhkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLmJvdW5kSGFuZGxlRXZlbnRTdGFydCx7cGFzc2l2ZTohMX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5ib3VuZEhhbmRsZUV2ZW50TW92ZSx7cGFzc2l2ZTohMX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLmJvdW5kSGFuZGxlRXZlbnRFbmQse3Bhc3NpdmU6ITF9KSk6KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5ib3VuZEhhbmRsZUV2ZW50U3RhcnQse3Bhc3NpdmU6ITF9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuYm91bmRIYW5kbGVFdmVudE1vdmUse3Bhc3NpdmU6ITF9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmJvdW5kSGFuZGxlRXZlbnRFbmQse3Bhc3NpdmU6ITF9KSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5ib3VuZEhhbmRsZUV2ZW50S2V5RG93bix7cGFzc2l2ZTohMX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLmJvdW5kSGFuZGxlRXZlbnRLZXlVcCx7cGFzc2l2ZTohMX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLmJvdW5kSGFuZGxlRXZlbnRXaGVlbCx7cGFzc2l2ZTohMX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5ib3VuZEhhbmRsZUV2ZW50Q2hhbmdlLHtwYXNzaXZlOiExfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5ib3VuZEhhbmRsZUV2ZW50UmVzaXplLHtwYXNzaXZlOiExfSl9fSx7a2V5OiJyZW1vdmVFdmVudHMiLHZhbHVlOmZ1bmN0aW9uKCl7KDAsbS50cSkoKT8oZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5ib3VuZEhhbmRsZUV2ZW50U3RhcnQse3Bhc3NpdmU6ITF9KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuYm91bmRIYW5kbGVFdmVudE1vdmUse3Bhc3NpdmU6ITF9KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5ib3VuZEhhbmRsZUV2ZW50RW5kLHtwYXNzaXZlOiExfSkpOihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuYm91bmRIYW5kbGVFdmVudFN0YXJ0LHtwYXNzaXZlOiExfSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmJvdW5kSGFuZGxlRXZlbnRNb3ZlLHtwYXNzaXZlOiExfSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5ib3VuZEhhbmRsZUV2ZW50RW5kLHtwYXNzaXZlOiExfSkpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuYm91bmRIYW5kbGVFdmVudEtleURvd24se3Bhc3NpdmU6ITF9KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5ib3VuZEhhbmRsZUV2ZW50S2V5VXAse3Bhc3NpdmU6ITF9KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsdGhpcy5ib3VuZEhhbmRsZUV2ZW50V2hlZWwse3Bhc3NpdmU6ITF9KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHRoaXMuYm91bmRIYW5kbGVFdmVudENoYW5nZSx7cGFzc2l2ZTohMX0pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuYm91bmRIYW5kbGVFdmVudFJlc2l6ZSx7cGFzc2l2ZTohMX0pfX0se2tleToiaGFuZGxlRXZlbnRTdGFydCIsdmFsdWU6ZnVuY3Rpb24odCl7dGhpcy51cGRhdGVGbGFnc0FuZFZhcmlhYmxlcyh0KSx0aGlzLmRvU3RhcnRBY3Rpb24oKSx0aGlzLmRvTWVudVN0YXJ0KHQpfX0se2tleToiaGFuZGxlRXZlbnRNb3ZlIix2YWx1ZTpmdW5jdGlvbih0KXtpZih0aGlzLnVwZGF0ZUZsYWdzQW5kVmFyaWFibGVzKHQpLHRoaXMuZG9BY3Rpb24odCkpcmV0dXJuIHRoaXMub2JqZWN0SWRVbmRlckV2ZW50UHJldmlvdXM9ITEsdm9pZCB0aGlzLnN0b3JlLmRpc3BhdGNoKCJ1bmhpZ2hsaWdodEFsbE9iamVjdHMiKTt0aGlzLmRvTWVudU1vdmUodCl8fHRoaXMuZG9Nb3VzZU92ZXJPYmplY3QodCl9fSx7a2V5OiJoYW5kbGVFdmVudEVuZCIsdmFsdWU6KGk9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKHRoaXMudXBkYXRlRmxhZ3NBbmRWYXJpYWJsZXMoZSksIXRoaXMuZG9FbmRBY3Rpb24oKSl7dC5uZXh0PTM7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iKTtjYXNlIDM6cmV0dXJuIHQubmV4dD01LHRoaXMuZG9NZW51RW5kKGUpO2Nhc2UgNTppZighdC5zZW50KXt0Lm5leHQ9NzticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIpO2Nhc2UgNzppZighdGhpcy5kb0NsaWNrVUkoZSkpe3QubmV4dD05O2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIik7Y2FzZSA5OmlmKCF0aGlzLmRvQ2xpY2tPYmplY3QoKSl7dC5uZXh0PTExO2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIik7Y2FzZSAxMTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpLGZ1bmN0aW9uKHQpe3JldHVybiBpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OiJoYW5kbGVFdmVudEtleURvd24iLHZhbHVlOmZ1bmN0aW9uKHQpe3RoaXMudXBkYXRlRmxhZ3NBbmRWYXJpYWJsZXModCl9fSx7a2V5OiJoYW5kbGVFdmVudEtleVVwIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLnVwZGF0ZUZsYWdzQW5kVmFyaWFibGVzKHQpLCJFc2NhcGUiPT10LmNvZGUmJnRoaXMuc3RvcmUuZGlzcGF0Y2goImNsb3NlRnVsbHNjcmVlbiIpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWltYWdlLW1hcC1pZD0iJy5jb25jYXQodGhpcy5zdG9yZS5nZXRJRCgpLCciXSBpbnB1dDpmb2N1cycpKSYmdGhpcy5zdG9yZS5kaXNwYXRjaCgidXBkYXRlU2VhcmNoIix7c2VhcmNoU3RyaW5nOmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWltYWdlLW1hcC1pZD0iJy5jb25jYXQodGhpcy5zdG9yZS5nZXRJRCgpLCciXSBpbnB1dDpmb2N1cycpKS52YWx1ZX0pfX0se2tleToiaGFuZGxlRXZlbnRSZXNpemUiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5zdG9yZS5kaXNwYXRjaCgiYmVmb3JlUmVzaXplIiksdGhpcy5zdG9yZS5kaXNwYXRjaCgicmVzaXplIil9fSx7a2V5OiJoYW5kbGVFdmVudFdoZWVsIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLnVwZGF0ZUZsYWdzQW5kVmFyaWFibGVzKHQpLHRoaXMuVUlSZWN0VW5kZXJFdmVudHx8dGhpcy5pc0V2ZW50T3ZlckNhbnZhcyYmdGhpcy5zdG9yZS5zdGF0ZS56b29taW5nLmVuYWJsZV96b29taW5nJiYodGhpcy5zdG9yZS5zdGF0ZS56b29taW5nLmhvbGRfY3RybF90b196b29tP3RoaXMubWFjJiZ0aGlzLmNtZEtleURvd258fCF0aGlzLm1hYyYmdGhpcy5jdHJsS2V5RG93bj90aGlzLmRvWm9vbSh0KTp0aGlzLnN0b3JlLmRpc3BhdGNoKCJmYWlsZWRUb1pvb20iKTp0aGlzLmRvWm9vbSh0KSl9fSx7a2V5OiJoYW5kbGVFdmVudENoYW5nZSIsdmFsdWU6ZnVuY3Rpb24odCl7dC50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJpbXAtdWktbGF5ZXJzLXNlbGVjdCIpJiZ0LnRhcmdldC5jbG9zZXN0KCdbZGF0YS1pbWFnZS1tYXAtaWQ9IicuY29uY2F0KHRoaXMuc3RvcmUuZ2V0SUQoKSwnIl0nKSkmJnRoaXMuc3RvcmUuZGlzcGF0Y2goImNoYW5nZUFydGJvYXJkIix7YXJ0Ym9hcmRJZDp0LnRhcmdldC52YWx1ZSx6b29tT3V0OiEwfSksdC50YXJnZXQuY2xvc2VzdCgnW2RhdGEtaW1hZ2UtbWFwLWlkPSInLmNvbmNhdCh0aGlzLnN0b3JlLmdldElEKCksJyJdIC5pbXAtc2VhcmNoLWJveC1pbnB1dC13cmFwJykpJiZ0aGlzLnN0b3JlLmRpc3BhdGNoKCJ1cGRhdGVTZWFyY2giLHtzZWFyY2hTdHJpbmc6dC50YXJnZXQudmFsdWV9KX19LHtrZXk6InVwZGF0ZUZsYWdzQW5kVmFyaWFibGVzIix2YWx1ZTpmdW5jdGlvbih0KXtpZigia2V5ZG93biI9PXQudHlwZXx8ImtleXVwIj09dC50eXBlKXJldHVybiB0aGlzLmN0cmxLZXlEb3duPXQuY3RybEtleSx2b2lkKHRoaXMuY21kS2V5RG93bj10Lm1ldGFLZXkpO3RoaXMuZXZlbnRDb29yZGluYXRlcz0oMCxtLkRDKSh0KSwibW91c2Vkb3duIiE9dC50eXBlJiYidG91Y2hzdGFydCIhPXQudHlwZXx8KHRoaXMuZXZlbnRDb29yZGluYXRlc1N0YXJ0PXRoaXMuZXZlbnRDb29yZGluYXRlcyksdGhpcy5VSVJlY3RVbmRlckV2ZW50PXRoaXMuZ2V0VUlSZWN0TmFtZVVuZGVyRXZlbnQodCksIm1vdXNlZG93biIhPXQudHlwZSYmInRvdWNoc3RhcnQiIT10LnR5cGV8fCh0aGlzLlVJUmVjdFVuZGVyRXZlbnRTdGFydD10aGlzLlVJUmVjdFVuZGVyRXZlbnQpLHRoaXMuVUlDbGlja2VkUmVjdD10aGlzLlVJUmVjdFVuZGVyRXZlbnQ9PT10aGlzLlVJUmVjdFVuZGVyRXZlbnRTdGFydCYmdGhpcy5VSVJlY3RVbmRlckV2ZW50LHRoaXMubWVudUxpc3RJdGVtSURVbmRlckV2ZW50PXRoaXMuZ2V0TWVudUxpc3RJdGVtSWRVbmRlckV2ZW50KHQpLHRoaXMuaXNFdmVudE92ZXJDYW52YXM9dGhpcy5pc1BvaW50SW5zaWRlUmVjdCh0aGlzLmV2ZW50Q29vcmRpbmF0ZXMsdGhpcy5nZXRab29tZWRDYW52YXNSZWN0KCkpLHRoaXMuaXNFdmVudE92ZXJUb29sdGlwPXRoaXMuc3RvcmUuZ2V0VG9vbHRpcENvbnRyb2xsZXIoKS5pc1BvaW50SW5zaWRlVmlzaWJsZVRvb2x0aXAoe3g6dGhpcy5ldmVudENvb3JkaW5hdGVzLngseTp0aGlzLmV2ZW50Q29vcmRpbmF0ZXMueX0pfHx0aGlzLmlzRXZlbnRPdmVyVmlzaWJsZVRvb2x0aXAodCksdGhpcy5vYmplY3RJZFVuZGVyRXZlbnQ9dGhpcy5nZXRPYmplY3RJZFVuZGVyRXZlbnQodCksIm1vdXNlZG93biIhPXQudHlwZSYmInRvdWNoc3RhcnQiIT10LnR5cGV8fCh0aGlzLm9iamVjdElkVW5kZXJFdmVudFN0YXJ0PXRoaXMub2JqZWN0SWRVbmRlckV2ZW50KSx0aGlzLm9iamVjdElkQ2xpY2tlZD10aGlzLm9iamVjdElkVW5kZXJFdmVudD09PXRoaXMub2JqZWN0SWRVbmRlckV2ZW50U3RhcnQmJnRoaXMub2JqZWN0SWRVbmRlckV2ZW50LCJtb3VzZW1vdmUiIT10LnR5cGUmJiJ0b3VjaG1vdmUiIT10LnR5cGV8fCh0aGlzLm9iamVjdElkVW5kZXJFdmVudFN0YXJ0PSExKSx0aGlzLmNhblBpbmNoPXRoaXMuZ2V0Q2FuUGluY2godCksdGhpcy51cGRhdGVTdGlja3lUb29sdGlwc0NvbmZpZygpO3ZhciBlPXRoaXMuZXZlbnRDb29yZGluYXRlcy54LXRoaXMuZXZlbnRDb29yZGluYXRlc1ByZXZpb3VzLngsbj10aGlzLmV2ZW50Q29vcmRpbmF0ZXMueS10aGlzLmV2ZW50Q29vcmRpbmF0ZXNQcmV2aW91cy55O2U+MCYmTWF0aC5hYnMoZSk+TWF0aC5hYnMobikmJih0aGlzLmV2ZW50RGlyZWN0aW9uPWcuTUopLGU8MCYmTWF0aC5hYnMoZSk+TWF0aC5hYnMobikmJih0aGlzLmV2ZW50RGlyZWN0aW9uPWcucjQpLG4+MCYmTWF0aC5hYnMobik+TWF0aC5hYnMoZSkmJih0aGlzLmV2ZW50RGlyZWN0aW9uPWcuQlEpLG48MCYmTWF0aC5hYnMobik+TWF0aC5hYnMoZSkmJih0aGlzLmV2ZW50RGlyZWN0aW9uPWcuaW4pLHRoaXMuZXZlbnRDb29yZGluYXRlc1ByZXZpb3VzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe3ZhciBuPW51bGwhPWFyZ3VtZW50c1tlXT9hcmd1bWVudHNbZV06e307ZSUyP2Z0KE9iamVjdChuKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7bXQodCxlLG5bZV0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobikpOmZ0KE9iamVjdChuKSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG4sZSkpfSkpfXJldHVybiB0fSh7fSx0aGlzLmV2ZW50Q29vcmRpbmF0ZXMpfX0se2tleToiZG9TdGFydEFjdGlvbiIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLlVJUmVjdFVuZGVyRXZlbnQhPT1nLmxZP3RoaXMuVUlSZWN0VW5kZXJFdmVudHx8KHRoaXMuY2FuUGluY2g/dGhpcy5hY3Rpb25TdGFydD1nLk5iOnRoaXMuaXNFdmVudE92ZXJDYW52YXMmJih0aGlzLmFjdGlvblN0YXJ0PWcuRnEpKTp0aGlzLmFjdGlvblN0YXJ0PWcuRVp9fSx7a2V5OiJkb0FjdGlvbiIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuYWN0aW9uU3RhcnQ9PT1nLk5iJiYodGhpcy5hY3Rpb249Zy5OYix0aGlzLnN0b3JlLmRpc3BhdGNoKCJzdGFydFBpbmNoIix7ZXZlbnQ6dH0pKSx0aGlzLmFjdGlvblN0YXJ0PT09Zy5FWiYmKHRoaXMuYWN0aW9uPWcuRVopLHRoaXMuYWN0aW9uU3RhcnQ9PT1nLkZxJiYodGhpcy5hY3Rpb249Zy5GcSx0aGlzLnN0b3JlLmRpc3BhdGNoKCJzdGFydFBhbiIse3g6dGhpcy5ldmVudENvb3JkaW5hdGVzLngseTp0aGlzLmV2ZW50Q29vcmRpbmF0ZXMueX0pKSx0aGlzLmFjdGlvblN0YXJ0PWcuUk4sdGhpcy5hY3Rpb249PT1nLk5iPyh0aGlzLnN0b3JlLmRpc3BhdGNoKCJwaW5jaCIse2V2ZW50OnR9KSx0aGlzLnByZXZlbnREZWZhdWx0KHQpLCEwKTp0aGlzLmFjdGlvbj09PWcuRVo/KHRoaXMuc3RvcmUuZGlzcGF0Y2goInBhbk9uTmF2aWdhdG9yIix7eDp0aGlzLmV2ZW50Q29vcmRpbmF0ZXMueCx5OnRoaXMuZXZlbnRDb29yZGluYXRlcy55fSksdGhpcy5wcmV2ZW50RGVmYXVsdCh0KSwhMCk6dGhpcy5hY3Rpb249PT1nLkZxJiYodGhpcy5zdG9yZS5kaXNwYXRjaCgicGFuIix7eDp0aGlzLmV2ZW50Q29vcmRpbmF0ZXMueCx5OnRoaXMuZXZlbnRDb29yZGluYXRlcy55fSksdGhpcy5pc1BhbkxpbWl0UmVhY2hlZCgpfHx0aGlzLnByZXZlbnREZWZhdWx0KHQpLCEwKX19LHtrZXk6ImRvRW5kQWN0aW9uIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFjdGlvblN0YXJ0PWcuUk4sdGhpcy5hY3Rpb249PWcuTmI/KHRoaXMuY2FuUGluY2h8fCh0aGlzLmFjdGlvbj1nLlJOKSx0aGlzLmlzRXZlbnRPdmVyQ2FudmFzJiYhdGhpcy5VSVJlY3RVbmRlckV2ZW50JiYodGhpcy5hY3Rpb249Zy5GcSx0aGlzLnN0b3JlLmRpc3BhdGNoKCJzdGFydFBhbiIsdGhpcy5ldmVudENvb3JkaW5hdGVzKSksITApOnRoaXMuYWN0aW9uIT09Zy5STiYmKHRoaXMuYWN0aW9uPWcuUk4sITApfX0se2tleToiZG9DbGlja1VJIix2YWx1ZTpmdW5jdGlvbih0KXtpZih0aGlzLlVJQ2xpY2tlZFJlY3Qpe2lmKHRoaXMuVUlDbGlja2VkUmVjdD09PWcuaDkmJih0aGlzLnN0b3JlLmdldElzRnVsbHNjcmVlbigpP3RoaXMuc3RvcmUuZGlzcGF0Y2goImNsb3NlRnVsbHNjcmVlbiIpOnRoaXMuc3RvcmUuZGlzcGF0Y2goImdvRnVsbHNjcmVlbiIpKSx0aGlzLlVJQ2xpY2tlZFJlY3Q9PT1nLmY5JiZ0aGlzLnN0b3JlLmRpc3BhdGNoKCJ6b29tSW4iLHt9KSx0aGlzLlVJQ2xpY2tlZFJlY3Q9PT1nLnMyJiZ0aGlzLnN0b3JlLmRpc3BhdGNoKCJ6b29tT3V0Iix7fSksdC50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJpbXAtY2xlYXItc2VhcmNoIikmJnRoaXMuc3RvcmUuZGlzcGF0Y2goImNsZWFyU2VhcmNoIiksdGhpcy5VSUNsaWNrZWRSZWN0PT1nLmRiKXtpZighKG51bGw9PT10LnRhcmdldC5jbG9zZXN0KCIuaW1wLXRvb2x0aXAtY29udGVudCIpJiYhdC50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJpbXAtdG9vbHRpcC1jb250ZW50Iil8fHQudGFyZ2V0LmNsb3Nlc3QoIi5pbXAtdG9vbHRpcC1jbG9zZS1idXR0b24iKXx8dC50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJpbXAtdG9vbHRpcC1jbG9zZS1idXR0b24iKSkpcmV0dXJuITE7dGhpcy5zdG9yZS5kaXNwYXRjaCgiY2xvc2VGdWxsc2NyZWVuVG9vbHRpcCIpfXJldHVybiB0aGlzLlVJQ2xpY2tlZFJlY3Q9PWcua0smJnRoaXMuc3RvcmUuZGlzcGF0Y2goIm9wZW5NZW51IiksdGhpcy5VSUNsaWNrZWRSZWN0PT1nLkdPJiZ0aGlzLnN0b3JlLmRpc3BhdGNoKCJjbG9zZU1lbnUiKSx0aGlzLlVJQ2xpY2tlZFJlY3Q9PWcuZDQ/KHRoaXMuc3RvcmUuZGlzcGF0Y2goInVuaGlnaGxpZ2h0QWxsT2JqZWN0cyIpLCExKToodC50YXJnZXQuY2xvc2VzdCgiLmltcC1zZWFyY2gtYm94LWlucHV0LXdyYXAiKXx8KHRoaXMuc3RvcmUuZGlzcGF0Y2goInVuaGlnaGxpZ2h0QWxsT2JqZWN0cyIpLHRoaXMucHJldmVudERlZmF1bHQodCkpLCEwKX1yZXR1cm4hMX19LHtrZXk6ImRvQ2xpY2tPYmplY3QiLHZhbHVlOihvPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKCEoITEhPT10aGlzLm9iamVjdElkQ2xpY2tlZCYmdGhpcy5nZXREaXN0YW5jZUJldHdlZW5Db29yZGluYXRlcyh0aGlzLmV2ZW50Q29vcmRpbmF0ZXMsdGhpcy5ldmVudENvb3JkaW5hdGVzU3RhcnQpPDEwKSl7dC5uZXh0PTEwO2JyZWFrfXJldHVybiB0Lm5leHQ9Myx0aGlzLnN0b3JlLmRpc3BhdGNoKCJjbGlja09iamVjdCIse29iamVjdElkOnRoaXMub2JqZWN0SWRVbmRlckV2ZW50fSk7Y2FzZSAzOmlmKCF0aGlzLnN0b3JlLmdldEltYWdlTWFwKCkuY29uZmlnLnpvb21pbmcuem9vbV9vbl9vYmplY3RfY2xpY2spe3QubmV4dD02O2JyZWFrfXJldHVybiB0Lm5leHQ9Nix0aGlzLnN0b3JlLmRpc3BhdGNoKCJmb2N1c09iamVjdCIse29iamVjdElkOnRoaXMub2JqZWN0SWRVbmRlckV2ZW50LHNob3dUb29sdGlwOiExfSk7Y2FzZSA2OnJldHVybiB0Lm5leHQ9OCx0aGlzLnN0b3JlLmRpc3BhdGNoKCJ1bmhpZ2hsaWdodEFsbE9iamVjdHMiKTtjYXNlIDg6cmV0dXJuIHRoaXMuc3RvcmUuZGlzcGF0Y2goImhpZ2hsaWdodE9iamVjdCIse29iamVjdElkOnRoaXMub2JqZWN0SWRVbmRlckV2ZW50LHNob3dUb29sdGlwOiEwLGhpZGVBbGxUb29sdGlwczohMX0pLHQuYWJydXB0KCJyZXR1cm4iLCEwKTtjYXNlIDEwOnJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSAxMTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpLGZ1bmN0aW9uKCl7cmV0dXJuIG8uYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6ImRvTW91c2VPdmVyT2JqZWN0Iix2YWx1ZToobj15KHcoKS5tYXJrKChmdW5jdGlvbiB0KGUpe3ZhciBuO3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYoIXRoaXMuc3RvcmUuZ2V0VG9vbHRpcENvbnRyb2xsZXIoKS5zdGlja3lUb29sdGlwc3x8IXRoaXMuaXNFdmVudE92ZXJUb29sdGlwfHx0aGlzLnN0b3JlLmdldEFyZVRvb2x0aXBzRnVsbHNjcmVlbigpKXt0Lm5leHQ9MzticmVha31yZXR1cm4gdGhpcy5zdG9yZS5kaXNwYXRjaCgidXBkYXRlVG9vbHRpcFBvc2l0aW9ucyIpLHQuYWJydXB0KCJyZXR1cm4iKTtjYXNlIDM6aWYodGhpcy5zdG9yZS5nZXRUb29sdGlwQ29udHJvbGxlcigpLnN0aWNreVRvb2x0aXBzJiYhdGhpcy5zdG9yZS5nZXRBcmVUb29sdGlwc0Z1bGxzY3JlZW4oKSYmdGhpcy5zdG9yZS5kaXNwYXRjaCgidXBkYXRlVG9vbHRpcFBvc2l0aW9ucyIpLCF0aGlzLmlzRXZlbnRPdmVyVG9vbHRpcCl7dC5uZXh0PTY7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDY6aWYodGhpcy5vYmplY3RJZFVuZGVyRXZlbnRQcmV2aW91cyE9PXRoaXMub2JqZWN0SWRVbmRlckV2ZW50KXt0Lm5leHQ9ODticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgODppZighMT09PXRoaXMub2JqZWN0SWRVbmRlckV2ZW50KXt0Lm5leHQ9MTY7YnJlYWt9cmV0dXJuIHRoaXMub2JqZWN0SWRVbmRlckV2ZW50UHJldmlvdXM9dGhpcy5vYmplY3RJZFVuZGVyRXZlbnQsdC5uZXh0PTEyLHRoaXMuc3RvcmUuZGlzcGF0Y2goInVuaGlnaGxpZ2h0QWxsT2JqZWN0cyIpO2Nhc2UgMTI6cmV0dXJuIG49ITAsImNsaWNrIj09dGhpcy5zdG9yZS5zdGF0ZS50b29sdGlwcy5zaG93X3Rvb2x0aXBzJiYobj0hMSksdGhpcy5zdG9yZS5kaXNwYXRjaCgiaGlnaGxpZ2h0T2JqZWN0Iix7b2JqZWN0SWQ6dGhpcy5vYmplY3RJZFVuZGVyRXZlbnQsc2hvd1Rvb2x0aXA6bixoaWRlQWxsVG9vbHRpcHM6ITF9KSx0LmFicnVwdCgicmV0dXJuIiwhMCk7Y2FzZSAxNjpyZXR1cm4hMT09PXRoaXMub2JqZWN0SWRVbmRlckV2ZW50JiYodGhpcy5vYmplY3RJZFVuZGVyRXZlbnRQcmV2aW91cz0hMSx0aGlzLnN0b3JlLmRpc3BhdGNoKCJ1bmhpZ2hsaWdodEFsbE9iamVjdHMiKSksdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgMTg6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKSxmdW5jdGlvbih0KXtyZXR1cm4gbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleToiZG9NZW51U3RhcnQiLHZhbHVlOmZ1bmN0aW9uKHQpe2lmKHRoaXMuVUlSZWN0VW5kZXJFdmVudCE9PWcuZWwpcmV0dXJuITF9fSx7a2V5OiJkb01lbnVNb3ZlIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5tZW51TGlzdEl0ZW1JRFVuZGVyRXZlbnRQcmV2aW91cyE9PXRoaXMubWVudUxpc3RJdGVtSURVbmRlckV2ZW50JiYodGhpcy5tZW51TGlzdEl0ZW1JRFVuZGVyRXZlbnQmJiEoMCxtLnRxKSgpPyh0aGlzLm1lbnVMaXN0SXRlbUlEVW5kZXJFdmVudFByZXZpb3VzPXRoaXMubWVudUxpc3RJdGVtSURVbmRlckV2ZW50LHRoaXMuc3RvcmUuZGlzcGF0Y2goInVuaGlnaGxpZ2h0QWxsT2JqZWN0cyIpLHRoaXMuc3RvcmUuZ2V0T2JqZWN0KHtpZDp0aGlzLm1lbnVMaXN0SXRlbUlEVW5kZXJFdmVudH0pLnN0YXRpY3x8dGhpcy5zdG9yZS5kaXNwYXRjaCgiaGlnaGxpZ2h0T2JqZWN0Iix7b2JqZWN0SWQ6dGhpcy5tZW51TGlzdEl0ZW1JRFVuZGVyRXZlbnQsc2hvd1Rvb2x0aXA6ITF9KSwhMCk6ITE9PT10aGlzLm1lbnVMaXN0SXRlbUlEVW5kZXJFdmVudCYmKHRoaXMub2JqZWN0SWRVbmRlckV2ZW50UHJldmlvdXM9bnVsbCx0aGlzLm1lbnVMaXN0SXRlbUlEVW5kZXJFdmVudFByZXZpb3VzPSExLCExKSl9fSx7a2V5OiJkb01lbnVFbmQiLHZhbHVlOihlPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZighKHRoaXMuZ2V0RGlzdGFuY2VCZXR3ZWVuQ29vcmRpbmF0ZXModGhpcy5ldmVudENvb3JkaW5hdGVzLHRoaXMuZXZlbnRDb29yZGluYXRlc1N0YXJ0KT4xMCkpe3QubmV4dD0yO2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIik7Y2FzZSAyOmlmKHRoaXMuVUlSZWN0VW5kZXJFdmVudD09PWcuZWwpe3QubmV4dD00O2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSA0OmlmKCFlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoImltcC1vYmplY3QtbGlzdC1pdGVtLWFydGJvYXJkIikmJiFlLnRhcmdldC5jbG9zZXN0KCIuaW1wLW9iamVjdC1saXN0LWl0ZW0tYXJ0Ym9hcmQiKSl7dC5uZXh0PTg7YnJlYWt9cmV0dXJuIHRoaXMuc3RvcmUuZGlzcGF0Y2goInRvZ2dsZUFydGJvYXJkIix7YXJ0Ym9hcmRJZDp0aGlzLm1lbnVMaXN0SXRlbUlEVW5kZXJFdmVudH0pLHRoaXMucHJldmVudERlZmF1bHQoZSksdC5hYnJ1cHQoInJldHVybiIsITApO2Nhc2UgODppZighZS50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJpbXAtb2JqZWN0LWxpc3QtaXRlbS1ncm91cCIpJiYhZS50YXJnZXQuY2xvc2VzdCgiLmltcC1vYmplY3QtbGlzdC1pdGVtLWdyb3VwIikpe3QubmV4dD0xMjticmVha31yZXR1cm4gdGhpcy5zdG9yZS5kaXNwYXRjaCgidG9nZ2xlR3JvdXAiLHtncm91cElkOnRoaXMubWVudUxpc3RJdGVtSURVbmRlckV2ZW50fSksdGhpcy5wcmV2ZW50RGVmYXVsdChlKSx0LmFicnVwdCgicmV0dXJuIiwhMCk7Y2FzZSAxMjppZighdGhpcy5tZW51TGlzdEl0ZW1JRFVuZGVyRXZlbnQpe3QubmV4dD0zMjticmVha31pZigiY2hhbmdlLWFydGJvYXJkIiE9PXRoaXMuc3RvcmUuZ2V0T2JqZWN0KHtpZDp0aGlzLm1lbnVMaXN0SXRlbUlEVW5kZXJFdmVudH0pLmFjdGlvbnMuY2xpY2spe3QubmV4dD0yMDticmVha31yZXR1cm4gdC5uZXh0PTE2LHRoaXMuc3RvcmUuZGlzcGF0Y2goImNoYW5nZUFydGJvYXJkIix7YXJ0Ym9hcmRJZDp0aGlzLnN0b3JlLmdldE9iamVjdCh7aWQ6dGhpcy5tZW51TGlzdEl0ZW1JRFVuZGVyRXZlbnR9KS5hY3Rpb25zLmFydGJvYXJkLHpvb21PdXQ6ITB9KTtjYXNlIDE2OmNhc2UgMzA6cmV0dXJuIHRoaXMucHJldmVudERlZmF1bHQoZSksdC5hYnJ1cHQoInJldHVybiIsITApO2Nhc2UgMjA6cmV0dXJuIHQubmV4dD0yMix0aGlzLnN0b3JlLmRpc3BhdGNoKCJjaGFuZ2VBcnRib2FyZCIse2FydGJvYXJkSWQ6dGhpcy5zdG9yZS5nZXRBcnRib2FyZElkRm9yT2JqZWN0KHtpZDp0aGlzLm1lbnVMaXN0SXRlbUlEVW5kZXJFdmVudH0pLHpvb21PdXQ6ITF9KTtjYXNlIDIyOmlmKHRoaXMuc3RvcmUuZ2V0T2JqZWN0KHtpZDp0aGlzLm1lbnVMaXN0SXRlbUlEVW5kZXJFdmVudH0pLnN0YXRpYyl7dC5uZXh0PTMwO2JyZWFrfWlmKCF0aGlzLnN0b3JlLmdldEltYWdlTWFwKCkuY29uZmlnLnpvb21pbmcuem9vbV9vbl9vYmplY3RfY2xpY2spe3QubmV4dD0yNjticmVha31yZXR1cm4gdC5uZXh0PTI2LHRoaXMuc3RvcmUuZGlzcGF0Y2goImZvY3VzT2JqZWN0Iix7b2JqZWN0SWQ6dGhpcy5tZW51TGlzdEl0ZW1JRFVuZGVyRXZlbnR9KTtjYXNlIDI2OnJldHVybiB0Lm5leHQ9MjgsdGhpcy5zdG9yZS5kaXNwYXRjaCgiaGlnaGxpZ2h0T2JqZWN0Iix7b2JqZWN0SWQ6dGhpcy5tZW51TGlzdEl0ZW1JRFVuZGVyRXZlbnQsc2hvd1Rvb2x0aXA6ITAsaGlkZUFsbFRvb2x0aXBzOiExfSk7Y2FzZSAyODpyZXR1cm4gdC5uZXh0PTMwLHRoaXMuc3RvcmUuZGlzcGF0Y2goImNsaWNrT2JqZWN0Iix7b2JqZWN0SWQ6dGhpcy5tZW51TGlzdEl0ZW1JRFVuZGVyRXZlbnR9KTtjYXNlIDMyOnJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMSk7Y2FzZSAzMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpLGZ1bmN0aW9uKHQpe3JldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OiJkb1pvb20iLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuYWN0aW9uIT1nLkZxO3QuZGVsdGFZPjA/dGhpcy5zdG9yZS5kaXNwYXRjaCgiem9vbU91dCIse2Nvb3Jkczp0aGlzLmV2ZW50Q29vcmRpbmF0ZXMsYW5pbWF0ZTplfSk6dGhpcy5zdG9yZS5kaXNwYXRjaCgiem9vbUluIix7Y29vcmRzOnRoaXMuZXZlbnRDb29yZGluYXRlcyxhbmltYXRlOmV9KSx0aGlzLnByZXZlbnREZWZhdWx0KHQpLHRoaXMuYWN0aW9uPT1nLkZxJiZ0aGlzLnN0b3JlLmRpc3BhdGNoKCJzdGFydFBhbiIsdGhpcy5ldmVudENvb3JkaW5hdGVzKX19LHtrZXk6InByZXZlbnREZWZhdWx0Iix2YWx1ZTpmdW5jdGlvbih0KXt0LmNhbmNlbGFibGUmJnQucHJldmVudERlZmF1bHQoKX19LHtrZXk6ImdldFVJUmVjdE5hbWVVbmRlckV2ZW50Iix2YWx1ZTpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLlVJUmVjdHMpaWYodGhpcy5pc1BvaW50SW5zaWRlUmVjdCh0aGlzLmV2ZW50Q29vcmRpbmF0ZXMsdGhpcy5VSVJlY3RzW3RdKCkpKXJldHVybiB0aGlzLlVJUmVjdFVuZGVyRXZlbnQ9dCx0O3JldHVybiExfX0se2tleToiaXNQb2ludEluc2lkZVJlY3QiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuISFlJiZ0Lng+ZS5vZmZzZXQubGVmdCYmdC54PGUub2Zmc2V0LmxlZnQrZS5vZmZzZXRXaWR0aCYmdC55PmUub2Zmc2V0LnRvcCYmdC55PGUub2Zmc2V0LnRvcCtlLm9mZnNldEhlaWdodH19LHtrZXk6ImdldE9iamVjdElkVW5kZXJFdmVudCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGUsbixvLGkscixhO2lmKHQudGFyZ2V0LmRhdGFzZXQucGFyZW50SWQ/YT10LnRhcmdldC5kYXRhc2V0LnBhcmVudElkOm51bGwhPT0oZT10LnRhcmdldC5jbG9zZXN0KCJbZGF0YS1wYXJlbnQtaWRdIikpJiZ2b2lkIDAhPT1lJiZlLmRhdGFzZXQucGFyZW50SWQ/YT1udWxsPT09KG49dC50YXJnZXQuY2xvc2VzdCgiW2RhdGEtcGFyZW50LWlkXSIpKXx8dm9pZCAwPT09bj92b2lkIDA6bi5kYXRhc2V0LnBhcmVudElkOnQudGFyZ2V0LmRhdGFzZXQub2JqZWN0SWQ/YT10LnRhcmdldC5kYXRhc2V0Lm9iamVjdElkOm51bGwhPT0obz10LnRhcmdldC5jbG9zZXN0KCJbZGF0YS1vYmplY3QtaWRdIikpJiZ2b2lkIDAhPT1vJiZvLmRhdGFzZXQub2JqZWN0SWQmJihhPW51bGw9PT0oaT10LnRhcmdldC5jbG9zZXN0KCJbZGF0YS1vYmplY3QtaWRdIikpfHx2b2lkIDA9PT1pP3ZvaWQgMDppLmRhdGFzZXQub2JqZWN0SWQpLCFhKXJldHVybiExO3ZhciBzPXQudGFyZ2V0LmRhdGFzZXQuaW1hZ2VNYXBJZHx8KG51bGw9PT0ocj10LnRhcmdldC5jbG9zZXN0KCJbZGF0YS1pbWFnZS1tYXAtaWRdIikpfHx2b2lkIDA9PT1yP3ZvaWQgMDpyLmRhdGFzZXQuaW1hZ2VNYXBJZCk7cmV0dXJuKHZvaWQgMD09PXN8fHMrIiI9PT10aGlzLnN0b3JlLmdldElEKCkpJiZhfX0se2tleToiaXNFdmVudE92ZXJWaXNpYmxlVG9vbHRpcCIsdmFsdWU6ZnVuY3Rpb24odCl7aWYodC50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJpbXAtdG9vbHRpcCIpfHx0LnRhcmdldC5jbG9zZXN0KCIuaW1wLXRvb2x0aXAiKSlyZXR1cm4hMH19LHtrZXk6ImdldE1lbnVMaXN0SXRlbUlkVW5kZXJFdmVudCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGUsbixvO3JldHVybiEoIXQudGFyZ2V0LmRhdGFzZXQubGlzdEl0ZW1JZCYmIShudWxsPT09KGU9dC50YXJnZXQuY2xvc2VzdCgiW2RhdGEtbGlzdC1pdGVtLWlkXSIpKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5kYXRhc2V0Lmxpc3RJdGVtSWQpKSYmKHQudGFyZ2V0LmRhdGFzZXQuaW1hZ2VNYXBJZHx8KG51bGw9PT0obj10LnRhcmdldC5jbG9zZXN0KCJbZGF0YS1saXN0LWl0ZW0taWRdIikpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmRhdGFzZXQuaW1hZ2VNYXBJZCkpPT09dGhpcy5zdG9yZS5nZXRJRCgpJiYodC50YXJnZXQuZGF0YXNldC5saXN0SXRlbUlkfHwobnVsbD09PShvPXQudGFyZ2V0LmNsb3Nlc3QoIltkYXRhLWxpc3QtaXRlbS1pZF0iKSl8fHZvaWQgMD09PW8/dm9pZCAwOm8uZGF0YXNldC5saXN0SXRlbUlkKSl9fSx7a2V5OiJnZXREaXN0YW5jZUJldHdlZW5Db29yZGluYXRlcyIsdmFsdWU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KGUueC10LngsMikrTWF0aC5wb3coZS55LXQueSwyKSl9fSx7a2V5OiJnZXRab29tZWRDYW52YXNSZWN0Iix2YWx1ZTpmdW5jdGlvbigpe2lmKHRoaXMuc3RvcmUuZ2V0SXNGdWxsc2NyZWVuKCkpe3ZhciB0PTA7cmV0dXJuIHRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QuZW5hYmxlX29iamVjdF9saXN0JiYhdGhpcy5zdG9yZS5nZXRJc01lbnVNb2JpbGUoKSYmKHQ9MjI0KSx7b2Zmc2V0OntsZWZ0OjAsdG9wOndpbmRvdy5zY3JvbGxZfSxvZmZzZXRXaWR0aDp3aW5kb3cuaW5uZXJXaWR0aC10LG9mZnNldEhlaWdodDp3aW5kb3cuaW5uZXJIZWlnaHR9fXJldHVybiB0aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCl9fSx7a2V5OiJnZXRDYW5QaW5jaCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuISgyIT0obnVsbD09PShlPXQudG91Y2hlcyl8fHZvaWQgMD09PWU/dm9pZCAwOmUubGVuZ3RoKXx8IXRoaXMuaXNQb2ludEluc2lkZVJlY3Qoe3g6dC50b3VjaGVzWzBdLnBhZ2VYLHk6dC50b3VjaGVzWzBdLnBhZ2VZfSx0aGlzLmdldFpvb21lZENhbnZhc1JlY3QoKSl8fCF0aGlzLmlzUG9pbnRJbnNpZGVSZWN0KHt4OnQudG91Y2hlc1sxXS5wYWdlWCx5OnQudG91Y2hlc1sxXS5wYWdlWX0sdGhpcy5nZXRab29tZWRDYW52YXNSZWN0KCkpKX19LHtrZXk6ImlzUGFuTGltaXRSZWFjaGVkIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiEodGhpcy5ldmVudERpcmVjdGlvbj09Zy5pbiYmdGhpcy5zdG9yZS5nZXRQYW4oKS55PnRoaXMuc3RvcmUuZ2V0TWluUGFuKCkueXx8dGhpcy5ldmVudERpcmVjdGlvbj09Zy5CUSYmdGhpcy5zdG9yZS5nZXRQYW4oKS55PDB8fHRoaXMuZXZlbnREaXJlY3Rpb249PWcucjQmJnRoaXMuc3RvcmUuZ2V0UGFuKCkueD50aGlzLnN0b3JlLmdldE1pblBhbigpLnl8fHRoaXMuZXZlbnREaXJlY3Rpb249PWcuTUomJnRoaXMuc3RvcmUuZ2V0UGFuKCkueDwwKX19LHtrZXk6InVwZGF0ZVN0aWNreVRvb2x0aXBzQ29uZmlnIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuVUlSZWN0VW5kZXJFdmVudD09PWcuZWw/dGhpcy5zdG9yZS5nZXRUb29sdGlwQ29udHJvbGxlcigpLmRpc2FibGVTdGlja3lUb29sdGlwcygpOnRoaXMuc3RvcmUuZ2V0VG9vbHRpcENvbnRyb2xsZXIoKS5yZXNldFN0aWNreVRvb2x0aXBzKCl9fV0pLHR9KCksYnQ9JzxzdmcgY2xhc3M9ImltcC1pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgNTEyIj5ceDNjIS0tISBGb250IEF3ZXNvbWUgUHJvIDYuMS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDIyIEZvbnRpY29ucywgSW5jLiAtLVx4M2U8cGF0aCBkPSJNMzEwLjYgMzYxLjRjMTIuNSAxMi41IDEyLjUgMzIuNzUgMCA0NS4yNUMzMDQuNCA0MTIuOSAyOTYuMiA0MTYgMjg4IDQxNnMtMTYuMzgtMy4xMjUtMjIuNjItOS4zNzVMMTYwIDMwMS4zTDU0LjYzIDQwNi42QzQ4LjM4IDQxMi45IDQwLjE5IDQxNiAzMiA0MTZTMTUuNjMgNDEyLjkgOS4zNzUgNDA2LjZjLTEyLjUtMTIuNS0xMi41LTMyLjc1IDAtNDUuMjVsMTA1LjQtMTA1LjRMOS4zNzUgMTUwLjZjLTEyLjUtMTIuNS0xMi41LTMyLjc1IDAtNDUuMjVzMzIuNzUtMTIuNSA0NS4yNSAwTDE2MCAyMTAuOGwxMDUuNC0xMDUuNGMxMi41LTEyLjUgMzIuNzUtMTIuNSA0NS4yNSAwczEyLjUgMzIuNzUgMCA0NS4yNWwtMTA1LjQgMTA1LjRMMzEwLjYgMzYxLjR6Ii8+PC9zdmc+Jyx2dD0nPHN2ZyBjbGFzcz0iaW1wLWljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyMCA1MTIiPlx4M2MhLS0hIEZvbnQgQXdlc29tZSBQcm8gNi4xLjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjIgRm9udGljb25zLCBJbmMuIC0tXHgzZTxwYXRoIGQ9Ik0zMTAuNiAyNDYuNmwtMTI3LjEgMTI4QzE3Ni40IDM4MC45IDE2OC4yIDM4NCAxNjAgMzg0cy0xNi4zOC0zLjEyNS0yMi42My05LjM3NWwtMTI3LjEtMTI4Qy4yMjQ0IDIzNy41LTIuNTE2IDIyMy43IDIuNDM4IDIxMS44UzE5LjA3IDE5MiAzMiAxOTJoMjU1LjFjMTIuOTQgMCAyNC42MiA3Ljc4MSAyOS41OCAxOS43NVMzMTkuOCAyMzcuNSAzMTAuNiAyNDYuNnoiLz48L3N2Zz4nLHl0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXt2YXIgbj1lLm1hcElELG89ZS5pc0Z1bGxzY3JlZW47KDAscHQuWikodGhpcyx0KSx0aGlzLm1hcElEPW4sdGhpcy5pc0Z1bGxzY3JlZW49byx0aGlzLmVsZW1lbnQ9KDAsbS5CdikodGhpcy5odG1sKCkpfXJldHVybigwLGR0LlopKHQsW3trZXk6Imljb24iLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNGdWxsc2NyZWVuPyc8c3ZnIGNsYXNzPSJpbXAtaWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNDQ4IDUxMiI+XHgzYyEtLSEgRm9udCBBd2Vzb21lIFBybyA2LjEuMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbSBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZSAoQ29tbWVyY2lhbCBMaWNlbnNlKSBDb3B5cmlnaHQgMjAyMiBGb250aWNvbnMsIEluYy4gLS1ceDNlPHBhdGggZD0iTTEyOCAzMjBIMzJjLTE3LjY5IDAtMzIgMTQuMzEtMzIgMzJzMTQuMzEgMzIgMzIgMzJoNjR2NjRjMCAxNy42OSAxNC4zMSAzMiAzMiAzMnMzMi0xNC4zMSAzMi0zMnYtOTZDMTYwIDMzNC4zIDE0NS43IDMyMCAxMjggMzIwek00MTYgMzIwaC05NmMtMTcuNjkgMC0zMiAxNC4zMS0zMiAzMnY5NmMwIDE3LjY5IDE0LjMxIDMyIDMyIDMyczMyLTE0LjMxIDMyLTMydi02NGg2NGMxNy42OSAwIDMyLTE0LjMxIDMyLTMyUzQzMy43IDMyMCA0MTYgMzIwek0zMjAgMTkyaDk2YzE3LjY5IDAgMzItMTQuMzEgMzItMzJzLTE0LjMxLTMyLTMyLTMyaC02NFY2NGMwLTE3LjY5LTE0LjMxLTMyLTMyLTMycy0zMiAxNC4zMS0zMiAzMnY5NkMyODggMTc3LjcgMzAyLjMgMTkyIDMyMCAxOTJ6TTEyOCAzMkMxMTAuMyAzMiA5NiA0Ni4zMSA5NiA2NHY2NEgzMkMxNC4zMSAxMjggMCAxNDIuMyAwIDE2MHMxNC4zMSAzMiAzMiAzMmg5NmMxNy42OSAwIDMyLTE0LjMxIDMyLTMyVjY0QzE2MCA0Ni4zMSAxNDUuNyAzMiAxMjggMzJ6Ii8+PC9zdmc+JzonPHN2ZyBjbGFzcz0iaW1wLWljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ0OCA1MTIiPlx4M2MhLS0hIEZvbnQgQXdlc29tZSBQcm8gNi4xLjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjIgRm9udGljb25zLCBJbmMuIC0tXHgzZTxwYXRoIGQ9Ik0xMjggMzJIMzJDMTQuMzEgMzIgMCA0Ni4zMSAwIDY0djk2YzAgMTcuNjkgMTQuMzEgMzIgMzIgMzJzMzItMTQuMzEgMzItMzJWOTZoNjRjMTcuNjkgMCAzMi0xNC4zMSAzMi0zMlMxNDUuNyAzMiAxMjggMzJ6TTQxNiAzMmgtOTZjLTE3LjY5IDAtMzIgMTQuMzEtMzIgMzJzMTQuMzEgMzIgMzIgMzJoNjR2NjRjMCAxNy42OSAxNC4zMSAzMiAzMiAzMnMzMi0xNC4zMSAzMi0zMlY2NEM0NDggNDYuMzEgNDMzLjcgMzIgNDE2IDMyek0xMjggNDE2SDY0di02NGMwLTE3LjY5LTE0LjMxLTMyLTMyLTMycy0zMiAxNC4zMS0zMiAzMnY5NmMwIDE3LjY5IDE0LjMxIDMyIDMyIDMyaDk2YzE3LjY5IDAgMzItMTQuMzEgMzItMzJTMTQ1LjcgNDE2IDEyOCA0MTZ6TTQxNiAzMjBjLTE3LjY5IDAtMzIgMTQuMzEtMzIgMzJ2NjRoLTY0Yy0xNy42OSAwLTMyIDE0LjMxLTMyIDMyczE0LjMxIDMyIDMyIDMyaDk2YzE3LjY5IDAgMzItMTQuMzEgMzItMzJ2LTk2QzQ0OCAzMzQuMyA0MzMuNyAzMjAgNDE2IDMyMHoiLz48L3N2Zz4nfX0se2tleToiY3NzIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiIifX0se2tleToiaHRtbCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4nPGRpdiBkYXRhLWltYWdlLW1hcC1pZD0iJy5jb25jYXQodGhpcy5tYXBJRCwnIiBkYXRhLWVsZW1lbnQtbmFtZT0iZnVsbHNjcmVlbkJ1dHRvbiIgc3R5bGU9IicpLmNvbmNhdCh0aGlzLmNzcygpLCciIGNsYXNzPSJpbXAtdWktZWxlbWVudCBpbXAtZnVsbHNjcmVlbi1idXR0b24iPicpLmNvbmNhdCh0aGlzLmljb24oKSwiPC9kaXY+Iil9fV0pLHR9KCksX3Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUsbixvKXsoMCxwdC5aKSh0aGlzLHQpLG10KHRoaXMsInN0b3JlIix2b2lkIDApLG10KHRoaXMsImJ1dHRvbiIsdm9pZCAwKSxtdCh0aGlzLCJpc0Z1bGxzY3JlZW4iLHZvaWQgMCksbXQodGhpcywiY2xvc2VGdWxsc2NyZWVuQ2FsbGJhY2siLHZvaWQgMCksdGhpcy5zdG9yZT1lLHRoaXMuc3RvcmUuc3RhdGUuZnVsbHNjcmVlbi5lbmFibGVfZnVsbHNjcmVlbl9tb2RlJiYodGhpcy5pc0Z1bGxzY3JlZW49bix0aGlzLmNsb3NlRnVsbHNjcmVlbkNhbGxiYWNrPW8sdGhpcy5zdG9yZS5zdGF0ZS5mdWxsc2NyZWVuLnN0YXJ0X2luX2Z1bGxzY3JlZW5fbW9kZSYmIXRoaXMuaXNGdWxsc2NyZWVuJiZ0aGlzLmdvRnVsbHNjcmVlbigpLHRoaXMuY3JlYXRlQnV0dG9uKCkpfXJldHVybigwLGR0LlopKHQsW3trZXk6ImNyZWF0ZUJ1dHRvbiIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmJ1dHRvbj1uZXcgeXQoe21hcElEOnRoaXMuc3RvcmUuZ2V0SUQoKSxpc0Z1bGxzY3JlZW46dGhpcy5pc0Z1bGxzY3JlZW59KX19LHtrZXk6Imluc2VydFVJIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuc3RvcmUuc3RhdGUuZnVsbHNjcmVlbi5lbmFibGVfZnVsbHNjcmVlbl9tb2RlJiYodGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5lbmFibGVfb2JqZWN0X2xpc3QmJiJvbi10b3AiPT09dGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5tZW51X3N0eWxlJiYicmlnaHQiPT09dGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5tZW51X3Bvc2l0aW9uP3RoaXMuc3RvcmUuZ2V0VUlXcmFwKCkucXVlcnlTZWxlY3RvcigiLmltcC11aS1ib3R0b20tbGVmdCIpLmFwcGVuZENoaWxkKHRoaXMuYnV0dG9uLmVsZW1lbnQpOnRoaXMuc3RvcmUuZ2V0VUlXcmFwKCkucXVlcnlTZWxlY3RvcigiLmltcC11aS1ib3R0b20tcmlnaHQiKS5hcHBlbmRDaGlsZCh0aGlzLmJ1dHRvbi5lbGVtZW50KSl9fSx7a2V5OiJnb0Z1bGxzY3JlZW4iLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLG49KDAsbS5aQikoe30sdGhpcy5zdG9yZS5zdGF0ZSk7bi5nZW5lcmFsLm5hbWUrPSIgW2Z1bGxzY3JlZW5dIixuLmlkKz0iIFtmdWxsc2NyZWVuXSIsbnVsbD09PSh0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpbXAtZnVsbHNjcmVlbi1jb250YWluZXIiKSl8fHZvaWQgMD09PXR8fHQucmVtb3ZlKCksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCgoMCxtLkJ2KSgnPGRpdiBpZD0iaW1wLWZ1bGxzY3JlZW4tY29udGFpbmVyIj48ZGl2IGlkPSJpbXAtZnVsbHNjcmVlbi1pbWFnZS1tYXAiPjwvZGl2PicpKSxkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoImltcC1mdWxsc2NyZWVuLW1vZGUiKSx0aGlzLnN0b3JlLmdldEV2ZW50Q29udHJvbGxlcigpLnJlbW92ZUV2ZW50cygpLEltYWdlTWFwUHJvLmluaXQoIiNpbXAtZnVsbHNjcmVlbi1pbWFnZS1tYXAiLG4se2lzRnVsbHNjcmVlbjohMCxjbG9zZUZ1bGxzY3JlZW5DYWxsYmFjazpmdW5jdGlvbigpe2Uuc3RvcmUuZ2V0RXZlbnRDb250cm9sbGVyKCkuY3JlYXRlRXZlbnRzKCl9LGFydGJvYXJkSWQ6dGhpcy5zdG9yZS5nZXRBcnRib2FyZCgpLmlkfSl9fSx7a2V5OiJjbG9zZUZ1bGxzY3JlZW4iLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ7dGhpcy5zdG9yZS5nZXRJc0Z1bGxzY3JlZW4oKSYmKHRoaXMuc3RvcmUuZ2V0RXZlbnRDb250cm9sbGVyKCkucmVtb3ZlRXZlbnRzKCksdGhpcy5zdG9yZS5nZXRNZW51Q29udHJvbGxlcigpLnJlbW92ZU1lbnUoKSx0aGlzLnN0b3JlLmdldFRvb2x0aXBDb250cm9sbGVyKCkuY29udGFpbmVyLnJlbW92ZSgpLGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgiaW1wLWZ1bGxzY3JlZW4tbW9kZSIpLG51bGw9PT0odD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjaW1wLWZ1bGxzY3JlZW4tY29udGFpbmVyIikpfHx2b2lkIDA9PT10fHx0LnJlbW92ZSgpLHRoaXMuY2xvc2VGdWxsc2NyZWVuQ2FsbGJhY2soKSl9fV0pLHR9KCksd3Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpeygwLHB0LlopKHRoaXMsdCksbXQodGhpcywic3RvcmUiLHZvaWQgMCksbXQodGhpcywiaW1hZ2UiLHZvaWQgMCksbXQodGhpcywiZWxlbWVudCIsdm9pZCAwKSxtdCh0aGlzLCJ3aW5kb3ciLHt3aWR0aDowLGhlaWdodDowfSksbXQodGhpcywicmF0aW8iLDEpLHRoaXMuc3RvcmU9ZSx0aGlzLmVsZW1lbnQ9KDAsbS5CdikodGhpcy5odG1sKCkpLHRoaXMuaW1hZ2U9dGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbXAtdWktbmF2aWdhdG9yLXdpbmRvdy1pbWFnZSIpfXJldHVybigwLGR0LlopKHQsW3trZXk6Imh0bWwiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9JzxkaXYgY2xhc3M9ImltcC11aS1lbGVtZW50IGltcC11aS1uYXZpZ2F0b3Itcm9vdCIgZGF0YS1lbGVtZW50LW5hbWU9Im5hdmlnYXRvciIgZGF0YS1pbWFnZS1tYXAtaWQ9Jy5jb25jYXQodGhpcy5zdG9yZS5nZXRJRCgpLCI+Iik7cmV0dXJuIHQrPSc8ZGl2IGNsYXNzPSJpbXAtdWktbmF2aWdhdG9yLW92ZXJsYXkiPjwvZGl2PicsImltYWdlIj09PXRoaXMuc3RvcmUuZ2V0QXJ0Ym9hcmQoKS5iYWNrZ3JvdW5kX3R5cGUmJih0Kz0nPGltZyBzcmM9IicuY29uY2F0KHRoaXMuc3RvcmUuZ2V0QXJ0Ym9hcmQoKS5pbWFnZV91cmwsJyIgY2xhc3M9ImltcC11aS1uYXZpZ2F0b3Itd2luZG93LWltYWdlIj4nKSx0Kz0nPGltZyBzcmM9IicuY29uY2F0KHRoaXMuc3RvcmUuZ2V0QXJ0Ym9hcmQoKS5pbWFnZV91cmwsJyIgY2xhc3M9ImltcC11aS1uYXZpZ2F0b3ItYmFja2dyb3VuZC1lZGdlZmlsbCI+JyksdCs9JzxpbWcgc3JjPSInLmNvbmNhdCh0aGlzLnN0b3JlLmdldEFydGJvYXJkKCkuaW1hZ2VfdXJsLCciIGNsYXNzPSJpbXAtdWktbmF2aWdhdG9yLWJhY2tncm91bmQiPicpKSwiY29sb3IiPT09dGhpcy5zdG9yZS5nZXRBcnRib2FyZCgpLmJhY2tncm91bmRfdHlwZSYmKHQrPSc8ZGl2IGNsYXNzPSJpbXAtdWktbmF2aWdhdG9yLXdpbmRvdy1pbWFnZSIgc3R5bGU9ImJhY2tncm91bmQ6ICcuY29uY2F0KHRoaXMuc3RvcmUuZ2V0QXJ0Ym9hcmQoKS5iYWNrZ3JvdW5kX2NvbG9yLCciPjwvZGl2PicpLHQrPSc8ZGl2IGNsYXNzPSJpbXAtdWktbmF2aWdhdG9yLWJhY2tncm91bmQtZWRnZWZpbGwiIHN0eWxlPSJiYWNrZ3JvdW5kOiAnLmNvbmNhdCh0aGlzLnN0b3JlLmdldEFydGJvYXJkKCkuYmFja2dyb3VuZF9jb2xvciwnIj48L2Rpdj4nKSx0Kz0nPGRpdiBjbGFzcz0iaW1wLXVpLW5hdmlnYXRvci1iYWNrZ3JvdW5kIiBzdHlsZT0iYmFja2dyb3VuZDogJy5jb25jYXQodGhpcy5zdG9yZS5nZXRBcnRib2FyZCgpLmJhY2tncm91bmRfY29sb3IsJyI+PC9kaXY+JykpLCJub25lIj09PXRoaXMuc3RvcmUuZ2V0QXJ0Ym9hcmQoKS5iYWNrZ3JvdW5kX3R5cGUmJih0Kz0nPGRpdiBjbGFzcz0iaW1wLXVpLW5hdmlnYXRvci13aW5kb3ctaW1hZ2UiPjwvZGl2PicpLHQrPSI8L2Rpdj4ifX0se2tleToiYWRqdXN0U2l6ZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxtLllvKSh0aGlzLnN0b3JlLmdldENhbnZhc1dyYXAoKSkud2lkdGgvKDAsbS5ZbykodGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwKCkpLmhlaWdodDt0Pj0xPyh0aGlzLndpbmRvdy53aWR0aD0xNTAsdGhpcy53aW5kb3cuaGVpZ2h0PXRoaXMud2luZG93LndpZHRoL3QpOih0aGlzLndpbmRvdy5oZWlnaHQ9MTUwLHRoaXMud2luZG93LndpZHRoPXRoaXMud2luZG93LmhlaWdodCp0KSx0aGlzLmVsZW1lbnQuc3R5bGUud2lkdGg9dGhpcy53aW5kb3cud2lkdGgrInB4Iix0aGlzLmVsZW1lbnQuc3R5bGUuaGVpZ2h0PXRoaXMud2luZG93LmhlaWdodCsicHgiLHRoaXMucmF0aW89dGhpcy53aW5kb3cud2lkdGgvKDAsbS5ZbykodGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwKCkpLndpZHRofX0se2tleToicmVkcmF3Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PS10aGlzLnN0b3JlLmdldFBhbigpLngqdGhpcy5yYXRpby90aGlzLnN0b3JlLmdldFpvb20oKSxlPXRoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcFJlY3QoKS53aWR0aCp0aGlzLnJhdGlvLSh0K3RoaXMud2luZG93LndpZHRoL3RoaXMuc3RvcmUuZ2V0Wm9vbSgpKSxuPS10aGlzLnN0b3JlLmdldFBhbigpLnkqdGhpcy5yYXRpby90aGlzLnN0b3JlLmdldFpvb20oKSxvPXRoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcFJlY3QoKS5oZWlnaHQqdGhpcy5yYXRpby0obit0aGlzLndpbmRvdy5oZWlnaHQvdGhpcy5zdG9yZS5nZXRab29tKCkpO3RoaXMuaW1hZ2UmJih0aGlzLmltYWdlLnN0eWxlLmNsaXBQYXRoPSJpbnNldCgiLmNvbmNhdChuLCJweCAiKS5jb25jYXQoZSwicHggIikuY29uY2F0KG8sInB4ICIpLmNvbmNhdCh0LCJweCkiKSl9fV0pLHR9KCkseHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpeygwLHB0LlopKHRoaXMsdCksbXQodGhpcywic3RvcmUiLHZvaWQgMCksbXQodGhpcywibmF2aWdhdG9yIix2b2lkIDApLG10KHRoaXMsIml4IiwwKSxtdCh0aGlzLCJpeSIsMCksdGhpcy5zdG9yZT1lLHRoaXMuc3RvcmUuc3RhdGUuem9vbWluZy5lbmFibGVfem9vbWluZyYmdGhpcy5zdG9yZS5zdGF0ZS56b29taW5nLmVuYWJsZV9uYXZpZ2F0b3I/KHRoaXMuc3RvcmUuc3Vic2NyaWJlKHRoaXMuaGFuZGxlQWN0aW9uLmJpbmQodGhpcykpLHRoaXMuY3JlYXRlVUkoKSk6dGhpcy5uYXZpZ2F0b3I9e2VsZW1lbnQ6ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksYWRqdXN0U2l6ZTpmdW5jdGlvbigpe319fXJldHVybigwLGR0LlopKHQsW3trZXk6ImNyZWF0ZVVJIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuc3RvcmUuc3RhdGUuem9vbWluZy5lbmFibGVfem9vbWluZyYmdGhpcy5zdG9yZS5zdGF0ZS56b29taW5nLmVuYWJsZV9uYXZpZ2F0b3ImJih0aGlzLm5hdmlnYXRvciYmdGhpcy5uYXZpZ2F0b3IuZWxlbWVudC5yZW1vdmUoKSx0aGlzLm5hdmlnYXRvcj1uZXcgd3QodGhpcy5zdG9yZSkpfX0se2tleToiaW5zZXJ0VUkiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5zdG9yZS5zdGF0ZS56b29taW5nLmVuYWJsZV96b29taW5nJiZ0aGlzLnN0b3JlLnN0YXRlLnpvb21pbmcuZW5hYmxlX25hdmlnYXRvciYmKHRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QuZW5hYmxlX29iamVjdF9saXN0JiYib24tdG9wIj09PXRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QubWVudV9zdHlsZSYmImxlZnQiPT09dGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5tZW51X3Bvc2l0aW9uP3RoaXMuc3RvcmUuZ2V0VUlXcmFwKCkucXVlcnlTZWxlY3RvcigiLmltcC11aS1ib3R0b20tcmlnaHQiKS5hcHBlbmRDaGlsZCh0aGlzLm5hdmlnYXRvci5lbGVtZW50KTp0aGlzLnN0b3JlLmdldFVJV3JhcCgpLnF1ZXJ5U2VsZWN0b3IoIi5pbXAtdWktYm90dG9tLWxlZnQiKS5hcHBlbmRDaGlsZCh0aGlzLm5hdmlnYXRvci5lbGVtZW50KSx0aGlzLm5hdmlnYXRvci5hZGp1c3RTaXplKCkpfX0se2tleToiaGFuZGxlQWN0aW9uIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzOyJyZXNpemUiPT10LnR5cGUmJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7ZS5uYXZpZ2F0b3IuYWRqdXN0U2l6ZSgpLGUubmF2aWdhdG9yLnJlZHJhdygpfSkpfSkpLCJwYW5Pbk5hdmlnYXRvciI9PXQudHlwZSYmdGhpcy5wYW4oe3g6dC5wYXlsb2FkLngseTp0LnBheWxvYWQueX0pLCJ6b29tVXBkYXRlIj09dC50eXBlJiZ0aGlzLm5hdmlnYXRvci5yZWRyYXcoKX19LHtrZXk6InBhbiIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dC54LG49dC55LG89KGUtdGhpcy5zdG9yZS5nZXROYXZpZ2F0b3JSZWN0KCkub2Zmc2V0LmxlZnQpL3RoaXMubmF2aWdhdG9yLnJhdGlvKnRoaXMuc3RvcmUuZ2V0Wm9vbSgpLGk9KG4tdGhpcy5zdG9yZS5nZXROYXZpZ2F0b3JSZWN0KCkub2Zmc2V0LnRvcCkvdGhpcy5uYXZpZ2F0b3IucmF0aW8qdGhpcy5zdG9yZS5nZXRab29tKCk7dGhpcy5zdG9yZS5kaXNwYXRjaCgicGFuVG8iLHt4Om8seTppfSl9fV0pLHR9KCksa3Q9X193ZWJwYWNrX3JlcXVpcmVfXyg5NzEpLGp0PV9fd2VicGFja19yZXF1aXJlX18oMTQ0KSxNdD17aWQ6ImRlZmF1bHQtaWQiLHR5cGU6ImFydGJvYXJkIix0aXRsZToiQXJ0Ym9hcmQiLGJhY2tncm91bmRfdHlwZToiY29sb3IiLGJhY2tncm91bmRfY29sb3I6IiNmZmZmZmYiLGltYWdlX3VybDoiIix3aWR0aDo4NDgsaGVpZ2h0OjQ4MCx1c2VfaW1hZ2Vfc2l6ZTohMSxjaGlsZHJlbjpbXX0sSXQ9e2lkOiJzcG90LTAiLHRpdGxlOiJPYmplY3QiLHR5cGU6InNwb3QiLHg6MCx5OjAsd2lkdGg6NDQsaGVpZ2h0OjQ0LHN0YXRpYzohMSxjaGlsZHJlbjpbXSxwYXJlbnRfaWQ6IiIsc2luZ2xlX29iamVjdDohMSxkZWZhdWx0X3N0eWxlOntvcGFjaXR5OjEsYmFja2dyb3VuZF90eXBlOiJjb2xvciIsYmFja2dyb3VuZF9jb2xvcjoiIzAwMDAwMCIsYmFja2dyb3VuZF9vcGFjaXR5Oi40LGJvcmRlcl9yYWRpdXM6NCxib3JkZXJfd2lkdGg6MCxib3JkZXJfc3R5bGU6InNvbGlkIixib3JkZXJfY29sb3I6IiNmZmZmZmYiLGJvcmRlcl9vcGFjaXR5OjEsYmFja2dyb3VuZF9pbWFnZV91cmw6IiIsYmFja2dyb3VuZF9pbWFnZV9vcGFjaXR5OjEsYmFja2dyb3VuZF9pbWFnZV9zY2FsZToxLGJhY2tncm91bmRfaW1hZ2Vfb2Zmc2V0X3g6MCxiYWNrZ3JvdW5kX2ltYWdlX29mZnNldF95OjAsc3Ryb2tlX2NvbG9yOiIjZmZmZmZmIixzdHJva2Vfb3BhY2l0eTouNzUsc3Ryb2tlX3dpZHRoOjAsc3Ryb2tlX2Rhc2hhcnJheToiMCIsc3Ryb2tlX2xpbmVjYXA6InJvdW5kIix1c2VfaWNvbjohMCxpY29uX3NpemU6NDQsaWNvbl90eXBlOiJsaWJyYXJ5IixpY29uX3N2ZzonPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMzg0IDUxMiI+XHgzYyEtLSEgRm9udCBBd2Vzb21lIEZyZWUgNi40LjIgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuIC0tXHgzZTxwYXRoIGQ9Ik0yMTUuNyA0OTkuMkMyNjcgNDM1IDM4NCAyNzkuNCAzODQgMTkyQzM4NCA4NiAyOTggMCAxOTIgMFMwIDg2IDAgMTkyYzAgODcuNCAxMTcgMjQzIDE2OC4zIDMwNy4yYzEyLjMgMTUuMyAzNS4xIDE1LjMgNDcuNCAwek0xOTIgMTI4YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4eiIvPjwvc3ZnPicsaWNvbl9maWxsOiIjMDAwMDAwIixpY29uX3VybDoiIixpY29uX2lzX3BpbjohMCxpY29uX3NoYWRvdzohMSxwYXJlbnRfZmlsdGVyczpbXSxmaWx0ZXJzOltdfSxtb3VzZW92ZXJfc3R5bGU6e29wYWNpdHk6MSxiYWNrZ3JvdW5kX3R5cGU6ImNvbG9yIixiYWNrZ3JvdW5kX2NvbG9yOiIjMDAwMDAwIixiYWNrZ3JvdW5kX29wYWNpdHk6LjgsYmFja2dyb3VuZF9pbWFnZV91cmw6IiIsYmFja2dyb3VuZF9pbWFnZV9vcGFjaXR5OjEsYmFja2dyb3VuZF9pbWFnZV9zY2FsZToxLGJhY2tncm91bmRfaW1hZ2Vfb2Zmc2V0X3g6MCxiYWNrZ3JvdW5kX2ltYWdlX29mZnNldF95OjAsYm9yZGVyX3JhZGl1czo0LGJvcmRlcl93aWR0aDowLGJvcmRlcl9zdHlsZToic29saWQiLGJvcmRlcl9jb2xvcjoiI2ZmZmZmZiIsYm9yZGVyX29wYWNpdHk6MSxzdHJva2VfY29sb3I6IiNmZmZmZmYiLHN0cm9rZV9vcGFjaXR5Oi43NSxzdHJva2Vfd2lkdGg6MCxzdHJva2VfZGFzaGFycmF5OiIwIixzdHJva2VfbGluZWNhcDoicm91bmQiLGljb25fZmlsbDoiIzAwMDAwMCIscGFyZW50X2ZpbHRlcnM6W10sZmlsdGVyczpbXX0sdG9vbHRpcDp7ZW5hYmxlX3Rvb2x0aXA6ITB9LHRvb2x0aXBfc3R5bGU6e2JvcmRlcl9yYWRpdXM6MTAscGFkZGluZzoxNSxiYWNrZ3JvdW5kX2NvbG9yOiIjMjIyMjIyIixiYWNrZ3JvdW5kX29wYWNpdHk6MSxwb3NpdGlvbjoidG9wIix3aWR0aDoyMjUsYXV0b193aWR0aDohMCxvZmZzZXRfeDowLG9mZnNldF95OjB9LHRvb2x0aXBfY29udGVudDpbXSx0ZXh0Ont0ZXh0OiJUZXh0Iixmb250X2ZhbWlseToic2Fucy1zZXJpZiIsZm9udF9zaXplOjE2LGZvbnRfd2VpZ2h0OjQwMCx0ZXh0X2NvbG9yOiIjMDAwMDAwIix0ZXh0X29wYWNpdHk6MX0sYWN0aW9uczp7Y2xpY2s6Im5vLWFjdGlvbiIsbGluazoiIyIsb3Blbl9saW5rX2luX25ld193aW5kb3c6ITAsc2NyaXB0OiIiLGFydGJvYXJkOiIifSx4X2ltYWdlX2JhY2tncm91bmQ6LTEseV9pbWFnZV9iYWNrZ3JvdW5kOi0xLHdpZHRoX2ltYWdlX2JhY2tncm91bmQ6NDQsaGVpZ2h0X2ltYWdlX2JhY2tncm91bmQ6NDQscG9pbnRzOltdLHN2Zzp7aHRtbDoiIix0YWdOYW1lOiIiLHByb3BlcnRpZXM6W10sdmlld0JveDoiIn19LEN0PXtwYXJhZ3JhcGg6e3R5cGU6IlBhcmFncmFwaCIsdGV4dDoiIixvdGhlcjp7aWQ6IiIsY2xhc3NlczoiIixjc3M6IiJ9LHN0eWxlOntmb250RmFtaWx5OiJzYW5zLXNlcmlmIixmb250U2l6ZToxNCxsaW5lSGVpZ2h0OjIyLGNvbG9yOiIjZmZmZmZmIix0ZXh0QWxpZ246ImxlZnQifSxib3hNb2RlbDp7d2lkdGg6ImF1dG8iLGhlaWdodDoiYXV0byIsbWFyZ2luOnt0b3A6MCxib3R0b206MCxsZWZ0OjAscmlnaHQ6MH0scGFkZGluZzp7dG9wOjEwLGJvdHRvbToxMCxsZWZ0OjEwLHJpZ2h0OjEwfX19LGhlYWRpbmc6e3R5cGU6IkhlYWRpbmciLHRleHQ6IiIsaGVhZGluZzoiaDMiLG90aGVyOntpZDoiIixjbGFzc2VzOiIiLGNzczoiIn0sc3R5bGU6e2ZvbnRGYW1pbHk6InNhbnMtc2VyaWYiLGZvbnRTaXplOjIwLjgsbGluZUhlaWdodDoibm9ybWFsIixjb2xvcjoiI2ZmZmZmZiIsdGV4dEFsaWduOiJsZWZ0In0sYm94TW9kZWw6e3dpZHRoOiJhdXRvIixoZWlnaHQ6ImF1dG8iLG1hcmdpbjp7dG9wOjAsYm90dG9tOjAsbGVmdDowLHJpZ2h0OjB9LHBhZGRpbmc6e3RvcDoxMCxib3R0b206MTAsbGVmdDoxMCxyaWdodDoxMH19fSxidXR0b246e3R5cGU6IkJ1dHRvbiIsdGV4dDoiQnV0dG9uIix1cmw6IiMiLHNjcmlwdDoiIixuZXdUYWI6ITEsb3RoZXI6e2lkOiIiLGNsYXNzZXM6IiIsY3NzOiIifSxzdHlsZTp7YmFja2dyb3VuZENvbG9yOiIjMjE5NmYzIixib3JkZXJSYWRpdXM6MTAsZm9udEZhbWlseToic2Fucy1zZXJpZiIsZm9udFdlaWdodDo3MDAsZm9udFNpemU6MTQsbGluZUhlaWdodDo0NCxjb2xvcjoiI2ZmZmZmZiIsZGlzcGxheToiaW5saW5lLWJsb2NrIn0sYm94TW9kZWw6e3dpZHRoOiJhdXRvIixoZWlnaHQ6NDQsbWFyZ2luOnt0b3A6MCxib3R0b206MCxsZWZ0OjAscmlnaHQ6MH0scGFkZGluZzp7dG9wOjEwLGJvdHRvbToxMCxsZWZ0OjEwLHJpZ2h0OjEwfX19LGltYWdlOnt0eXBlOiJJbWFnZSIsdXJsOiIiLGxpbmtVcmw6IiIsb3RoZXI6e2lkOiIiLGNsYXNzZXM6IiIsY3NzOiIifSxib3hNb2RlbDp7d2lkdGg6ImF1dG8iLGhlaWdodDoiYXV0byIsbWFyZ2luOnt0b3A6MCxib3R0b206MCxsZWZ0OjAscmlnaHQ6MH0scGFkZGluZzp7dG9wOjEwLGJvdHRvbToxMCxsZWZ0OjEwLHJpZ2h0OjEwfX19LHZpZGVvOnt0eXBlOiJWaWRlbyIsc3JjOnt3ZWJtOiJodHRwOi8vd2ViY3JhZnRwbHVnaW5zLmNvbS91cGxvYWRzL2V4YW1wbGVfdmlkZW8ud2VibSIsbXA0OiJodHRwOi8vd2ViY3JhZnRwbHVnaW5zLmNvbS91cGxvYWRzL2V4YW1wbGVfdmlkZW8ubXA0IixvZ3Y6Imh0dHA6Ly93ZWJjcmFmdHBsdWdpbnMuY29tL3VwbG9hZHMvZXhhbXBsZV92aWRlby5vZ3YifSxsaW5rVXJsOiIiLGF1dG9wbGF5OiExLGxvb3A6ITEsY29udHJvbHM6ITAsb3RoZXI6e2lkOiIiLGNsYXNzZXM6IiIsY3NzOiIifSxzdHlsZTp7fSxib3hNb2RlbDp7d2lkdGg6ImF1dG8iLGhlaWdodDoiYXV0byIsbWFyZ2luOnt0b3A6MCxib3R0b206MCxsZWZ0OjAscmlnaHQ6MH0scGFkZGluZzp7dG9wOjEwLGJvdHRvbToxMCxsZWZ0OjEwLHJpZ2h0OjEwfX19LHlvdXR1YmU6e3R5cGU6IllvdVR1YmUiLGVtYmVkQ29kZTonPGlmcmFtZSB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIzMTUiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvNk5DX09ESHU1amciIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+JyxhbGxvd0Z1bGxzY3JlZW46ITEsb3RoZXI6e2lkOiIiLGNsYXNzZXM6IiIsY3NzOiIifSxzdHlsZTp7fSxib3hNb2RlbDp7d2lkdGg6ImF1dG8iLGhlaWdodDoiYXV0byIsbWFyZ2luOnt0b3A6MCxib3R0b206MCxsZWZ0OjAscmlnaHQ6MH0scGFkZGluZzp7dG9wOjEwLGJvdHRvbToxMCxsZWZ0OjEwLHJpZ2h0OjEwfX19fSxFdD17dmVyc2lvbjoiNi4wLjIwIixpZDowLGdlbmVyYWw6e25hbWU6IlVudGl0bGVkIixzaG9ydGNvZGU6IiIscmVzcG9uc2l2ZTohMCx1aV90aGVtZToibGlnaHQifSxmdWxsc2NyZWVuOntlbmFibGVfZnVsbHNjcmVlbl9tb2RlOiExLHN0YXJ0X2luX2Z1bGxzY3JlZW5fbW9kZTohMX0sb2JqZWN0Q29uZmlnOntwYWdlbG9hZF9hbmltYXRpb246Im5vbmUiLGdsb3dpbmdfb2JqZWN0czohMSxnbG93aW5nX29iamVjdHNfY29sb3I6IiNmZmZmZmYiLGdsb3dfb3BhY2l0eTouNSxzdG9wX2dsb3dpbmdfb25fbW91c2VvdmVyOiEwLHNjYWxlX3Nwb3RzOiEwfSx0b29sdGlwczp7ZW5hYmxlX3Rvb2x0aXBzOiEwLHNob3dfdG9vbHRpcHM6Im1vdXNlb3ZlciIsc3RpY2t5X3Rvb2x0aXBzOiExLGNvbnN0cmFpbl90b29sdGlwczohMCx0b29sdGlwX2FuaW1hdGlvbjoibm9uZSIsZnVsbHNjcmVlbl90b29sdGlwczoibW9iaWxlLW9ubHkiLGZ1bGxzY3JlZW5fYmFja2dyb3VuZDoiI2ZmZmZmZiIsZnVsbHNjcmVlbl9iYWNrZ3JvdW5kX29wYWNpdHk6Ljc1fSx6b29taW5nOntlbmFibGVfem9vbWluZzohMSxtYXhfem9vbTo0LGxpbWl0X21heF96b29tX3RvX2ltYWdlX3NpemU6ITEsZW5hYmxlX3pvb21fYnV0dG9uczohMCxlbmFibGVfbmF2aWdhdG9yOiEwLGhvbGRfY3RybF90b196b29tOiEwLHpvb21fb25fb2JqZWN0X2NsaWNrOiExfSxvYmplY3RfbGlzdDp7ZW5hYmxlX29iamVjdF9saXN0OiExLG1lbnVfc3R5bGU6ImRlZmF1bHQiLG1lbnVfcG9zaXRpb246ImxlZnQiLGVuYWJsZV9zZWFyY2g6ITAsZ3JvdXBfYnlfYXJ0Ym9hcmQ6ITEsZmxhdF9oaWVyYXJjaHk6ITAsc2hvd19ncm91cHM6ITAsc2hvd19vbmx5X29iamVjdHNfZnJvbV9hY3RpdmVfYXJ0Ym9hcmQ6ITEsaGlkZV9zdGF0aWNfb2JqZWN0czohMH0sY3VzdG9tX2NvZGU6e2N1c3RvbV9jc3M6IiIsY3VzdG9tX2pzOiIiLHByZXZpZXdfY3VzdG9tX2NzczohMX0sZGVmYXVsdHM6e29iamVjdERlZmF1bHRzOm0uWkIoe30sSXQpfSxhcnRib2FyZHM6W119LE90PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXsoMCxwdC5aKSh0aGlzLHQpLHRoaXMub3B0aW9ucz0oMCxtLlpCKSh7fSxDdC5wYXJhZ3JhcGgsZSl9cmV0dXJuKDAsZHQuWikodCxbe2tleToiY3NzIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiJcbiAgICBmb250LWZhbWlseTogIi5jb25jYXQodGhpcy5vcHRpb25zLnN0eWxlLmZvbnRGYW1pbHksIjtcbiAgICBmb250LXNpemU6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuc3R5bGUuZm9udFNpemUsInB4O1xuICAgIGxpbmUtaGVpZ2h0OiAiKS5jb25jYXQoKDAsbS5oaikodGhpcy5vcHRpb25zLnN0eWxlLmxpbmVIZWlnaHQpP3RoaXMub3B0aW9ucy5zdHlsZS5saW5lSGVpZ2h0KyJweCI6dGhpcy5vcHRpb25zLnN0eWxlLmxpbmVIZWlnaHQsIjtcbiAgICBjb2xvcjogIikuY29uY2F0KHRoaXMub3B0aW9ucy5zdHlsZS5jb2xvciwiO1xuXG4gICAgdGV4dC1hbGlnbjogIikuY29uY2F0KHRoaXMub3B0aW9ucy5zdHlsZS50ZXh0QWxpZ24sIjtcblxuICAgIHdpZHRoOiAiKS5jb25jYXQoImF1dG8iPT10aGlzLm9wdGlvbnMuYm94TW9kZWwud2lkdGg/dGhpcy5vcHRpb25zLmJveE1vZGVsLndpZHRoOnRoaXMub3B0aW9ucy5ib3hNb2RlbC53aWR0aCsicHgiLCI7XG4gICAgaGVpZ2h0OiAiKS5jb25jYXQoImF1dG8iPT10aGlzLm9wdGlvbnMuYm94TW9kZWwuaGVpZ2h0P3RoaXMub3B0aW9ucy5ib3hNb2RlbC5oZWlnaHQ6dGhpcy5vcHRpb25zLmJveE1vZGVsLmhlaWdodCsicHgiLCI7XG5cbiAgICBtYXJnaW4tdG9wOiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLm1hcmdpbi50b3AsInB4O1xuICAgIG1hcmdpbi1ib3R0b206ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwubWFyZ2luLmJvdHRvbSwicHg7XG4gICAgbWFyZ2luLWxlZnQ6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwubWFyZ2luLmxlZnQsInB4O1xuICAgIG1hcmdpbi1yaWdodDogIikuY29uY2F0KHRoaXMub3B0aW9ucy5ib3hNb2RlbC5tYXJnaW4ucmlnaHQsInB4O1xuXG4gICAgcGFkZGluZy10b3A6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwucGFkZGluZy50b3AsInB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLnBhZGRpbmcuYm90dG9tLCJweDtcbiAgICBwYWRkaW5nLWxlZnQ6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwucGFkZGluZy5sZWZ0LCJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLnBhZGRpbmcucmlnaHQsInB4O1xuICAgICIpfX0se2tleToiaHRtbCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4nPGRpdiBzdHlsZT0iJy5jb25jYXQodGhpcy5jc3MoKSwiICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMub3RoZXIuY3NzLCciIGlkPSInKS5jb25jYXQodGhpcy5vcHRpb25zLm90aGVyLmlkLCciIGNsYXNzPSInKS5jb25jYXQodGhpcy5vcHRpb25zLm90aGVyLmNsYXNzZXMsJyI+JykuY29uY2F0KHRoaXMub3B0aW9ucy50ZXh0LCI8L2Rpdj4iKX19XSksdH0oKSxBdD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7KDAscHQuWikodGhpcyx0KSx0aGlzLm9wdGlvbnM9KDAsbS5aQikoe30sQ3QuaGVhZGluZyxlKX1yZXR1cm4oMCxkdC5aKSh0LFt7a2V5OiJjc3MiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9IlxuICAgIGZvbnQtZmFtaWx5OiAiLmNvbmNhdCh0aGlzLm9wdGlvbnMuc3R5bGUuZm9udEZhbWlseSwiO1xuICAgIGZvbnQtc2l6ZTogIikuY29uY2F0KHRoaXMub3B0aW9ucy5zdHlsZS5mb250U2l6ZSwicHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6ICIpLmNvbmNhdCgoMCxtLmhqKSh0aGlzLm9wdGlvbnMuc3R5bGUubGluZUhlaWdodCk/dGhpcy5vcHRpb25zLnN0eWxlLmxpbmVIZWlnaHQrInB4Ijp0aGlzLm9wdGlvbnMuc3R5bGUubGluZUhlaWdodCwiO1xuICAgIGNvbG9yOiAiKS5jb25jYXQodGhpcy5vcHRpb25zLnN0eWxlLmNvbG9yLCI7XG5cbiAgICB0ZXh0LWFsaWduOiAiKS5jb25jYXQodGhpcy5vcHRpb25zLnN0eWxlLnRleHRBbGlnbiwiO1xuXG4gICAgd2lkdGg6ICIpLmNvbmNhdCgiYXV0byI9PXRoaXMub3B0aW9ucy5ib3hNb2RlbC53aWR0aD90aGlzLm9wdGlvbnMuYm94TW9kZWwud2lkdGg6dGhpcy5vcHRpb25zLmJveE1vZGVsLndpZHRoKyJweCIsIjtcbiAgICBoZWlnaHQ6ICIpLmNvbmNhdCgiYXV0byI9PXRoaXMub3B0aW9ucy5ib3hNb2RlbC5oZWlnaHQ/dGhpcy5vcHRpb25zLmJveE1vZGVsLmhlaWdodDp0aGlzLm9wdGlvbnMuYm94TW9kZWwuaGVpZ2h0KyJweCIsIjtcblxuICAgIG1hcmdpbi10b3A6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwubWFyZ2luLnRvcCwicHg7XG4gICAgbWFyZ2luLWJvdHRvbTogIikuY29uY2F0KHRoaXMub3B0aW9ucy5ib3hNb2RlbC5tYXJnaW4uYm90dG9tLCJweDtcbiAgICBtYXJnaW4tbGVmdDogIikuY29uY2F0KHRoaXMub3B0aW9ucy5ib3hNb2RlbC5tYXJnaW4ubGVmdCwicHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLm1hcmdpbi5yaWdodCwicHg7XG5cbiAgICBwYWRkaW5nLXRvcDogIikuY29uY2F0KHRoaXMub3B0aW9ucy5ib3hNb2RlbC5wYWRkaW5nLnRvcCwicHg7XG4gICAgcGFkZGluZy1ib3R0b206ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwucGFkZGluZy5ib3R0b20sInB4O1xuICAgIHBhZGRpbmctbGVmdDogIikuY29uY2F0KHRoaXMub3B0aW9ucy5ib3hNb2RlbC5wYWRkaW5nLmxlZnQsInB4O1xuICAgIHBhZGRpbmctcmlnaHQ6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwucGFkZGluZy5yaWdodCwicHg7XG4gICAgIik7cmV0dXJuKDAsbS5oaikodGhpcy5vcHRpb25zLnN0eWxlLmxpbmVIZWlnaHQpP3QrPSJsaW5lLWhlaWdodDogIi5jb25jYXQodGhpcy5vcHRpb25zLnN0eWxlLmxpbmVIZWlnaHQsInB4OyIpOnQrPSJsaW5lLWhlaWdodDogIi5jb25jYXQodGhpcy5vcHRpb25zLnN0eWxlLmxpbmVIZWlnaHQsIjsiKSx0fX0se2tleToiaHRtbCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iPCIuY29uY2F0KHRoaXMub3B0aW9ucy5oZWFkaW5nLCcgc3R5bGU9IicpLmNvbmNhdCh0aGlzLmNzcygpLCIgIikuY29uY2F0KHRoaXMub3B0aW9ucy5vdGhlci5jc3MsJyIgaWQ9IicpLmNvbmNhdCh0aGlzLm9wdGlvbnMub3RoZXIuaWQsJyIgY2xhc3M9IicpLmNvbmNhdCh0aGlzLm9wdGlvbnMub3RoZXIuY2xhc3NlcywnIj4nKS5jb25jYXQodGhpcy5vcHRpb25zLnRleHQsIjwvIikuY29uY2F0KHRoaXMub3B0aW9ucy5oZWFkaW5nLCI+Iil9fV0pLHR9KCksUHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpeygwLHB0LlopKHRoaXMsdCksdGhpcy5vcHRpb25zPSgwLG0uWkIpKHt9LEN0LmltYWdlLGUpfXJldHVybigwLGR0LlopKHQsW3trZXk6ImNzcyIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iXG4gICAgd2lkdGg6ICIuY29uY2F0KCJhdXRvIj09dGhpcy5vcHRpb25zLmJveE1vZGVsLndpZHRoP3RoaXMub3B0aW9ucy5ib3hNb2RlbC53aWR0aDp0aGlzLm9wdGlvbnMuYm94TW9kZWwud2lkdGgrInB4IiwiO1xuICAgIGhlaWdodDogIikuY29uY2F0KCJhdXRvIj09dGhpcy5vcHRpb25zLmJveE1vZGVsLmhlaWdodD90aGlzLm9wdGlvbnMuYm94TW9kZWwuaGVpZ2h0OnRoaXMub3B0aW9ucy5ib3hNb2RlbC5oZWlnaHQrInB4IiwiO1xuXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgbWFyZ2luLXRvcDogIikuY29uY2F0KHRoaXMub3B0aW9ucy5ib3hNb2RlbC5tYXJnaW4udG9wLCJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLm1hcmdpbi5ib3R0b20sInB4O1xuICAgIG1hcmdpbi1sZWZ0OiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLm1hcmdpbi5sZWZ0LCJweDtcbiAgICBtYXJnaW4tcmlnaHQ6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwubWFyZ2luLnJpZ2h0LCJweDtcblxuICAgIHBhZGRpbmctdG9wOiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLnBhZGRpbmcudG9wLCJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogIikuY29uY2F0KHRoaXMub3B0aW9ucy5ib3hNb2RlbC5wYWRkaW5nLmJvdHRvbSwicHg7XG4gICAgcGFkZGluZy1sZWZ0OiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLnBhZGRpbmcubGVmdCwicHg7XG4gICAgcGFkZGluZy1yaWdodDogIikuY29uY2F0KHRoaXMub3B0aW9ucy5ib3hNb2RlbC5wYWRkaW5nLnJpZ2h0LCJweDtcbiAgICAiKX19LHtrZXk6ImlzVmFsaWRIdHRwVXJsIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZTt0cnl7ZT1uZXcgVVJMKHQpfWNhdGNoKHQpe3JldHVybiExfXJldHVybiJodHRwOiI9PT1lLnByb3RvY29sfHwiaHR0cHM6Ij09PWUucHJvdG9jb2x9fSx7a2V5OiJodG1sIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSdcbiAgICA8ZGl2IHN0eWxlPSInLmNvbmNhdCh0aGlzLmNzcygpLCIgIikuY29uY2F0KHRoaXMub3B0aW9ucy5vdGhlci5jc3MsJyI+XG4gICAgPGltZyBzcmM9IicpLmNvbmNhdCh0aGlzLm9wdGlvbnMudXJsLCciIHN0eWxlPSJ3aWR0aDogMTAwJSIgaWQ9IicpLmNvbmNhdCh0aGlzLm9wdGlvbnMub3RoZXIuaWQsJyIgY2xhc3M9IicpLmNvbmNhdCh0aGlzLm9wdGlvbnMub3RoZXIuY2xhc3NlcywnIj5cbiAgICA8L2Rpdj5cbiAgICAnKTtyZXR1cm4gdGhpcy5pc1ZhbGlkSHR0cFVybCh0aGlzLm9wdGlvbnMubGlua1VybCkmJih0PSc8YSBocmVmPSInLmNvbmNhdCh0aGlzLm9wdGlvbnMubGlua1VybCwnIj4nKS5jb25jYXQodCwiPC9hPiIpKSx0fX1dKSx0fSgpLFR0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXsoMCxwdC5aKSh0aGlzLHQpLHRoaXMub3B0aW9ucz0oMCxtLlpCKSh7fSxDdC5idXR0b24sZSl9cmV0dXJuKDAsZHQuWikodCxbe2tleToiY3NzIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAiLmNvbmNhdCh0aGlzLm9wdGlvbnMuc3R5bGUuYmFja2dyb3VuZENvbG9yLCI7XG4gICAgYm9yZGVyLXJhZGl1czogIikuY29uY2F0KHRoaXMub3B0aW9ucy5zdHlsZS5ib3JkZXJSYWRpdXMsInB4O1xuXG4gICAgZm9udC1mYW1pbHk6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuc3R5bGUuZm9udEZhbWlseSwiO1xuICAgIGZvbnQtd2VpZ2h0OiAiKS5jb25jYXQodGhpcy5vcHRpb25zLnN0eWxlLmZvbnRXZWlnaHQsIjtcbiAgICBmb250LXNpemU6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuc3R5bGUuZm9udFNpemUsInB4O1xuICAgIGxpbmUtaGVpZ2h0OiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLmhlaWdodCwicHg7XG4gICAgY29sb3I6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuc3R5bGUuY29sb3IsIjtcblxuICAgIHdpZHRoOiAiKS5jb25jYXQoImF1dG8iPT10aGlzLm9wdGlvbnMuYm94TW9kZWwud2lkdGg/dGhpcy5vcHRpb25zLmJveE1vZGVsLndpZHRoOnRoaXMub3B0aW9ucy5ib3hNb2RlbC53aWR0aCsicHgiLCI7XG4gICAgaGVpZ2h0OiAiKS5jb25jYXQoImF1dG8iPT10aGlzLm9wdGlvbnMuYm94TW9kZWwuaGVpZ2h0P3RoaXMub3B0aW9ucy5ib3hNb2RlbC5oZWlnaHQ6dGhpcy5vcHRpb25zLmJveE1vZGVsLmhlaWdodCsicHgiLCI7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogIikuY29uY2F0KHRoaXMub3B0aW9ucy5zdHlsZS5kaXNwbGF5LCI7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgICIpfX0se2tleToid3JhcENzcyIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iXG4gICAgbWFyZ2luLXRvcDogIi5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLm1hcmdpbi50b3AsInB4O1xuICAgIG1hcmdpbi1ib3R0b206ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwubWFyZ2luLmJvdHRvbSwicHg7XG4gICAgbWFyZ2luLWxlZnQ6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwubWFyZ2luLmxlZnQsInB4O1xuICAgIG1hcmdpbi1yaWdodDogIikuY29uY2F0KHRoaXMub3B0aW9ucy5ib3hNb2RlbC5tYXJnaW4ucmlnaHQsInB4O1xuXG4gICAgcGFkZGluZy10b3A6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwucGFkZGluZy50b3AsInB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLnBhZGRpbmcuYm90dG9tLCJweDtcbiAgICBwYWRkaW5nLWxlZnQ6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwucGFkZGluZy5sZWZ0LCJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLnBhZGRpbmcucmlnaHQsInB4O1xuICAgICIpfX0se2tleToiaHRtbCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMubmV3VGFiPyd0YXJnZXQ9Il9ibGFuayInOiIiO3JldHVybidcbiAgICA8ZGl2IHN0eWxlPSInLmNvbmNhdCh0aGlzLndyYXBDc3MoKSwnIj5cbiAgICAgIDxhIGhyZWY9IicpLmNvbmNhdCh0aGlzLm9wdGlvbnMudXJsLCciICcpLmNvbmNhdCh0LCcgc3R5bGU9IicpLmNvbmNhdCh0aGlzLmNzcygpLCIgIikuY29uY2F0KHRoaXMub3B0aW9ucy5vdGhlci5jc3MsJyIgaWQ9IicpLmNvbmNhdCh0aGlzLm9wdGlvbnMub3RoZXIuaWQsJyIgY2xhc3M9IicpLmNvbmNhdCh0aGlzLm9wdGlvbnMub3RoZXIuY2xhc3NlcywnIiBvbmNsaWNrPSJldmFsKCcpLmNvbmNhdCh0aGlzLm9wdGlvbnMuc2NyaXB0LnJlcGxhY2UoIjxicj4iLCIiKSwnKSI+JykuY29uY2F0KHRoaXMub3B0aW9ucy50ZXh0LCI8L2E+XG4gICAgPC9kaXY+XG4gICAgIil9fV0pLHR9KCksenQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpeygwLHB0LlopKHRoaXMsdCksdGhpcy5vcHRpb25zPSgwLG0uWkIpKHt9LEN0LnlvdXR1YmUsZSl9cmV0dXJuKDAsZHQuWikodCxbe2tleToiY3NzIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiJcbiAgICB3aWR0aDogIi5jb25jYXQoImF1dG8iPT10aGlzLm9wdGlvbnMuYm94TW9kZWwud2lkdGg/dGhpcy5vcHRpb25zLmJveE1vZGVsLndpZHRoOnRoaXMub3B0aW9ucy5ib3hNb2RlbC53aWR0aCsicHgiLCI7XG4gICAgaGVpZ2h0OiAiKS5jb25jYXQoImF1dG8iPT10aGlzLm9wdGlvbnMuYm94TW9kZWwuaGVpZ2h0P3RoaXMub3B0aW9ucy5ib3hNb2RlbC5oZWlnaHQ6dGhpcy5vcHRpb25zLmJveE1vZGVsLmhlaWdodCsicHgiLCI7XG5cbiAgICBtYXJnaW4tdG9wOiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLm1hcmdpbi50b3AsInB4O1xuICAgIG1hcmdpbi1ib3R0b206ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwubWFyZ2luLmJvdHRvbSwicHg7XG4gICAgbWFyZ2luLWxlZnQ6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwubWFyZ2luLmxlZnQsInB4O1xuICAgIG1hcmdpbi1yaWdodDogIikuY29uY2F0KHRoaXMub3B0aW9ucy5ib3hNb2RlbC5tYXJnaW4ucmlnaHQsInB4O1xuXG4gICAgcGFkZGluZy10b3A6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwucGFkZGluZy50b3AsInB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLnBhZGRpbmcuYm90dG9tLCJweDtcbiAgICBwYWRkaW5nLWxlZnQ6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwucGFkZGluZy5sZWZ0LCJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLnBhZGRpbmcucmlnaHQsInB4O1xuICAgICIpfX0se2tleToiaHRtbCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMuZW1iZWRDb2RlO3JldHVybiB0PXQucmVwbGFjZSgiYWxsb3dmdWxsc2NyZWVuIiwiIiksdGhpcy5vcHRpb25zLmFsbG93RnVsbHNjcmVlbiYmLTE9PXQuaW5kZXhPZigiYWxsb3dmdWxsc2NyZWVuIikmJih0PXQucmVwbGFjZSgiPjwvaWZyYW1lPiIsIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+IikpLHQ9KHQ9ImF1dG8iPT10aGlzLm9wdGlvbnMuYm94TW9kZWwud2lkdGg/dC5yZXBsYWNlKC93aWR0aD0iXGQrIi9nLCd3aWR0aD0iMTAwJSInKTp0LnJlcGxhY2UoL3dpZHRoPSJcZCsiL2csJ3dpZHRoPSInK3RoaXMub3B0aW9ucy5ib3hNb2RlbC53aWR0aCsncHgiJykpLnJlcGxhY2UoL2hlaWdodD0iXGQrIi9nLCdoZWlnaHQ9IicrdGhpcy5vcHRpb25zLmJveE1vZGVsLmhlaWdodCsncHgiJyksJzxkaXYgc3R5bGU9IicuY29uY2F0KHRoaXMuY3NzKCksIiAiKS5jb25jYXQodGhpcy5vcHRpb25zLm90aGVyLmNzcywnIiBpZD0iJykuY29uY2F0KHRoaXMub3B0aW9ucy5vdGhlci5pZCwnIiBjbGFzcz0iJykuY29uY2F0KHRoaXMub3B0aW9ucy5vdGhlci5jbGFzc2VzLCciPicpLmNvbmNhdCh0LCI8L2Rpdj4iKX19XSksdH0oKSxTdD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7KDAscHQuWikodGhpcyx0KSx0aGlzLm9wdGlvbnM9KDAsbS5aQikoe30sQ3QudmlkZW8sZSl9cmV0dXJuKDAsZHQuWikodCxbe2tleToiY3NzIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiJcbiAgICB3aWR0aDogIi5jb25jYXQoImF1dG8iPT10aGlzLm9wdGlvbnMuYm94TW9kZWwud2lkdGg/dGhpcy5vcHRpb25zLmJveE1vZGVsLndpZHRoOnRoaXMub3B0aW9ucy5ib3hNb2RlbC53aWR0aCsicHgiLCI7XG4gICAgaGVpZ2h0OiAiKS5jb25jYXQoImF1dG8iPT10aGlzLm9wdGlvbnMuYm94TW9kZWwuaGVpZ2h0P3RoaXMub3B0aW9ucy5ib3hNb2RlbC5oZWlnaHQ6dGhpcy5vcHRpb25zLmJveE1vZGVsLmhlaWdodCsicHgiLCI7XG5cbiAgICBtYXJnaW4tdG9wOiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLm1hcmdpbi50b3AsInB4O1xuICAgIG1hcmdpbi1ib3R0b206ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwubWFyZ2luLmJvdHRvbSwicHg7XG4gICAgbWFyZ2luLWxlZnQ6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwubWFyZ2luLmxlZnQsInB4O1xuICAgIG1hcmdpbi1yaWdodDogIikuY29uY2F0KHRoaXMub3B0aW9ucy5ib3hNb2RlbC5tYXJnaW4ucmlnaHQsInB4O1xuXG4gICAgcGFkZGluZy10b3A6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwucGFkZGluZy50b3AsInB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLnBhZGRpbmcuYm90dG9tLCJweDtcbiAgICBwYWRkaW5nLWxlZnQ6ICIpLmNvbmNhdCh0aGlzLm9wdGlvbnMuYm94TW9kZWwucGFkZGluZy5sZWZ0LCJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAiKS5jb25jYXQodGhpcy5vcHRpb25zLmJveE1vZGVsLnBhZGRpbmcucmlnaHQsInB4O1xuICAgICIpfX0se2tleToiaHRtbCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0iIjt0aGlzLm9wdGlvbnMuYXV0b3BsYXkmJih0Kz0iIGF1dG9wbGF5ICIpLHRoaXMub3B0aW9ucy5sb29wJiYodCs9IiBsb29wICIpLHRoaXMub3B0aW9ucy5jb250cm9scyYmKHQrPSIgY29udHJvbHMgIik7dmFyIGU9Ijx2aWRlbyAiLmNvbmNhdCh0LCcgXG4gICAgICBzdHlsZT0iJykuY29uY2F0KHRoaXMuY3NzKCksIiAiKS5jb25jYXQodGhpcy5vcHRpb25zLm90aGVyLmNzcywnIiBcbiAgICAgIGlkPSInKS5jb25jYXQodGhpcy5vcHRpb25zLm90aGVyLmlkLCciIFxuICAgICAgY2xhc3M9IicpLmNvbmNhdCh0aGlzLm9wdGlvbnMub3RoZXIuY2xhc3NlcywnIj5cblxuICAgIDxzb3VyY2Ugc3JjPSInKS5jb25jYXQodGhpcy5vcHRpb25zLnNyYy5tcDQsJyIgdHlwZT0idmlkZW8vbXA0Ij5cbiAgICA8c291cmNlIHNyYz0iJykuY29uY2F0KHRoaXMub3B0aW9ucy5zcmMud2VibSwnIiB0eXBlPSJ2aWRlby93ZWJtIj5cbiAgICA8c291cmNlIHNyYz0iJykuY29uY2F0KHRoaXMub3B0aW9ucy5zcmMub2d2LCciIHR5cGU9InZpZGVvL29ndiI+XG4gICAgXG4gICAgPC92aWRlbz4nKTtyZXR1cm4oMCxtLkhIKSh0aGlzLm9wdGlvbnMubGlua1VybCkmJihlPSc8YSBocmVmPSInLmNvbmNhdCh0aGlzLm9wdGlvbnMubGlua1VybCwnIj4nKS5jb25jYXQoZSwiPC9hPiIpKSxlfX1dKSx0fSgpO2Z1bmN0aW9uIFp0KHQsZSl7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJnRbU3ltYm9sLml0ZXJhdG9yXXx8dFsiQEBpdGVyYXRvciJdO2lmKCFuKXtpZihBcnJheS5pc0FycmF5KHQpfHwobj1mdW5jdGlvbih0LGUpe2lmKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gTHQodCxlKTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1uJiZ0LmNvbnN0cnVjdG9yJiYobj10LmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09bnx8IlNldCI9PT1uP0FycmF5LmZyb20odCk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9MdCh0LGUpOnZvaWQgMH19KHQpKXx8ZSYmdCYmIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aCl7biYmKHQ9bik7dmFyIG89MCxpPWZ1bmN0aW9uKCl7fTtyZXR1cm57czppLG46ZnVuY3Rpb24oKXtyZXR1cm4gbz49dC5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOnRbbysrXX19LGU6ZnVuY3Rpb24odCl7dGhyb3cgdH0sZjppfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIHIsYT0hMCxzPSExO3JldHVybntzOmZ1bmN0aW9uKCl7bj1uLmNhbGwodCl9LG46ZnVuY3Rpb24oKXt2YXIgdD1uLm5leHQoKTtyZXR1cm4gYT10LmRvbmUsdH0sZTpmdW5jdGlvbih0KXtzPSEwLHI9dH0sZjpmdW5jdGlvbigpe3RyeXthfHxudWxsPT1uLnJldHVybnx8bi5yZXR1cm4oKX1maW5hbGx5e2lmKHMpdGhyb3cgcn19fX1mdW5jdGlvbiBMdCh0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgbj0wLG89bmV3IEFycmF5KGUpO248ZTtuKyspb1tuXT10W25dO3JldHVybiBvfXZhciBSdD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7KDAscHQuWikodGhpcyx0KSx0aGlzLmVsZW1lbnRzPXRoaXMuY3JlYXRlRWxlbWVudHMoZSl9cmV0dXJuKDAsZHQuWikodCxbe2tleToiY3JlYXRlRWxlbWVudHMiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlLG49W10sbz1adCh0KTt0cnl7Zm9yKG8ucygpOyEoZT1vLm4oKSkuZG9uZTspe3ZhciBpPWUudmFsdWU7aWYoIlBhcmFncmFwaCI9PWkudHlwZSl7dmFyIHI9bmV3IE90KGkpO24ucHVzaChyKX1pZigiSGVhZGluZyI9PWkudHlwZSl7dmFyIGE9bmV3IEF0KGkpO24ucHVzaChhKX1pZigiSW1hZ2UiPT1pLnR5cGUpe3ZhciBzPW5ldyBQdChpKTtuLnB1c2gocyl9aWYoIkJ1dHRvbiI9PWkudHlwZSl7dmFyIGM9bmV3IFR0KGkpO24ucHVzaChjKX1pZigiWW91VHViZSI9PWkudHlwZSl7dmFyIGw9bmV3IHp0KGkpO24ucHVzaChsKX1pZigiVmlkZW8iPT1pLnR5cGUpe3ZhciB1PW5ldyBTdChpKTtuLnB1c2godSl9fX1jYXRjaCh0KXtvLmUodCl9ZmluYWxseXtvLmYoKX1yZXR1cm4gbn19LHtrZXk6Imh0bWwiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQsZT0iIixuPVp0KHRoaXMuZWxlbWVudHMpO3RyeXtmb3Iobi5zKCk7ISh0PW4ubigpKS5kb25lOyllKz10LnZhbHVlLmh0bWwoKX1jYXRjaCh0KXtuLmUodCl9ZmluYWxseXtuLmYoKX1yZXR1cm4gZX19XSksdH0oKSxVdD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dmFyIG49ZS5zdHlsZSxvPWUuY29udGVudCxpPWUuYW5pbWF0aW9uLHI9ZS5pZDsoMCxwdC5aKSh0aGlzLHQpLHRoaXMuaWQ9cix0aGlzLnN0eWxlPW4sdGhpcy5jb250ZW50PW5ldyBSdChvKSx0aGlzLmFuaW1hdGlvbj1pfXJldHVybigwLGR0LlopKHQsW3trZXk6ImNzcyIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0iIixlPSgwLG0ub28pKHRoaXMuc3R5bGUuYmFja2dyb3VuZF9jb2xvcil8fHtyOjAsYjowLGc6MH07cmV0dXJuIHQrPSJib3JkZXItcmFkaXVzOiAiLmNvbmNhdCh0aGlzLnN0eWxlLmJvcmRlcl9yYWRpdXMsInB4OyIpLHQrPSJwYWRkaW5nOiAiLmNvbmNhdCh0aGlzLnN0eWxlLnBhZGRpbmcsInB4OyIpLHQrPSJiYWNrZ3JvdW5kOiByZ2JhKCIuY29uY2F0KGUuciwiLCAiKS5jb25jYXQoZS5nLCIsICIpLmNvbmNhdChlLmIsIiwgIikuY29uY2F0KHRoaXMuc3R5bGUuYmFja2dyb3VuZF9vcGFjaXR5LCIpOyIpLHRoaXMuc3R5bGUuYXV0b193aWR0aHx8KHQrPSJ3aWR0aDogIi5jb25jYXQodGhpcy5zdHlsZS53aWR0aCwicHg7IikpLHR9fSx7a2V5OiJodG1sIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSIiLGU9KDAsbS5vbykodGhpcy5zdHlsZS5iYWNrZ3JvdW5kX2NvbG9yKXx8e3I6MCxiOjAsZzowfTtyZXR1cm4gdCs9JzxkaXYgY2xhc3M9ImltcC10b29sdGlwLXdyYXAgaW1wLXRvb2x0aXAtcG9zaXRpb24tJy5jb25jYXQodGhpcy5zdHlsZS5wb3NpdGlvbiwnIj4nKSx0Kz0nPGRpdiBjbGFzcz0iaW1wLXRvb2x0aXAiIHN0eWxlPSInLmNvbmNhdCh0aGlzLmNzcygpLCciIGRhdGEtdG9vbHRpcC1pZD0iJykuY29uY2F0KHRoaXMuaWQsJyI+JyksInRvcCI9PT10aGlzLnN0eWxlLnBvc2l0aW9uJiYodCs9JzxkaXYgY2xhc3M9ImhzLWFycm93IGhzLWFycm93LWJvdHRvbSIgc3R5bGU9ImJvcmRlci10b3AtY29sb3I6IHJnYmEoJy5jb25jYXQoZS5yLCIsICIpLmNvbmNhdChlLmcsIiwgIikuY29uY2F0KGUuYiwiLCAiKS5jb25jYXQodGhpcy5zdHlsZS5iYWNrZ3JvdW5kX29wYWNpdHksJyk7Ij48L2Rpdj4nKSksImJvdHRvbSI9PT10aGlzLnN0eWxlLnBvc2l0aW9uJiYodCs9JzxkaXYgY2xhc3M9ImhzLWFycm93IGhzLWFycm93LXRvcCIgc3R5bGU9ImJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoJy5jb25jYXQoZS5yLCIsICIpLmNvbmNhdChlLmcsIiwgIikuY29uY2F0KGUuYiwiLCAiKS5jb25jYXQodGhpcy5zdHlsZS5iYWNrZ3JvdW5kX29wYWNpdHksJyk7Ij48L2Rpdj4nKSksImxlZnQiPT09dGhpcy5zdHlsZS5wb3NpdGlvbiYmKHQrPSc8ZGl2IGNsYXNzPSJocy1hcnJvdyBocy1hcnJvdy1yaWdodCIgc3R5bGU9ImJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKCcuY29uY2F0KGUuciwiLCAiKS5jb25jYXQoZS5nLCIsICIpLmNvbmNhdChlLmIsIiwgIikuY29uY2F0KHRoaXMuc3R5bGUuYmFja2dyb3VuZF9vcGFjaXR5LCcpOyI+PC9kaXY+JykpLCJyaWdodCI9PT10aGlzLnN0eWxlLnBvc2l0aW9uJiYodCs9JzxkaXYgY2xhc3M9ImhzLWFycm93IGhzLWFycm93LWxlZnQiIHN0eWxlPSJib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoJy5jb25jYXQoZS5yLCIsICIpLmNvbmNhdChlLmcsIiwgIikuY29uY2F0KGUuYiwiLCAiKS5jb25jYXQodGhpcy5zdHlsZS5iYWNrZ3JvdW5kX29wYWNpdHksJyk7Ij48L2Rpdj4nKSksdCs9JzxkaXYgY2xhc3M9ImltcC10b29sdGlwLWNvbnRlbnQiPicuY29uY2F0KHRoaXMuY29udGVudC5odG1sKCksIjwvZGl2PiIpLHQrPSI8L2Rpdj4iLHQrPSI8L2Rpdj4ifX1dKSx0fSgpLEJ0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXt2YXIgbj1lLnN0eWxlLG89ZS5jb250ZW50LGk9ZS5hbmltYXRpb24scj1lLmlkOygwLHB0LlopKHRoaXMsdCksdGhpcy5zdHlsZT1uLHRoaXMuY29udGVudD1uZXcgUnQobyksdGhpcy5hbmltYXRpb249aSx0aGlzLmlkPXJ9cmV0dXJuKDAsZHQuWikodCxbe2tleToiY3NzIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSIiLGU9KDAsbS5vbykodGhpcy5zdHlsZS5iYWNrZ3JvdW5kX2NvbG9yKXx8e3I6MCxiOjAsZzowfTtyZXR1cm4gdCsiYmFja2dyb3VuZDogcmdiYSgiLmNvbmNhdChlLnIsIiwgIikuY29uY2F0KGUuZywiLCAiKS5jb25jYXQoZS5iLCIsICIpLmNvbmNhdCh0aGlzLnN0eWxlLmJhY2tncm91bmRfb3BhY2l0eSwiKTsiKX19LHtrZXk6Imh0bWwiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9IiI7cmV0dXJuIHQrPScgPGRpdiBjbGFzcz0iaW1wLWZ1bGxzY3JlZW4tdG9vbHRpcCIgZGF0YS10b29sdGlwLWlkPSInLmNvbmNhdCh0aGlzLmlkLCciPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltcC10b29sdGlwLWNvbnRlbnQiIHN0eWxlPSInKS5jb25jYXQodGhpcy5jc3MoKSwnIj4nKS5jb25jYXQodGhpcy5jbG9zZUJ1dHRvbkh0bWwoKSkuY29uY2F0KHRoaXMuY29udGVudC5odG1sKCksIjwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj4iKX19LHtrZXk6ImNsb3NlQnV0dG9uSHRtbCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4nPGRpdiBjbGFzcz0iaW1wLXRvb2x0aXAtY2xvc2UtYnV0dG9uIiBkYXRhLWNsb3NlLWJ1dHRvbi10b29sdGlwLWlkPSInLmNvbmNhdCh0aGlzLmlkLCciPlxuICAgICAgJykuY29uY2F0KGJ0LCJcbiAgICA8L2Rpdj4iKX19XSksdH0oKTtmdW5jdGlvbiBGdCh0LGUpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl18fHRbIkBAaXRlcmF0b3IiXTtpZighbil7aWYoQXJyYXkuaXNBcnJheSh0KXx8KG49ZnVuY3Rpb24odCxlKXtpZih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIER0KHQsZSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpO3JldHVybiJPYmplY3QiPT09biYmdC5jb25zdHJ1Y3RvciYmKG49dC5jb25zdHJ1Y3Rvci5uYW1lKSwiTWFwIj09PW58fCJTZXQiPT09bj9BcnJheS5mcm9tKHQpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/RHQodCxlKTp2b2lkIDB9fSh0KSl8fGUmJnQmJiJudW1iZXIiPT10eXBlb2YgdC5sZW5ndGgpe24mJih0PW4pO3ZhciBvPTAsaT1mdW5jdGlvbigpe307cmV0dXJue3M6aSxuOmZ1bmN0aW9uKCl7cmV0dXJuIG8+PXQubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTp0W28rK119fSxlOmZ1bmN0aW9uKHQpe3Rocm93IHR9LGY6aX19dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfXZhciByLGE9ITAscz0hMTtyZXR1cm57czpmdW5jdGlvbigpe249bi5jYWxsKHQpfSxuOmZ1bmN0aW9uKCl7dmFyIHQ9bi5uZXh0KCk7cmV0dXJuIGE9dC5kb25lLHR9LGU6ZnVuY3Rpb24odCl7cz0hMCxyPXR9LGY6ZnVuY3Rpb24oKXt0cnl7YXx8bnVsbD09bi5yZXR1cm58fG4ucmV0dXJuKCl9ZmluYWxseXtpZihzKXRocm93IHJ9fX19ZnVuY3Rpb24gRHQodCxlKXsobnVsbD09ZXx8ZT50Lmxlbmd0aCkmJihlPXQubGVuZ3RoKTtmb3IodmFyIG49MCxvPW5ldyBBcnJheShlKTtuPGU7bisrKW9bbl09dFtuXTtyZXR1cm4gb312YXIgV3Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpeygwLHB0LlopKHRoaXMsdCksbXQodGhpcywic3RvcmUiLHZvaWQgMCksbXQodGhpcywidG9vbHRpcHNBcmVGdWxsc2NyZWVuIiwhMSksbXQodGhpcywiY29udGFpbmVyIixkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSksbXQodGhpcywibW91c2VDb29yZHMiLHt4OjAseTowfSksbXQodGhpcywidG9vbHRpcHMiLFtdKSxtdCh0aGlzLCJvcGVuZWRUb29sdGlwcyIsbmV3IFNldCksbXQodGhpcywic3RpY2t5VG9vbHRpcHMiLHZvaWQgMCksbXQodGhpcywidG9vbHRpcEVsZW1lbnRzIix7fSksbXQodGhpcywidG9vbHRpcEFuaW1hdGlvblRpbWVvdXRzIix7fSksbXQodGhpcywiYm9keU92ZXJmbG93Iix2b2lkIDApLHRoaXMuc3RvcmU9ZSx0aGlzLnN0b3JlLnN0YXRlLnRvb2x0aXBzLmVuYWJsZV90b29sdGlwcyYmKHRoaXMuc3RvcmUuc3Vic2NyaWJlKHRoaXMuaGFuZGxlQWN0aW9uLmJpbmQodGhpcykpLHRoaXMuc3RpY2t5VG9vbHRpcHM9dGhpcy5zdG9yZS5zdGF0ZS50b29sdGlwcy5zdGlja3lfdG9vbHRpcHMsKDAsbS50cSkoKSYmKHRoaXMuc3RpY2t5VG9vbHRpcHM9ITEpLCgwLG0udHEpKCkmJnRoaXMuZGlzYWJsZVN0aWNreVRvb2x0aXBzKCksKCJhbHdheXMiPT09dGhpcy5zdG9yZS5zdGF0ZS50b29sdGlwcy5mdWxsc2NyZWVuX3Rvb2x0aXBzfHwibW9iaWxlLW9ubHkiPT09dGhpcy5zdG9yZS5zdGF0ZS50b29sdGlwcy5mdWxsc2NyZWVuX3Rvb2x0aXBzJiYoMCxtLnRxKSgpKSYmKHRoaXMudG9vbHRpcHNBcmVGdWxsc2NyZWVuPSEwKSx0aGlzLnNldHVwQ29udGFpbmVyKCksdGhpcy5jcmVhdGVUb29sdGlwcygpKX12YXIgZTtyZXR1cm4oMCxkdC5aKSh0LFt7a2V5OiJoYW5kbGVBY3Rpb24iLHZhbHVlOihlPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDoidXBkYXRlVG9vbHRpcFBvc2l0aW9ucyI9PT1lLnR5cGUmJnRoaXMudXBkYXRlQWxsVG9vbHRpcFBvc2l0aW9ucygpLCJjbG9zZUZ1bGxzY3JlZW5Ub29sdGlwIj09PWUudHlwZSYmdGhpcy5oaWRlQWxsVG9vbHRpcHMoKSwiem9vbVVwZGF0ZSI9PT1lLnR5cGUmJnRoaXMudXBkYXRlQWxsVG9vbHRpcFBvc2l0aW9ucygpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpLGZ1bmN0aW9uKHQpe3JldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OiJkaXNhYmxlU3RpY2t5VG9vbHRpcHMiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5zdGlja3lUb29sdGlwcz0hMX19LHtrZXk6InJlc2V0U3RpY2t5VG9vbHRpcHMiLHZhbHVlOmZ1bmN0aW9uKCl7KDAsbS50cSkoKXx8KHRoaXMuc3RpY2t5VG9vbHRpcHM9dGhpcy5zdG9yZS5zdGF0ZS50b29sdGlwcy5zdGlja3lfdG9vbHRpcHMpfX0se2tleToic2V0dXBDb250YWluZXIiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ7aWYobnVsbD09PSh0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbXAtdG9vbHRpcHMtY29udGFpbmVyW2RhdGEtaW1hZ2UtbWFwLWlkPSInLmNvbmNhdCh0aGlzLnN0b3JlLmdldElEKCksJyJdJykpKXx8dm9pZCAwPT09dHx8dC5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZW1vdmUoKX0pKSx0aGlzLmNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJpbXAtdG9vbHRpcHMtY29udGFpbmVyIiksdGhpcy5jb250YWluZXIuZGF0YXNldC5pbWFnZU1hcElkPXRoaXMuc3RvcmUuZ2V0SUQoKSx0aGlzLnRvb2x0aXBzQXJlRnVsbHNjcmVlbil7dGhpcy5jb250YWluZXIuY2xhc3NMaXN0LmFkZCgiaXMtZnVsbHNjcmVlbiIpO3ZhciBlPSgwLG0ub28pKHRoaXMuc3RvcmUuc3RhdGUudG9vbHRpcHMuZnVsbHNjcmVlbl9iYWNrZ3JvdW5kKXx8e3I6MCxiOjAsZzowfTt0aGlzLmNvbnRhaW5lci5zdHlsZS5iYWNrZ3JvdW5kPSJyZ2JhKCIuY29uY2F0KGUuciwiLCAiKS5jb25jYXQoZS5nLCIsICIpLmNvbmNhdChlLmIsIiwgIikuY29uY2F0KHRoaXMuc3RvcmUuc3RhdGUudG9vbHRpcHMuZnVsbHNjcmVlbl9iYWNrZ3JvdW5kX29wYWNpdHksIikiKX19fSx7a2V5OiJjcmVhdGVUb29sdGlwcyIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdCxlPSIiLG49RnQodGhpcy5zdG9yZS5nZXRPYmplY3RzKCkpO3RyeXtmb3Iobi5zKCk7ISh0PW4ubigpKS5kb25lOyl7dmFyIG89dC52YWx1ZTtpZihvLnBhcmVudCYmKG89dGhpcy5zdG9yZS5nZXRPYmplY3Qoe2lkOm8ucGFyZW50fSkpLG8udG9vbHRpcC5lbmFibGVfdG9vbHRpcCYmby50eXBlIT09anQudGspe3ZhciBpPXZvaWQgMDtpPXRoaXMudG9vbHRpcHNBcmVGdWxsc2NyZWVuP25ldyBCdCh7c3R5bGU6by50b29sdGlwX3N0eWxlLGNvbnRlbnQ6by50b29sdGlwX2NvbnRlbnQsYW5pbWF0aW9uOnRoaXMuc3RvcmUuc3RhdGUudG9vbHRpcHMudG9vbHRpcF9hbmltYXRpb24saWQ6by5pZH0pOm5ldyBVdCh7c3R5bGU6by50b29sdGlwX3N0eWxlLGNvbnRlbnQ6by50b29sdGlwX2NvbnRlbnQsYW5pbWF0aW9uOnRoaXMuc3RvcmUuc3RhdGUudG9vbHRpcHMudG9vbHRpcF9hbmltYXRpb24saWQ6by5pZCx0aXRsZTpvLnRpdGxlfSksdGhpcy50b29sdGlwc1tvLmlkXT1pLGUrPWkuaHRtbCgpfX19Y2F0Y2godCl7bi5lKHQpfWZpbmFsbHl7bi5mKCl9dGhpcy5jb250YWluZXIuaW5uZXJIVE1MPWUsdGhpcy5zdGlja3lUb29sdGlwcyYmdGhpcy5jb250YWluZXIuY2xhc3NMaXN0LmFkZCgiaW1wLXN0aWNreS10b29sdGlwcyIpLHRoaXMudG9vbHRpcEVsZW1lbnRzPXt9fX0se2tleToiZ2V0VG9vbHRpcEVsZW1lbnQiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB0PXRoaXMuc3RvcmUuZ2V0T2JqZWN0KHtpZDp0fSkucGFyZW50fHx0LHRoaXMudG9vbHRpcEVsZW1lbnRzW3RdfHwodGhpcy50b29sdGlwRWxlbWVudHNbdF09dGhpcy5jb250YWluZXIucXVlcnlTZWxlY3RvcignW2RhdGEtdG9vbHRpcC1pZD0iJy5jb25jYXQodCwnIl0nKSkpLHRoaXMudG9vbHRpcEVsZW1lbnRzW3RdfX0se2tleToic2hvd1Rvb2x0aXAiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYod2luZG93LnN0YXJ0Y2hhbmdpbmcsdD10aGlzLnN0b3JlLmdldE9iamVjdCh7aWQ6dH0pLnBhcmVudHx8dCx0aGlzLmdldFRvb2x0aXBFbGVtZW50KHQpJiZ0aGlzLnN0b3JlLmdldE9iamVjdCh7aWQ6dH0pKXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciBuPXkodygpLm1hcmsoKGZ1bmN0aW9uIG4obyl7dmFyIGkscjtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKG4pe2Zvcig7Oylzd2l0Y2gobi5wcmV2PW4ubmV4dCl7Y2FzZSAwOmlmKChpPWUuc3RvcmUuZ2V0T2JqZWN0KHtpZDp0fSkpLnRvb2x0aXAuZW5hYmxlX3Rvb2x0aXApe24ubmV4dD00O2JyZWFrfXJldHVybiBvKCksbi5hYnJ1cHQoInJldHVybiIpO2Nhc2UgNDppZihpLnR5cGUhPT1qdC50ayl7bi5uZXh0PTc7YnJlYWt9cmV0dXJuIG8oKSxuLmFicnVwdCgicmV0dXJuIik7Y2FzZSA3OmlmKCFlLm9wZW5lZFRvb2x0aXBzLmhhcyh0KSl7bi5uZXh0PTEwO2JyZWFrfXJldHVybiBvKCksbi5hYnJ1cHQoInJldHVybiIpO2Nhc2UgMTA6ZS5vcGVuZWRUb29sdGlwcy5hZGQodCksIm1vYmlsZS1vbmx5Ij09PWUuc3RvcmUuc3RhdGUudG9vbHRpcHMuZnVsbHNjcmVlbl90b29sdGlwcyYmKDAsbS50cSkoKXx8ImFsd2F5cyI9PT1lLnN0b3JlLnN0YXRlLnRvb2x0aXBzLmZ1bGxzY3JlZW5fdG9vbHRpcHM/KGUuYW5pbWF0ZUZ1bGxzY3JlZW5Ub29sdGlwSW4odCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKG8pKToocj1lLmdldFRvb2x0aXBFbGVtZW50KHQpLGNsZWFyVGltZW91dChlLnRvb2x0aXBBbmltYXRpb25UaW1lb3V0c1t0XSksci5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siLHIuc3R5bGUudHJhbnNpdGlvblByb3BlcnR5PSJub25lIixyLnN0eWxlLnRyYW5zZm9ybT0ibm9uZSIsZS51cGRhdGVUb29sdGlwUG9zaXRpb24odCksZS5hbmltYXRlVG9vbHRpcEluKHQpLHJlcXVlc3RBbmltYXRpb25GcmFtZShvKSksSW1hZ2VNYXBQcm8udHJpZ2dlcih7dHlwZTpnLmx5LHBheWxvYWQ6e21hcDplLnN0b3JlLnN0YXRlLmdlbmVyYWwubmFtZSxvYmplY3Q6ZS5zdG9yZS5nZXRPYmplY3Qoe2lkOnR9KS50aXRsZX19KTtjYXNlIDEzOmNhc2UiZW5kIjpyZXR1cm4gbi5zdG9wKCl9fSksbil9KSkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKX19LHtrZXk6ImhpZGVUb29sdGlwIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiB0PXRoaXMuc3RvcmUuZ2V0T2JqZWN0KHtpZDp0fSkucGFyZW50fHx0LG5ldyBQcm9taXNlKChmdW5jdGlvbihuKXtlLnN0b3JlLmdldE9iamVjdCh7aWQ6dH0pLnR5cGUhPT1qdC50ayYmZS5vcGVuZWRUb29sdGlwcy5oYXModCk/KGUub3BlbmVkVG9vbHRpcHMuZGVsZXRlKHQpLCJtb2JpbGUtb25seSI9PT1lLnN0b3JlLnN0YXRlLnRvb2x0aXBzLmZ1bGxzY3JlZW5fdG9vbHRpcHMmJigwLG0udHEpKCl8fCJhbHdheXMiPT09ZS5zdG9yZS5zdGF0ZS50b29sdGlwcy5mdWxsc2NyZWVuX3Rvb2x0aXBzPyhlLmFuaW1hdGVGdWxsc2NyZWVuVG9vbHRpcE91dCh0KSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUobikpOihlLmFuaW1hdGVUb29sdGlwT3V0KHQpLHJlcXVlc3RBbmltYXRpb25GcmFtZShuKSksSW1hZ2VNYXBQcm8udHJpZ2dlcih7dHlwZTpnLnhfLHBheWxvYWQ6e21hcDplLnN0b3JlLnN0YXRlLmdlbmVyYWwubmFtZSxvYmplY3Q6ZS5zdG9yZS5nZXRPYmplY3Qoe2lkOnR9KS50aXRsZX19KSk6bigpfSkpfX0se2tleToiaGlkZUFsbFRvb2x0aXBzIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihlKXt0Lm9wZW5lZFRvb2x0aXBzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiB0LmhpZGVUb29sdGlwKGUpfSkpLHJlcXVlc3RBbmltYXRpb25GcmFtZShlKX0pKX19LHtrZXk6InVwZGF0ZVRvb2x0aXBQb3NpdGlvbiIsdmFsdWU6ZnVuY3Rpb24odCl7aWYoIXRoaXMudG9vbHRpcHNBcmVGdWxsc2NyZWVuKXt0PXRoaXMuc3RvcmUuZ2V0T2JqZWN0KHtpZDp0fSkucGFyZW50fHx0O3ZhciBlPXRoaXMuZ2V0VG9vbHRpcEVsZW1lbnQodCksbj10aGlzLmdldE9iamVjdFZpc2libGVSZWN0KHQpLG89ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPXt4OjAseTowfTsibGVmdCI9PT10aGlzLnRvb2x0aXBzW3RdLnN0eWxlLnBvc2l0aW9uJiYoaS54PW4ueC0yMC1vLndpZHRoLGkueT1uLnkrbi5oZWlnaHQvMi1vLmhlaWdodC8yKSwicmlnaHQiPT09dGhpcy50b29sdGlwc1t0XS5zdHlsZS5wb3NpdGlvbiYmKGkueD1uLngrbi53aWR0aCsyMCxpLnk9bi55K24uaGVpZ2h0LzItby5oZWlnaHQvMiksInRvcCI9PT10aGlzLnRvb2x0aXBzW3RdLnN0eWxlLnBvc2l0aW9uJiYoaS54PW4ueCtuLndpZHRoLzItby53aWR0aC8yLGkueT1uLnktMjAtby5oZWlnaHQpLCJib3R0b20iPT09dGhpcy50b29sdGlwc1t0XS5zdHlsZS5wb3NpdGlvbiYmKGkueD1uLngrbi53aWR0aC8yLW8ud2lkdGgvMixpLnk9bi55K24uaGVpZ2h0KzIwKSxpLngrPXRoaXMudG9vbHRpcHNbdF0uc3R5bGUub2Zmc2V0X3gvMTAwKnRoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcFJlY3QoKS53aWR0aCxpLnkrPXRoaXMudG9vbHRpcHNbdF0uc3R5bGUub2Zmc2V0X3kvMTAwKnRoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcFJlY3QoKS5oZWlnaHQsZS5wYXJlbnROb2RlLnN0eWxlLmxlZnQ9aS54K3RoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcFJlY3QoKS5vZmZzZXQubGVmdC10aGlzLnN0b3JlLmdldFRvb2x0aXBzQ29udGFpbmVyUmVjdCgpLm9mZnNldC5sZWZ0KyJweCIsZS5wYXJlbnROb2RlLnN0eWxlLnRvcD1pLnkrdGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLm9mZnNldC50b3AtdGhpcy5zdG9yZS5nZXRUb29sdGlwc0NvbnRhaW5lclJlY3QoKS5vZmZzZXQudG9wKyJweCIsdGhpcy5zdG9yZS5zdGF0ZS50b29sdGlwcy5jb25zdHJhaW5fdG9vbHRpcHMmJigobz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKS54PDAmJihpLngtPW8ueCksby55PDAmJihpLnktPW8ueSksby54K28ud2lkdGg+d2luZG93LmlubmVyV2lkdGgmJihpLngrPXdpbmRvdy5pbm5lcldpZHRoLShvLngrby53aWR0aCkpLG8ueStvLmhlaWdodD53aW5kb3cuaW5uZXJIZWlnaHQmJihpLnkrPXdpbmRvdy5pbm5lckhlaWdodC0oby55K28uaGVpZ2h0KSksZS5wYXJlbnROb2RlLnN0eWxlLmxlZnQ9aS54K3RoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcFJlY3QoKS5vZmZzZXQubGVmdC10aGlzLnN0b3JlLmdldFRvb2x0aXBzQ29udGFpbmVyUmVjdCgpLm9mZnNldC5sZWZ0KyJweCIsZS5wYXJlbnROb2RlLnN0eWxlLnRvcD1pLnkrdGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLm9mZnNldC50b3AtdGhpcy5zdG9yZS5nZXRUb29sdGlwc0NvbnRhaW5lclJlY3QoKS5vZmZzZXQudG9wKyJweCIpfX19LHtrZXk6InVwZGF0ZUFsbFRvb2x0aXBQb3NpdGlvbnMiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQsZT1GdCh0aGlzLm9wZW5lZFRvb2x0aXBzKTt0cnl7Zm9yKGUucygpOyEodD1lLm4oKSkuZG9uZTspe3ZhciBuPXQudmFsdWU7dGhpcy51cGRhdGVUb29sdGlwUG9zaXRpb24obil9fWNhdGNoKHQpe2UuZSh0KX1maW5hbGx5e2UuZigpfX19LHtrZXk6ImFuaW1hdGVUb29sdGlwSW4iLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0VG9vbHRpcEVsZW1lbnQodCk7aWYoIXRoaXMuc3RvcmUuc3RhdGUudG9vbHRpcHMuc3RpY2t5X3Rvb2x0aXBzKXJldHVybiJncm93Ij09PXRoaXMuc3RvcmUuc3RhdGUudG9vbHRpcHMudG9vbHRpcF9hbmltYXRpb24/KGUuc3R5bGUudHJhbnNpdGlvblByb3BlcnR5PSJub25lIixlLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMCwgMCkiLGUuc3R5bGUub3BhY2l0eT0xLGNsZWFyVGltZW91dCh0aGlzLnRvb2x0aXBBbmltYXRpb25UaW1lb3V0c1t0XSksdm9pZCh0aGlzLnRvb2x0aXBBbmltYXRpb25UaW1lb3V0c1t0XT1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7ZS5zdHlsZS50cmFuc2l0aW9uUHJvcGVydHk9InRyYW5zZm9ybSIsZS5zdHlsZS50cmFuc2Zvcm09InNjYWxlKDEsIDEpIn0pKSkpOiJmYWRlIj09PXRoaXMuc3RvcmUuc3RhdGUudG9vbHRpcHMudG9vbHRpcF9hbmltYXRpb24/KGUuc3R5bGUudHJhbnNpdGlvblByb3BlcnR5PSJub25lIixlLnN0eWxlLm9wYWNpdHk9MCxjbGVhclRpbWVvdXQodGhpcy50b29sdGlwQW5pbWF0aW9uVGltZW91dHNbdF0pLHZvaWQodGhpcy50b29sdGlwQW5pbWF0aW9uVGltZW91dHNbdF09cmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe2Uuc3R5bGUudHJhbnNpdGlvblByb3BlcnR5PSJvcGFjaXR5IixlLnN0eWxlLm9wYWNpdHk9MX0pKSkpOnZvaWQoZS5zdHlsZS5vcGFjaXR5PTEpO2Uuc3R5bGUub3BhY2l0eT0xfX0se2tleToiYW5pbWF0ZVRvb2x0aXBPdXQiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0VG9vbHRpcEVsZW1lbnQodCk7cmV0dXJuIGUucXVlcnlTZWxlY3RvckFsbCgidmlkZW8iKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJwYXVzZSIpKX0pKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoImlmcmFtZSIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3Quc2V0QXR0cmlidXRlKCJzcmMiLHQuZ2V0QXR0cmlidXRlKCJzcmMiKSl9KSksdGhpcy5zdG9yZS5zdGF0ZS50b29sdGlwcy5zdGlja3lfdG9vbHRpcHM/KGUuc3R5bGUub3BhY2l0eT0wLHZvaWQoZS5zdHlsZS5kaXNwbGF5PSJub25lIikpOiJncm93Ij09PXRoaXMuc3RvcmUuc3RhdGUudG9vbHRpcHMudG9vbHRpcF9hbmltYXRpb24/KGUuc3R5bGUudHJhbnNmb3JtPSJzY2FsZSgwLCAwKSIsY2xlYXJUaW1lb3V0KHRoaXMudG9vbHRpcEFuaW1hdGlvblRpbWVvdXRzW3RdKSx2b2lkKHRoaXMudG9vbHRpcEFuaW1hdGlvblRpbWVvdXRzW3RdPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZS5zdHlsZS5vcGFjaXR5PTAsZS5zdHlsZS5kaXNwbGF5PSJub25lIn0pLDIwMCkpKToodGhpcy5zdG9yZS5zdGF0ZS50b29sdGlwcy50b29sdGlwX2FuaW1hdGlvbixlLnN0eWxlLm9wYWNpdHk9MCx2b2lkKGUuc3R5bGUuZGlzcGxheT0ibm9uZSIpKX19LHtrZXk6ImFuaW1hdGVGdWxsc2NyZWVuVG9vbHRpcEluIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLmNvbnRhaW5lci5zdHlsZS5kaXNwbGF5PSJibG9jayIsdGhpcy5jb250YWluZXIuc3R5bGUub3BhY2l0eT0xO3ZhciBlPXRoaXMuZ2V0VG9vbHRpcEVsZW1lbnQodCk7ZS5zdHlsZS5kaXNwbGF5PSJmbGV4IixlLnN0eWxlLm9wYWNpdHk9MCxlLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMC4zMykiLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24oKXtlLnN0eWxlLm9wYWNpdHk9MSxlLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMSkifSkpLHRoaXMuYm9keU92ZXJmbG93PWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3csZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIn19LHtrZXk6ImFuaW1hdGVGdWxsc2NyZWVuVG9vbHRpcE91dCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpczt0aGlzLmNvbnRhaW5lci5zdHlsZS5vcGFjaXR5PTAsY2xlYXJUaW1lb3V0KHRoaXMudG9vbHRpcEFuaW1hdGlvblRpbWVvdXRzW3QrIi1jb250YWluZXIiXSksdGhpcy50b29sdGlwQW5pbWF0aW9uVGltZW91dHNbdCsiLWNvbnRhaW5lciJdPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZS5jb250YWluZXIuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KSwzNTApO3ZhciBuPXRoaXMuZ2V0VG9vbHRpcEVsZW1lbnQodCk7bi5zdHlsZS5vcGFjaXR5PTAsbi5zdHlsZS50cmFuc2Zvcm09InNjYWxlKDAuMzMpIixjbGVhclRpbWVvdXQodGhpcy50b29sdGlwQW5pbWF0aW9uVGltZW91dHNbdF0pLHRoaXMudG9vbHRpcEFuaW1hdGlvblRpbWVvdXRzW3RdPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7bi5zdHlsZS5kaXNwbGF5PSJub25lIn0pLDM1MCksbi5xdWVyeVNlbGVjdG9yQWxsKCJ2aWRlbyIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInBhdXNlIikpfSkpLG4ucXVlcnlTZWxlY3RvckFsbCgiaWZyYW1lIikuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5zZXRBdHRyaWJ1dGUoInNyYyIsdC5nZXRBdHRyaWJ1dGUoInNyYyIpKX0pKSxkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93PXRoaXMuYm9keU92ZXJmbG93fX0se2tleToiaXNQb2ludEluc2lkZVZpc2libGVUb29sdGlwIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10Lngsbj10Lnk7aWYodGhpcy50b29sdGlwc0FyZUZ1bGxzY3JlZW4mJnRoaXMub3BlbmVkVG9vbHRpcHMuc2l6ZT4wKXJldHVybiEwO3ZhciBvLGk9RnQodGhpcy5vcGVuZWRUb29sdGlwcyk7dHJ5e2ZvcihpLnMoKTshKG89aS5uKCkpLmRvbmU7KXt2YXIgcj1vLnZhbHVlLGE9dGhpcy5jcmVhdGVQb2x5c0ZvclRvb2x0aXAocik7aWYodGhpcy5zdGlja3lUb29sdGlwcyl7aWYoKDAsbS5tcCkoZSxuLGEucG9seVRvb2x0aXBPbmx5KSlyZXR1cm4hMH1lbHNlIGlmKCgwLG0ubXApKGUsbixhLnBvbHkpfHwoMCxtLm1wKShlLG4sYS5wb2x5VG9vbHRpcE9ubHkpKXJldHVybiEwfX1jYXRjaCh0KXtpLmUodCl9ZmluYWxseXtpLmYoKX1yZXR1cm4hMX19LHtrZXk6ImNyZWF0ZVBvbHlzRm9yVG9vbHRpcCIsdmFsdWU6ZnVuY3Rpb24odCl7dD10aGlzLnN0b3JlLmdldE9iamVjdCh7aWQ6dH0pLnBhcmVudHx8dDt2YXIgZT10aGlzLnN0b3JlLmdldE9iamVjdENvbnRyb2xsZXIoKS5vYmplY3RzW3RdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49ZS54K3dpbmRvdy5zY3JvbGxYK2Uud2lkdGgvMixvPWUueSt3aW5kb3cuc2Nyb2xsWStlLmhlaWdodC8yLGk9KDAsbS5ZbykodGhpcy5nZXRUb29sdGlwRWxlbWVudCh0KSkscj1pLm9mZnNldC5sZWZ0LGE9aS5vZmZzZXQudG9wLHM9aS5vZmZzZXRXaWR0aCxjPWkub2Zmc2V0SGVpZ2h0LGw9W10sdT1bXTtyZXR1cm4idG9wIj09PXRoaXMuc3RvcmUuZ2V0T2JqZWN0KHtpZDp0fSkudG9vbHRpcF9zdHlsZS5wb3NpdGlvbiYmKGw9W1tyLGFdLFtyK3MsYV0sW3IrcyxhK2NdLFtyK3MvMixvXSxbcixhK2NdXSx1PVtbcixhXSxbcitzLGFdLFtyK3MsYStjXSxbcixhK2NdXSksImJvdHRvbSI9PT10aGlzLnN0b3JlLmdldE9iamVjdCh7aWQ6dH0pLnRvb2x0aXBfc3R5bGUucG9zaXRpb24mJihsPVtbcixhXSxbcitzLzIsb10sW3IrcyxhXSxbcitzLGErY10sW3IsYStjXV0sdT1bW3IsYV0sW3IrcyxhXSxbcitzLGErY10sW3IsYStjXV0pLCJsZWZ0Ij09PXRoaXMuc3RvcmUuZ2V0T2JqZWN0KHtpZDp0fSkudG9vbHRpcF9zdHlsZS5wb3NpdGlvbiYmKGw9W1tyLGFdLFtyK3MsYV0sW24sYStjLzJdLFtyK3MsYStjXSxbcixhK2NdXSx1PVtbcixhXSxbcitzLGFdLFtyK3MsYStjXSxbcixhK2NdXSksInJpZ2h0Ij09PXRoaXMuc3RvcmUuZ2V0T2JqZWN0KHtpZDp0fSkudG9vbHRpcF9zdHlsZS5wb3NpdGlvbiYmKGw9W1tyLGFdLFtyK3MsYV0sW3IrcyxhK2NdLFtyLGErY10sW24sYStjLzJdXSx1PVtbcixhXSxbcitzLGFdLFtyK3MsYStjXSxbcixhK2NdXSkse3BvbHk6bCxwb2x5VG9vbHRpcE9ubHk6dX19fSx7a2V5OiJnZXRPYmplY3RWaXNpYmxlUmVjdCIsdmFsdWU6ZnVuY3Rpb24odCl7aWYodGhpcy5zdG9yZS5nZXRPYmplY3RDb250cm9sbGVyKCkub2JqZWN0c1t0XSl7dmFyIGUsbixvLGkscj10aGlzLnN0b3JlLmdldE9iamVjdCh7aWQ6dH0pLGE9dGhpcy5zdG9yZS5nZXRPYmplY3RDb250cm9sbGVyKCkub2JqZWN0c1t0XS5nZXRSZWN0KCkscz13aW5kb3cuaW5uZXJXaWR0aCxjPXdpbmRvdy5pbm5lckhlaWdodDtpZih0aGlzLnN0aWNreVRvb2x0aXBzPyhlPXRoaXMuc3RvcmUuZ2V0RXZlbnRDb29yZGluYXRlcygpLngtdGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLm9mZnNldC5sZWZ0LG49dGhpcy5zdG9yZS5nZXRFdmVudENvb3JkaW5hdGVzKCkueS10aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkub2Zmc2V0LnRvcCxvPTAsaT0wKToobz1hLndpZHRoLzEwMCp0aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkud2lkdGgsaT1hLmhlaWdodC8xMDAqdGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLmhlaWdodCxvKj10aGlzLnN0b3JlLmdldFpvb20oKSxpKj10aGlzLnN0b3JlLmdldFpvb20oKSxlPWEueC8xMDAqdGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLndpZHRoLG49YS55LzEwMCp0aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkuaGVpZ2h0LGU9ZSp0aGlzLnN0b3JlLmdldFpvb20oKSt0aGlzLnN0b3JlLmdldFBhbigpLngsbj1uKnRoaXMuc3RvcmUuZ2V0Wm9vbSgpK3RoaXMuc3RvcmUuZ2V0UGFuKCkueSksci50eXBlPT09anQuZHYmJnRoaXMuc3RvcmUuc3RhdGUub2JqZWN0Q29uZmlnLnNjYWxlX3Nwb3RzKXt2YXIgbD1vL3RoaXMuc3RvcmUuZ2V0Wm9vbSgpLHU9aS90aGlzLnN0b3JlLmdldFpvb20oKTtlKz1vLzItbC8yLHIuZGVmYXVsdF9zdHlsZS51c2VfaWNvbiYmci5kZWZhdWx0X3N0eWxlLmljb25faXNfcGluP24rPWktdTpuKz1pLzItdS8yLG89bCxpPXV9aWYodGhpcy5zdG9yZS5nZXRJc0Z1bGxzY3JlZW4oKSYmdGhpcy5zdG9yZS5zdGF0ZS50b29sdGlwcy5jb25zdHJhaW5fdG9vbHRpcHMpe3ZhciBwPXRoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcFJlY3QoKS5vZmZzZXQubGVmdC13aW5kb3cuc2Nyb2xsWCxkPXRoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcFJlY3QoKS5vZmZzZXQudG9wLXdpbmRvdy5zY3JvbGxZO2UrcDwwJiYobz1vK2UrcCxlPS1wKSxlK3Arbz5zJiYobys9cy0oZStwK28pKSxuK2Q8MCYmKGk9aStuK2Qsbj0tZCksbitkK2k+YyYmKGkrPWMtKG4rZCtpKSl9ZWxzZSBlPDAmJihvKz1lLGU9MCksZStvPnRoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcFJlY3QoKS53aWR0aCYmKG89dGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLndpZHRoLWUpLG48MCYmKGkrPW4sbj0wKSxuK2k+dGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLmhlaWdodCYmKGk9dGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLmhlaWdodC1uKTtyZXR1cm57eDplLHk6bix3aWR0aDpvLGhlaWdodDppfX19fV0pLHR9KCkscXQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpe3ZhciBuPWUuaWQ7KDAscHQuWikodGhpcyx0KSxtdCh0aGlzLCJpZCIsdm9pZCAwKSxtdCh0aGlzLCJ0ZXh0Q29sb3IiLHZvaWQgMCksbXQodGhpcywiYmFja2dyb3VuZENvbG9yIix2b2lkIDApLG10KHRoaXMsInpvb21JbkJ1dHRvbiIsdm9pZCAwKSxtdCh0aGlzLCJ6b29tT3V0QnV0dG9uIix2b2lkIDApLHRoaXMuaWQ9bix0aGlzLmNyZWF0ZUVsZW1lbnRzKCl9cmV0dXJuKDAsZHQuWikodCxbe2tleToiY3NzIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiIifX0se2tleToiaHRtbCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57em9vbUluQnV0dG9uOic8ZGl2IGRhdGEtaW1hZ2UtbWFwLWlkPSInLmNvbmNhdCh0aGlzLmlkLCciIGRhdGEtZWxlbWVudC1uYW1lPSJ6b29tSW5CdXR0b24iIGNsYXNzPSJpbXAtdWktZWxlbWVudCBpbXAtdWktem9vbS1idXR0b24gaW1wLXVpLXpvb20tYnV0dG9uLXpvb20taW4iIHN0eWxlPSJiYWNrZ3JvdW5kOiAnKS5jb25jYXQodGhpcy5iYWNrZ3JvdW5kQ29sb3IsJyI+JykuY29uY2F0KCc8c3ZnIGNsYXNzPSJpbXAtaWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNDQ4IDUxMiI+XHgzYyEtLSEgRm9udCBBd2Vzb21lIFBybyA2LjEuMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbSBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZSAoQ29tbWVyY2lhbCBMaWNlbnNlKSBDb3B5cmlnaHQgMjAyMiBGb250aWNvbnMsIEluYy4gLS1ceDNlPHBhdGggZD0iTTQzMiAyNTZjMCAxNy42OS0xNC4zMyAzMi4wMS0zMiAzMi4wMUgyNTZ2MTQ0YzAgMTcuNjktMTQuMzMgMzEuOTktMzIgMzEuOTlzLTMyLTE0LjMtMzItMzEuOTl2LTE0NEg0OGMtMTcuNjcgMC0zMi0xNC4zMi0zMi0zMi4wMXMxNC4zMy0zMS45OSAzMi0zMS45OUgxOTJ2LTE0NGMwLTE3LjY5IDE0LjMzLTMyLjAxIDMyLTMyLjAxczMyIDE0LjMyIDMyIDMyLjAxdjE0NGgxNDRDNDE3LjcgMjI0IDQzMiAyMzguMyA0MzIgMjU2eiIvPjwvc3ZnPicucmVwbGFjZSgiPHN2ZyAiLCc8c3ZnIHN0eWxlPSJmaWxsOiAnLmNvbmNhdCh0aGlzLnRleHRDb2xvciwnIiAnKSksIjwvZGl2PiIpLHpvb21PdXRCdXR0b246JzxkaXYgZGF0YS1pbWFnZS1tYXAtaWQ9IicuY29uY2F0KHRoaXMuaWQsJyIgZGF0YS1lbGVtZW50LW5hbWU9Inpvb21PdXRCdXR0b24iIGNsYXNzPSJpbXAtdWktZWxlbWVudCBpbXAtdWktem9vbS1idXR0b24gaW1wLXVpLXpvb20tYnV0dG9uLXpvb20tb3V0IiBzdHlsZT0iYmFja2dyb3VuZDogJykuY29uY2F0KHRoaXMuYmFja2dyb3VuZENvbG9yLCciPicpLmNvbmNhdCgnPHN2ZyBjbGFzcz0iaW1wLWljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ0OCA1MTIiPlx4M2MhLS0hIEZvbnQgQXdlc29tZSBQcm8gNi4xLjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjIgRm9udGljb25zLCBJbmMuIC0tXHgzZTxwYXRoIGQ9Ik00MDAgMjg4aC0zNTJjLTE3LjY5IDAtMzItMTQuMzItMzItMzIuMDFzMTQuMzEtMzEuOTkgMzItMzEuOTloMzUyYzE3LjY5IDAgMzIgMTQuMyAzMiAzMS45OVM0MTcuNyAyODggNDAwIDI4OHoiLz48L3N2Zz4nLnJlcGxhY2UoIjxzdmcgIiwnPHN2ZyBzdHlsZT0iZmlsbDogJy5jb25jYXQodGhpcy50ZXh0Q29sb3IsJyIgJykpLCI8L2Rpdj4iKX19fSx7a2V5OiJjcmVhdGVFbGVtZW50cyIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnpvb21JbkJ1dHRvbj0oMCxtLkJ2KSh0aGlzLmh0bWwoKS56b29tSW5CdXR0b24pLHRoaXMuem9vbU91dEJ1dHRvbj0oMCxtLkJ2KSh0aGlzLmh0bWwoKS56b29tT3V0QnV0dG9uKX19XSksdH0oKSxIdD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7KDAscHQuWikodGhpcyx0KSxtdCh0aGlzLCJzdG9yZSIsdm9pZCAwKSxtdCh0aGlzLCJtYWMiLG5hdmlnYXRvci5wbGF0Zm9ybS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIk1BQyIpPj0wKSxtdCh0aGlzLCJidXR0b25zIix2b2lkIDApLG10KHRoaXMsInNjcm9sbE1lc3NhZ2UiLHZvaWQgMCksbXQodGhpcywiY3VycmVudFpvb20iLDEpLG10KHRoaXMsInRhcmdldFpvb20iLDEpLG10KHRoaXMsIm1heFpvb20iLDQpLG10KHRoaXMsInpvb21NdWx0aXBsaWVyIiwxLjQ1KSxtdCh0aGlzLCJpeCIsMCksbXQodGhpcywiaXkiLDApLG10KHRoaXMsImxhc3RYIiwwKSxtdCh0aGlzLCJsYXN0WSIsMCksbXQodGhpcywidGFyZ2V0UGFuWCIsMCksbXQodGhpcywidGFyZ2V0UGFuWSIsMCksbXQodGhpcywiYWN0dWFsUGFuWCIsMCksbXQodGhpcywiYWN0dWFsUGFuWSIsMCksbXQodGhpcywiaW5pdGlhbFBhblgiLDApLG10KHRoaXMsImluaXRpYWxQYW5ZIiwwKSxtdCh0aGlzLCJwYW5EZWx0YVgiLDApLG10KHRoaXMsInBhbkRlbHRhWSIsMCksbXQodGhpcywibWluUGFuWCIsMCksbXQodGhpcywibWluUGFuWSIsMCksbXQodGhpcywicGluY2hJbml0aWFsIixbe3g6MCx5OjB9LHt4OjAseTowfV0pLG10KHRoaXMsInBpbmNoSW5pdGlhbERpc3RhbmNlIiwwKSxtdCh0aGlzLCJwaW5jaEluaXRpYWxab29tIiwwKSxtdCh0aGlzLCJzaG93VGltZW91dCIsdm9pZCAwKSxtdCh0aGlzLCJoaWRlU3RhcnRUaW1lb3V0Iix2b2lkIDApLG10KHRoaXMsImhpZGVFbmRUaW1lb3V0Iix2b2lkIDApLHRoaXMuc3RvcmU9ZSx0aGlzLnNldE1heFpvb20oKSx0aGlzLnN0b3JlLnN0YXRlLnpvb21pbmcuZW5hYmxlX3pvb21pbmcmJih0aGlzLnN0b3JlLnN1YnNjcmliZSh0aGlzLmhhbmRsZUFjdGlvbi5iaW5kKHRoaXMpKSx0aGlzLnN0b3JlLnN0YXRlLnpvb21pbmcuZW5hYmxlX3pvb21fYnV0dG9ucyYmdGhpcy5jcmVhdGVCdXR0b25zKCksdGhpcy5zdG9yZS5zdGF0ZS56b29taW5nLmhvbGRfY3RybF90b196b29tJiZ0aGlzLmNyZWF0ZVNjcm9sbE1lc3NhZ2UoKSl9cmV0dXJuKDAsZHQuWikodCxbe2tleToiaGFuZGxlQWN0aW9uIix2YWx1ZTpmdW5jdGlvbih0KXsiZmFpbGVkVG9ab29tIj09dC50eXBlJiZ0aGlzLmRpc3BsYXlTY3JvbGxNZXNzYWdlKCksInBhblRvIj09dC50eXBlJiZ0aGlzLnNldFRhcmdldFBhbih7eDp0LnBheWxvYWQueCx5OnQucGF5bG9hZC55fSksInN0YXJ0UGFuIj09dC50eXBlJiZ0aGlzLnN0YXJ0UGFuKHt4OnQucGF5bG9hZC54LHk6dC5wYXlsb2FkLnl9KSwicGFuIj09dC50eXBlJiZ0aGlzLnBhbih7eDp0LnBheWxvYWQueCx5OnQucGF5bG9hZC55fSksInN0YXJ0UGluY2giPT10LnR5cGUmJnRoaXMuc3RhcnRQaW5jaCh0LnBheWxvYWQuZXZlbnQpLCJwaW5jaCI9PXQudHlwZSYmdGhpcy5waW5jaCh0LnBheWxvYWQuZXZlbnQpLHQudHlwZSwicmVzaXplIj09dC50eXBlJiZ0aGlzLnJlc2V0Wm9vbSghMCl9fSx7a2V5OiJjcmVhdGVCdXR0b25zIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuYnV0dG9ucz1uZXcgcXQoe2lkOnRoaXMuc3RvcmUuZ2V0SUQoKX0pfX0se2tleToiaW5zZXJ0VUkiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5zdG9yZS5zdGF0ZS56b29taW5nLmVuYWJsZV96b29taW5nJiZ0aGlzLnN0b3JlLnN0YXRlLnpvb21pbmcuZW5hYmxlX3pvb21fYnV0dG9ucyYmKHRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QuZW5hYmxlX29iamVjdF9saXN0JiYib24tdG9wIj09PXRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QubWVudV9zdHlsZSYmInJpZ2h0Ij09PXRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QubWVudV9wb3NpdGlvbj8odGhpcy5zdG9yZS5nZXRVSVdyYXAoKS5xdWVyeVNlbGVjdG9yKCIuaW1wLXVpLWJvdHRvbS1sZWZ0IikuYXBwZW5kQ2hpbGQodGhpcy5idXR0b25zLnpvb21JbkJ1dHRvbiksdGhpcy5zdG9yZS5nZXRVSVdyYXAoKS5xdWVyeVNlbGVjdG9yKCIuaW1wLXVpLWJvdHRvbS1sZWZ0IikuYXBwZW5kQ2hpbGQodGhpcy5idXR0b25zLnpvb21PdXRCdXR0b24pKToodGhpcy5zdG9yZS5nZXRVSVdyYXAoKS5xdWVyeVNlbGVjdG9yKCIuaW1wLXVpLWJvdHRvbS1yaWdodCIpLmFwcGVuZENoaWxkKHRoaXMuYnV0dG9ucy56b29tSW5CdXR0b24pLHRoaXMuc3RvcmUuZ2V0VUlXcmFwKCkucXVlcnlTZWxlY3RvcigiLmltcC11aS1ib3R0b20tcmlnaHQiKS5hcHBlbmRDaGlsZCh0aGlzLmJ1dHRvbnMuem9vbU91dEJ1dHRvbikpKX19LHtrZXk6ImNyZWF0ZVNjcm9sbE1lc3NhZ2UiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9IkNUUkwiO3RoaXMubWFjJiYodD0iw6LFksucIik7dmFyIGU9IiI7ZSs9JzxkaXYgY2xhc3M9ImltcC11aS1zY3JvbGwtbWVzc2FnZS13cmFwIj4nLGUrPScgICA8ZGl2IGNsYXNzPSJpbXAtdWktc2Nyb2xsLW1lc3NhZ2Utd3JhcC1pbm5lciI+JyxlKz0nICAgICAgIDxkaXYgY2xhc3M9ImltcC11aS1zY3JvbGwtbWVzc2FnZSI+SG9sZCA8ZGl2IGNsYXNzPSJpbXAtdWktc2Nyb2xsLW1lc3NhZ2UtYnV0dG9uIj4nLmNvbmNhdCh0LCI8L2Rpdj4gdG8gWm9vbTwvZGl2PiIpLGUrPSIgICA8L2Rpdj4iLGUrPSI8L2Rpdj4iLHRoaXMuc2Nyb2xsTWVzc2FnZT0oMCxtLkJ2KShlKSx0aGlzLnN0b3JlLmdldFVJV3JhcCgpLmFwcGVuZENoaWxkKHRoaXMuc2Nyb2xsTWVzc2FnZSl9fSx7a2V5OiJkaXNwbGF5U2Nyb2xsTWVzc2FnZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuc2Nyb2xsTWVzc2FnZS5zdHlsZS5kaXNwbGF5PSJibG9jayIsY2xlYXJUaW1lb3V0KHRoaXMuc2hvd1RpbWVvdXQpLGNsZWFyVGltZW91dCh0aGlzLmhpZGVTdGFydFRpbWVvdXQpLGNsZWFyVGltZW91dCh0aGlzLmhpZGVFbmRUaW1lb3V0KSx0aGlzLnNob3dUaW1lb3V0PXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dC5zY3JvbGxNZXNzYWdlLmNsYXNzTGlzdC5hZGQoImltcC12aXNpYmxlIiksdC5oaWRlU3RhcnRUaW1lb3V0PXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dC5zY3JvbGxNZXNzYWdlLmNsYXNzTGlzdC5yZW1vdmUoImltcC12aXNpYmxlIiksdC5oaWRlRW5kVGltZW91dD1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3Quc2Nyb2xsTWVzc2FnZS5zdHlsZS5kaXNwbGF5PSJub25lIn0pLDI1MCl9KSwxZTMpfSksMTApfX0se2tleToicmVzZXRab29tIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLnRhcmdldFpvb209MSx0aGlzLnRhcmdldFBhblg9MCx0aGlzLnRhcmdldFBhblk9MCx0fHwodGhpcy5jdXJyZW50Wm9vbT0xLHRoaXMuYWN0dWFsUGFuWD0wLHRoaXMuYWN0dWFsUGFuWT0wKSx0aGlzLnJlZHJhdyh7YW5pbWF0ZTp0fSl9fSx7a2V5OiJ6b29tSW4iLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXQuY29vcmRzLG49dC5hbmltYXRlLG89dm9pZCAwPT09bnx8bixpPXQudGFyZ2V0Wm9vbTtpZih0aGlzLnRhcmdldFpvb208dGhpcy5tYXhab29tKXt2YXIgcj1pfHx0aGlzLmN1cnJlbnRab29tKnRoaXMuem9vbU11bHRpcGxpZXIsYT0wLHM9MDtlPyhhPWUueCxzPWUueSk6KGE9dGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLm9mZnNldC5sZWZ0K3RoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcFJlY3QoKS53aWR0aC8yLHM9dGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLm9mZnNldC50b3ArdGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLmhlaWdodC8yKSx0aGlzLnNldFRhcmdldFpvb20oe3pvb206cixmb2NhbFBvaW50WDphLGZvY2FsUG9pbnRZOnMsYW5pbWF0ZTpvfSl9fX0se2tleToiem9vbU91dCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dC5jb29yZHMsbj10LmFuaW1hdGU7aWYodGhpcy50YXJnZXRab29tPjEpe3ZhciBvPXRoaXMuY3VycmVudFpvb20vdGhpcy56b29tTXVsdGlwbGllcixpPTAscj0wO2U/KGk9ZS54LHI9ZS55KTooaT10aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkub2Zmc2V0LmxlZnQrdGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLndpZHRoLzIscj10aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkub2Zmc2V0LnRvcCt0aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkuaGVpZ2h0LzIpLHRoaXMuc2V0VGFyZ2V0Wm9vbSh7em9vbTpvLGZvY2FsUG9pbnRYOmksZm9jYWxQb2ludFk6cixhbmltYXRlOm59KX19fSx7a2V5OiJzdGFydFBhbiIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dC54LG49dC55O3RoaXMuaXg9ZSx0aGlzLml5PW4sdGhpcy5pbml0aWFsUGFuWD10aGlzLmFjdHVhbFBhblgsdGhpcy5pbml0aWFsUGFuWT10aGlzLmFjdHVhbFBhbll9fSx7a2V5OiJwYW4iLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXQueCxuPXQueTt0aGlzLnBhbkRlbHRhWD10aGlzLml4LWUsdGhpcy5wYW5EZWx0YVk9dGhpcy5peS1uLHRoaXMudGFyZ2V0UGFuWD10aGlzLmluaXRpYWxQYW5YLXRoaXMucGFuRGVsdGFYLHRoaXMudGFyZ2V0UGFuWT10aGlzLmluaXRpYWxQYW5ZLXRoaXMucGFuRGVsdGFZLHRoaXMucmVkcmF3KHthbmltYXRlOiExfSl9fSx7a2V5OiJzdGFydFBpbmNoIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLnBpbmNoSW5pdGlhbFswXT17eDp0LnRvdWNoZXNbMF0ucGFnZVgseTp0LnRvdWNoZXNbMF0ucGFnZVl9LHRoaXMucGluY2hJbml0aWFsWzFdPXt4OnQudG91Y2hlc1sxXS5wYWdlWCx5OnQudG91Y2hlc1sxXS5wYWdlWX0sdGhpcy5pbml0aWFsUGFuWD10aGlzLmFjdHVhbFBhblgsdGhpcy5pbml0aWFsUGFuWT10aGlzLmFjdHVhbFBhblksdGhpcy5peD0odC50b3VjaGVzWzBdLnBhZ2VYK3QudG91Y2hlc1sxXS5wYWdlWCkvMix0aGlzLml5PSh0LnRvdWNoZXNbMF0ucGFnZVkrdC50b3VjaGVzWzFdLnBhZ2VZKS8yLHRoaXMubGFzdFg9dGhpcy5peCx0aGlzLmxhc3RZPXRoaXMuaXksdGhpcy5waW5jaEluaXRpYWxEaXN0YW5jZT1NYXRoLnNxcnQoTWF0aC5wb3codGhpcy5waW5jaEluaXRpYWxbMV0ueC10aGlzLnBpbmNoSW5pdGlhbFswXS54LDIpK01hdGgucG93KHRoaXMucGluY2hJbml0aWFsWzFdLnktdGhpcy5waW5jaEluaXRpYWxbMF0ueSwyKSksdGhpcy5waW5jaEluaXRpYWxab29tPXRoaXMuY3VycmVudFpvb219fSx7a2V5OiJwaW5jaCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9KHQudG91Y2hlc1swXS5wYWdlWCt0LnRvdWNoZXNbMV0ucGFnZVgpLzIsbj0odC50b3VjaGVzWzBdLnBhZ2VZK3QudG91Y2hlc1sxXS5wYWdlWSkvMjt0aGlzLmFjdHVhbFBhblgrPWUtdGhpcy5sYXN0WCx0aGlzLmFjdHVhbFBhblkrPW4tdGhpcy5sYXN0WSx0aGlzLmxhc3RYPWUsdGhpcy5sYXN0WT1uO3ZhciBvPU1hdGguc3FydChNYXRoLnBvdyh0LnRvdWNoZXNbMV0ucGFnZVgtdC50b3VjaGVzWzBdLnBhZ2VYLDIpK01hdGgucG93KHQudG91Y2hlc1sxXS5wYWdlWS10LnRvdWNoZXNbMF0ucGFnZVksMikpL3RoaXMucGluY2hJbml0aWFsRGlzdGFuY2U7dGhpcy5zZXRUYXJnZXRab29tKHt6b29tOnRoaXMucGluY2hJbml0aWFsWm9vbSpvLGZvY2FsUG9pbnRYOmUsZm9jYWxQb2ludFk6bn0pfX0se2tleToic2V0VGFyZ2V0UGFuIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10Lngsbj10Lnksbz10LnJlZHJhdyxpPXZvaWQgMD09PW98fG8scj0tZSt0aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkud2lkdGgvMixhPS1uK3RoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcFJlY3QoKS5oZWlnaHQvMjt0aGlzLnRhcmdldFBhblg9cix0aGlzLnRhcmdldFBhblk9YSxpJiZ0aGlzLnJlZHJhdyh7YW5pbWF0ZTohMH0pfX0se2tleToic2V0VGFyZ2V0Wm9vbSIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dC56b29tLG49dC5mb2NhbFBvaW50WCxvPXQuZm9jYWxQb2ludFksaT10LmFuaW1hdGUscj12b2lkIDA9PT1pfHxpLGE9dC5yZWRyYXcscz12b2lkIDA9PT1hfHxhO3RoaXMudGFyZ2V0UGFuWD10aGlzLmFjdHVhbFBhblgsdGhpcy50YXJnZXRQYW5ZPXRoaXMuYWN0dWFsUGFuWSx0aGlzLnRhcmdldFpvb209ZSx0aGlzLnRhcmdldFpvb20+dGhpcy5tYXhab29tJiYodGhpcy50YXJnZXRab29tPXRoaXMubWF4Wm9vbSksdGhpcy50YXJnZXRab29tPDEmJih0aGlzLnRhcmdldFpvb209MSk7dmFyIGM9KHRoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcFJlY3QoKS53aWR0aCp0aGlzLnRhcmdldFpvb20tdGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLndpZHRoKnRoaXMuY3VycmVudFpvb20pLzIsbD0odGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLmhlaWdodCp0aGlzLnRhcmdldFpvb20tdGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLmhlaWdodCp0aGlzLmN1cnJlbnRab29tKS8yO2lmKG4mJm8pe3ZhciB1PSgwLG0uWW8pKHRoaXMuc3RvcmUuZ2V0U2NhbGVXcmFwKCkpLHA9bi11Lm9mZnNldC5sZWZ0LGQ9by11Lm9mZnNldC50b3AsaD1jKigodGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLndpZHRoKnRoaXMuY3VycmVudFpvb20vMi1wKS8odGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLndpZHRoKnRoaXMuY3VycmVudFpvb20vMikpLGY9bCooKHRoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcFJlY3QoKS5oZWlnaHQqdGhpcy5jdXJyZW50Wm9vbS8yLWQpLyh0aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkuaGVpZ2h0KnRoaXMuY3VycmVudFpvb20vMikpO3RoaXMudGFyZ2V0UGFuWC09Yyx0aGlzLnRhcmdldFBhblktPWwsdGhpcy50YXJnZXRQYW5YKz1oLHRoaXMudGFyZ2V0UGFuWSs9Zn1zJiZ0aGlzLnJlZHJhdyh7YW5pbWF0ZTpyfSl9fSx7a2V5OiJyZWRyYXciLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10LmFuaW1hdGUsbz12b2lkIDAhPT1uJiZuO3RoaXMubGltaXQoKSx0aGlzLmludGVycG9sYXRlKG8pLHRoaXMuc3RvcmUuZGlzcGF0Y2goInpvb21VcGRhdGUiKSx0aGlzLnN0b3JlLmdldFNjYWxlV3JhcCgpLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoIi5jb25jYXQodGhpcy5jdXJyZW50Wm9vbSwiLCAiKS5jb25jYXQodGhpcy5jdXJyZW50Wm9vbSwiKSIpLHRoaXMuc3RvcmUuZ2V0VHJhbnNsYXRlV3JhcCgpLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlKCIuY29uY2F0KHRoaXMuYWN0dWFsUGFuWCwicHgsICIpLmNvbmNhdCh0aGlzLmFjdHVhbFBhblksInB4KSIpLG8mJih0aGlzLmN1cnJlbnRab29tPT10aGlzLnRhcmdldFpvb20mJnRoaXMuYWN0dWFsUGFuWD09dGhpcy50YXJnZXRQYW5YJiZ0aGlzLmFjdHVhbFBhblk9PXRoaXMudGFyZ2V0UGFuWXx8d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24oKXtlLnJlZHJhdyh7YW5pbWF0ZTpvfSl9KSkpfX0se2tleToic2V0TWF4Wm9vbSIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnN0b3JlLnN0YXRlLnpvb21pbmcuZW5hYmxlX3pvb21pbmd8fCh0aGlzLm1heFpvb209MSksdGhpcy5zdG9yZS5nZXRJbWFnZSgpJiZ0aGlzLnN0b3JlLnN0YXRlLnpvb21pbmcubGltaXRfbWF4X3pvb21fdG9faW1hZ2Vfc2l6ZT90aGlzLm1heFpvb209dGhpcy5zdG9yZS5nZXRJbWFnZSgpLm5hdHVyYWxXaWR0aC90aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkud2lkdGg6dGhpcy5tYXhab29tPXRoaXMuc3RvcmUuc3RhdGUuem9vbWluZy5tYXhfem9vbSx0aGlzLm1heFpvb208MSYmKHRoaXMubWF4Wm9vbT0xKX19LHtrZXk6ImxpbWl0Iix2YWx1ZTpmdW5jdGlvbigpe3RoaXMubWluUGFuWD10aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkud2lkdGgtdGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLndpZHRoKnRoaXMudGFyZ2V0Wm9vbSx0aGlzLm1pblBhblk9dGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwUmVjdCgpLmhlaWdodC10aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkuaGVpZ2h0KnRoaXMudGFyZ2V0Wm9vbSx0aGlzLnRhcmdldFBhblg+MCYmKHRoaXMudGFyZ2V0UGFuWD0wKSx0aGlzLnRhcmdldFBhblk+MCYmKHRoaXMudGFyZ2V0UGFuWT0wKSx0aGlzLnRhcmdldFBhblg8dGhpcy5taW5QYW5YJiYodGhpcy50YXJnZXRQYW5YPXRoaXMubWluUGFuWCksdGhpcy50YXJnZXRQYW5ZPHRoaXMubWluUGFuWSYmKHRoaXMudGFyZ2V0UGFuWT10aGlzLm1pblBhblkpfX0se2tleToiaW50ZXJwb2xhdGUiLHZhbHVlOmZ1bmN0aW9uKHQpe3Q/KHRoaXMuY3VycmVudFpvb209KDAsbS50NykodGhpcy5jdXJyZW50Wm9vbSx0aGlzLnRhcmdldFpvb20sLjEpLHRoaXMuYWN0dWFsUGFuWD0oMCxtLnQ3KSh0aGlzLmFjdHVhbFBhblgsdGhpcy50YXJnZXRQYW5YLC4xKSx0aGlzLmFjdHVhbFBhblk9KDAsbS50NykodGhpcy5hY3R1YWxQYW5ZLHRoaXMudGFyZ2V0UGFuWSwuMSksTWF0aC5hYnModGhpcy5jdXJyZW50Wm9vbS10aGlzLnRhcmdldFpvb20pPC4wMDEmJih0aGlzLmN1cnJlbnRab29tPXRoaXMudGFyZ2V0Wm9vbSksTWF0aC5hYnModGhpcy5hY3R1YWxQYW5YLXRoaXMudGFyZ2V0UGFuWCk8MSYmKHRoaXMuYWN0dWFsUGFuWD10aGlzLnRhcmdldFBhblgpLE1hdGguYWJzKHRoaXMuYWN0dWFsUGFuWS10aGlzLnRhcmdldFBhblkpPDEmJih0aGlzLmFjdHVhbFBhblk9dGhpcy50YXJnZXRQYW5ZKSk6KHRoaXMuY3VycmVudFpvb209dGhpcy50YXJnZXRab29tLHRoaXMuYWN0dWFsUGFuWD10aGlzLnRhcmdldFBhblgsdGhpcy5hY3R1YWxQYW5ZPXRoaXMudGFyZ2V0UGFuWSl9fSx7a2V5OiJ1cGRhdGVTdG9yZSIsdmFsdWU6ZnVuY3Rpb24oKXt9fV0pLHR9KCksWXQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dmFyIGU9dGhpcyxuPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXToyNTA7KDAscHQuWikodGhpcyx0KSxtdCh0aGlzLCJjYWNoZVRUTCIsMjUwKSxtdCh0aGlzLCJpbnZhbGlkYXRlQ2FjaGVJbnRlcnZhbCIsdm9pZCAwKSxtdCh0aGlzLCJjYWNoZSIse30pLHRoaXMuY2FjaGVUVEw9bix0aGlzLmludmFsaWRhdGVDYWNoZUludGVydmFsPXNldEludGVydmFsKChmdW5jdGlvbigpe2UuY2FjaGU9e319KSx0aGlzLmNhY2hlVFRMKX1yZXR1cm4oMCxkdC5aKSh0LFt7a2V5OiJzZXRWYWx1ZSIsdmFsdWU6ZnVuY3Rpb24odCxlKXt0aGlzLmNhY2hlW3RdPWV9fSx7a2V5OiJnZXRWYWx1ZSIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2FjaGVbdF19fV0pLHR9KCk7ZnVuY3Rpb24gTnQodCxlKXsobnVsbD09ZXx8ZT50Lmxlbmd0aCkmJihlPXQubGVuZ3RoKTtmb3IodmFyIG49MCxvPW5ldyBBcnJheShlKTtuPGU7bisrKW9bbl09dFtuXTtyZXR1cm4gb312YXIgWHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpeygwLHB0LlopKHRoaXMsdCksbXQodGhpcywiZWxlbWVudCIsdm9pZCAwKSxtdCh0aGlzLCJzdG9yZSIsdm9pZCAwKSx0aGlzLnN0b3JlPWUsdGhpcy5lbGVtZW50PSgwLG0uQnYpKHRoaXMuaHRtbCgpKX1yZXR1cm4oMCxkdC5aKSh0LFt7a2V5OiJodG1sIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSIiO3QrPSc8ZGl2IGNsYXNzPSJpbXAtdWktbGF5ZXJzLW1lbnUtd3JhcCIgZGF0YS1lbGVtZW50LW5hbWU9ImxheWVyc1NlbGVjdCI+Jyx0Kz12dCx0Kz0nICAgPHNlbGVjdCBjbGFzcz0iaW1wLXVpLWVsZW1lbnQgaW1wLXVpLWxheWVycy1zZWxlY3QiPic7dmFyIGUsbj1mdW5jdGlvbih0LGUpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl18fHRbIkBAaXRlcmF0b3IiXTtpZighbil7aWYoQXJyYXkuaXNBcnJheSh0KXx8KG49ZnVuY3Rpb24odCxlKXtpZih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIE50KHQsZSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpO3JldHVybiJPYmplY3QiPT09biYmdC5jb25zdHJ1Y3RvciYmKG49dC5jb25zdHJ1Y3Rvci5uYW1lKSwiTWFwIj09PW58fCJTZXQiPT09bj9BcnJheS5mcm9tKHQpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/TnQodCxlKTp2b2lkIDB9fSh0KSl8fGUmJnQmJiJudW1iZXIiPT10eXBlb2YgdC5sZW5ndGgpe24mJih0PW4pO3ZhciBvPTAsaT1mdW5jdGlvbigpe307cmV0dXJue3M6aSxuOmZ1bmN0aW9uKCl7cmV0dXJuIG8+PXQubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTp0W28rK119fSxlOmZ1bmN0aW9uKHQpe3Rocm93IHR9LGY6aX19dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfXZhciByLGE9ITAscz0hMTtyZXR1cm57czpmdW5jdGlvbigpe249bi5jYWxsKHQpfSxuOmZ1bmN0aW9uKCl7dmFyIHQ9bi5uZXh0KCk7cmV0dXJuIGE9dC5kb25lLHR9LGU6ZnVuY3Rpb24odCl7cz0hMCxyPXR9LGY6ZnVuY3Rpb24oKXt0cnl7YXx8bnVsbD09bi5yZXR1cm58fG4ucmV0dXJuKCl9ZmluYWxseXtpZihzKXRocm93IHJ9fX19KHRoaXMuc3RvcmUuZ2V0QXJ0Ym9hcmRzKCkpO3RyeXtmb3Iobi5zKCk7IShlPW4ubigpKS5kb25lOyl7dmFyIG89ZS52YWx1ZTt0Kz0nPG9wdGlvbiB2YWx1ZT0iJy5jb25jYXQoby5pZCwnIj4nKS5jb25jYXQoby50aXRsZSwiPC9vcHRpb24+Iil9fWNhdGNoKHQpe24uZSh0KX1maW5hbGx5e24uZigpfXJldHVybiB0Kz0iICAgPC9zZWxlY3Q+Iix0Kz0iPC9kaXY+In19LHtrZXk6InNlbGVjdEFydGJvYXJkIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3Rvcigic2VsZWN0IikudmFsdWU9dH19XSksdH0oKSxLdD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSxuKXsoMCxwdC5aKSh0aGlzLHQpLG10KHRoaXMsInN0b3JlIix2b2lkIDApLG10KHRoaXMsImFydGJvYXJkTWVudSIsdm9pZCAwKSxtdCh0aGlzLCJjdXJyZW50QXJ0Ym9hcmRJZCIsdm9pZCAwKSx0aGlzLnN0b3JlPWUsdGhpcy5jdXJyZW50QXJ0Ym9hcmRJZD1ufHxlLnN0YXRlLmFydGJvYXJkc1swXS5pZCx0aGlzLnN0b3JlLnN0YXRlLmFydGJvYXJkcy5sZW5ndGg+MT8odGhpcy5hcnRib2FyZE1lbnU9bmV3IFh0KHRoaXMuc3RvcmUpLHRoaXMuYXJ0Ym9hcmRNZW51LnNlbGVjdEFydGJvYXJkKHRoaXMuY3VycmVudEFydGJvYXJkSWQpKTp0aGlzLmFydGJvYXJkTWVudT17ZWxlbWVudDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKX19cmV0dXJuKDAsZHQuWikodCxbe2tleToiaW5zZXJ0VUkiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5lbmFibGVfb2JqZWN0X2xpc3QmJiJvbi10b3AiPT09dGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5tZW51X3N0eWxlJiYicmlnaHQiPT09dGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5tZW51X3Bvc2l0aW9uP3RoaXMuc3RvcmUuZ2V0VUlXcmFwKCkucXVlcnlTZWxlY3RvcigiLmltcC11aS10b3AtbGVmdCIpLmFwcGVuZENoaWxkKHRoaXMuYXJ0Ym9hcmRNZW51LmVsZW1lbnQpOnRoaXMuc3RvcmUuZ2V0VUlXcmFwKCkucXVlcnlTZWxlY3RvcigiLmltcC11aS10b3AtcmlnaHQiKS5hcHBlbmRDaGlsZCh0aGlzLmFydGJvYXJkTWVudS5lbGVtZW50KX19LHtrZXk6ImNoYW5nZUFydGJvYXJkIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLmN1cnJlbnRBcnRib2FyZElkPXQsdGhpcy5hcnRib2FyZE1lbnUuc2VsZWN0QXJ0Ym9hcmQodGhpcy5jdXJyZW50QXJ0Ym9hcmRJZCl9fV0pLHR9KCksVnQ9X193ZWJwYWNrX3JlcXVpcmVfXyg1Nzg1KSwkdD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dmFyIG49ZS5vcHRpb25zLG89ZS5pc0dyb3VwLGk9ZS5kZXB0aCxyPWUuaW1hZ2VNYXBJZDsoMCxwdC5aKSh0aGlzLHQpLG10KHRoaXMsImVsZW1lbnQiLGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxtdCh0aGlzLCJvcHRpb25zIix2b2lkIDApLG10KHRoaXMsImRlcHRoIiwwKSxtdCh0aGlzLCJ2aXNpYmxlIiwhMCksbXQodGhpcywiaXNHcm91cCIsITEpLG10KHRoaXMsImljb25FbGVtZW50Iixkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSksdGhpcy5vcHRpb25zPW4sdGhpcy5kZXB0aD1pLHRoaXMuaXNHcm91cD1vLHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpbXAtb2JqZWN0LWxpc3QtaXRlbSIpLG8mJnRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpbXAtb2JqZWN0LWxpc3QtaXRlbS1ncm91cCIpLHRoaXMuZWxlbWVudC5kYXRhc2V0Lmxpc3RJdGVtSWQ9dGhpcy5vcHRpb25zLmlkLHRoaXMuZWxlbWVudC5kYXRhc2V0LmltYWdlTWFwSWQ9cixpPjAmJih0aGlzLmVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdD0yNSsyMiooaS0xKSsicHgiLHRoaXMuZWxlbWVudC5zdHlsZS5ib3JkZXJMZWZ0PSIxcHggc29saWQgI2VlZSIpLHRoaXMuaXNHcm91cCYmKHRoaXMuaWNvbkVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLW9iamVjdC1saXN0LWl0ZW0tZm9sZGVyLWljb24iKSx0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5pY29uRWxlbWVudCkpO3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTthLmlubmVySFRNTD10aGlzLm9wdGlvbnMudGl0bGUsdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKGEpLHRoaXMub3BlbkZvbGRlcigpLHRoaXMucmVkcmF3KCl9cmV0dXJuKDAsZHQuWikodCxbe2tleToic2hvdyIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnZpc2libGU9ITAsdGhpcy5yZWRyYXcoKX19LHtrZXk6ImhpZGUiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy52aXNpYmxlPSExLHRoaXMucmVkcmF3KCl9fSx7a2V5OiJvcGVuRm9sZGVyIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuaWNvbkVsZW1lbnQuaW5uZXJIVE1MPSc8c3ZnIGNsYXNzPSJpbXAtaWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIwIDUxMiI+XHgzYyEtLSEgRm9udCBBd2Vzb21lIFBybyA2LjMuMCBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbSBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZSAoQ29tbWVyY2lhbCBMaWNlbnNlKSBDb3B5cmlnaHQgMjAyMyBGb250aWNvbnMsIEluYy4gLS1ceDNlPHBhdGggZD0iTTEzNy40IDM3NC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjhjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlzLTE2LjYtMTkuOC0yOS42LTE5LjhMMzIgMTkyYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWwxMjggMTI4eiIvPjwvc3ZnPid9fSx7a2V5OiJjbG9zZUZvbGRlciIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmljb25FbGVtZW50LmlubmVySFRNTD0nPHN2ZyBjbGFzcz0iaW1wLWljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyMCA1MTIiPlx4M2MhLS0hIEZvbnQgQXdlc29tZSBQcm8gNi4zLjAgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuIC0tXHgzZTxwYXRoIGQ9Ik0yNDYuNiAyNzguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOGMtOS4yLTkuMi0yMi45LTExLjktMzQuOS02LjlzLTE5LjggMTYuNi0xOS44IDI5LjZsMCAyNTZjMCAxMi45IDcuOCAyNC42IDE5LjggMjkuNnMyNS43IDIuMiAzNC45LTYuOWwxMjgtMTI4eiIvPjwvc3ZnPid9fSx7a2V5OiJyZWRyYXciLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy52aXNpYmxlJiZ0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgiaW1wLW9iamVjdC1saXN0LWl0ZW0taGlkZGVuIiksdGhpcy52aXNpYmxlfHx0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLW9iamVjdC1saXN0LWl0ZW0taGlkZGVuIil9fV0pLHR9KCksR3Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpe3ZhciBuPWUub3B0aW9ucyxvPWUuaW1hZ2VNYXBJZDsoMCxwdC5aKSh0aGlzLHQpLG10KHRoaXMsImVsZW1lbnQiLGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxtdCh0aGlzLCJvcHRpb25zIix2b2lkIDApLHRoaXMub3B0aW9ucz1uLHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpbXAtb2JqZWN0LWxpc3QtaXRlbS1hcnRib2FyZCIpLHRoaXMuZWxlbWVudC5kYXRhc2V0Lmxpc3RJdGVtSWQ9dGhpcy5vcHRpb25zLmlkLHRoaXMuZWxlbWVudC5kYXRhc2V0LmltYWdlTWFwSWQ9bzt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7aS5pbm5lckhUTUw9dGhpcy5vcHRpb25zLnRpdGxlO3ZhciByPSgwLG0uQnYpKHZ0KTt0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoaSksdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHIpfXJldHVybigwLGR0LlopKHQsW3trZXk6ImV4cGFuZCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgiaW1wLWNvbGxhcHNlZC1hcnRib2FyZC1pdGVtIil9fSx7a2V5OiJjb2xsYXBzZSIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLWNvbGxhcHNlZC1hcnRib2FyZC1pdGVtIil9fV0pLHR9KCk7ZnVuY3Rpb24gSnQodCxlKXt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmdFtTeW1ib2wuaXRlcmF0b3JdfHx0WyJAQGl0ZXJhdG9yIl07aWYoIW4pe2lmKEFycmF5LmlzQXJyYXkodCl8fChuPWZ1bmN0aW9uKHQsZSl7aWYodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBRdCh0LGUpO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PW4mJnQuY29uc3RydWN0b3ImJihuPXQuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1ufHwiU2V0Ij09PW4/QXJyYXkuZnJvbSh0KToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP1F0KHQsZSk6dm9pZCAwfX0odCkpfHxlJiZ0JiYibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXtuJiYodD1uKTt2YXIgbz0wLGk9ZnVuY3Rpb24oKXt9O3JldHVybntzOmksbjpmdW5jdGlvbigpe3JldHVybiBvPj10Lmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6dFtvKytdfX0sZTpmdW5jdGlvbih0KXt0aHJvdyB0fSxmOml9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgcixhPSEwLHM9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtuPW4uY2FsbCh0KX0sbjpmdW5jdGlvbigpe3ZhciB0PW4ubmV4dCgpO3JldHVybiBhPXQuZG9uZSx0fSxlOmZ1bmN0aW9uKHQpe3M9ITAscj10fSxmOmZ1bmN0aW9uKCl7dHJ5e2F8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyByfX19fWZ1bmN0aW9uIFF0KHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciBuPTAsbz1uZXcgQXJyYXkoZSk7bjxlO24rKylvW25dPXRbbl07cmV0dXJuIG99dmFyIHRlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXsoMCxwdC5aKSh0aGlzLHQpLG10KHRoaXMsInN0b3JlIix2b2lkIDApLG10KHRoaXMsImVsZW1lbnQiLGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxtdCh0aGlzLCJpdGVtcyIsW10pLG10KHRoaXMsInBhcmVudHNGb3JJdGVtIix7fSksbXQodGhpcywiaGVpZ2h0IiwwKSxtdCh0aGlzLCJoaWRkZW5Hcm91cHMiLG5ldyBTZXQpLG10KHRoaXMsImhpZGRlbkFydGJvYXJkcyIsbmV3IFNldCksbXQodGhpcywiYXJ0Ym9hcmRJdGVtcyIse30pLHRoaXMuc3RvcmU9ZSx0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLW9iamVjdC1saXN0IiksdGhpcy5kcmF3SXRlbXMoKX1yZXR1cm4oMCxkdC5aKSh0LFt7a2V5OiJkcmF3SXRlbXMiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLmVsZW1lbnQuaW5uZXJIVE1MPSIiO3ZhciBlLG49SnQodGhpcy5zdG9yZS5nZXRBcnRib2FyZHMoKSk7dHJ5e3ZhciBvPWZ1bmN0aW9uKCl7dmFyIG4sbz1lLnZhbHVlO2lmKCF0LnN0b3JlLnN0YXRlLm9iamVjdF9saXN0Lmdyb3VwX2J5X2FydGJvYXJkJiZ0LnN0b3JlLnN0YXRlLm9iamVjdF9saXN0LnNob3dfb25seV9vYmplY3RzX2Zyb21fYWN0aXZlX2FydGJvYXJkJiZvLmlkIT09dC5zdG9yZS5nZXRDdXJyZW50QXJ0Ym9hcmQoKSlyZXR1cm4iY29udGludWUiO3ZhciBpPXQuY3JlYXRlQXJ0Ym9hcmRDb250YWluZXIoKTtpZih0LnN0b3JlLnN0YXRlLm9iamVjdF9saXN0Lmdyb3VwX2J5X2FydGJvYXJkKXt2YXIgcj1uZXcgR3Qoe29wdGlvbnM6byxpbWFnZU1hcElkOnQuc3RvcmUuZ2V0SUQoKX0pO3QuYXJ0Ym9hcmRJdGVtc1tvLmlkXT1yLGkuYXBwZW5kQ2hpbGQoci5lbGVtZW50KX12YXIgYT1bXTtvLmNoaWxkcmVuLmZvckVhY2goKGZ1bmN0aW9uKGUpe2EucHVzaC5hcHBseShhLCgwLFZ0LlopKHQuY3JlYXRlSXRlbUFuZENoaWxkcmVuKGUsW28uaWRdKSkpfSkpLChuPXQuaXRlbXMpLnB1c2guYXBwbHkobixhKSxhLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBpLmFwcGVuZENoaWxkKHQuZWxlbWVudCl9KSksdC5lbGVtZW50LmFwcGVuZENoaWxkKGkpfTtmb3Iobi5zKCk7IShlPW4ubigpKS5kb25lOylvKCl9Y2F0Y2godCl7bi5lKHQpfWZpbmFsbHl7bi5mKCl9fX0se2tleToiY3JlYXRlQXJ0Ym9hcmRDb250YWluZXIiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuY2xhc3NMaXN0LmFkZCgiaW1wLW9iamVjdC1saXN0LWFydGJvYXJkLWNvbnRhaW5lciIpLHR9fSx7a2V5OiJjcmVhdGVJdGVtQW5kQ2hpbGRyZW4iLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTpbXTtpZih0aGlzLnN0b3JlLnN0YXRlLm9iamVjdF9saXN0LmhpZGVfc3RhdGljX29iamVjdHMmJnQuc3RhdGljKXJldHVybltdO3ZhciBuPVtdLG89ITE7dC50eXBlPT09anQuV1cmJnRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3Quc2hvd19ncm91cHMmJiF0LnNpbmdsZV9vYmplY3QmJihvPSEwKTt2YXIgaT0wO2lmKHRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3Quc2hvd19ncm91cHMmJihpPWUubGVuZ3RoLTEpLCh0LnR5cGUhPT1qdC5XV3x8dC50eXBlPT09anQuV1cmJnRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3Quc2hvd19ncm91cHN8fHQudHlwZT09PWp0LldXJiZ0LnNpbmdsZV9vYmplY3QpJiZuLnB1c2gobmV3ICR0KHtvcHRpb25zOnQsaXNHcm91cDpvLGRlcHRoOmksaW1hZ2VNYXBJZDp0aGlzLnN0b3JlLmdldElEKCl9KSksdC50eXBlPT09anQuV1cmJiF0LnNpbmdsZV9vYmplY3Qpe3ZhciByLGE9SnQodC5jaGlsZHJlbik7dHJ5e2ZvcihhLnMoKTshKHI9YS5uKCkpLmRvbmU7KXt2YXIgcz1yLnZhbHVlO2lmKCF0aGlzLnN0b3JlLnN0YXRlLm9iamVjdF9saXN0LmhpZGVfc3RhdGljX29iamVjdHN8fCFzLnN0YXRpYyl7dmFyIGM9dGhpcy5jcmVhdGVJdGVtQW5kQ2hpbGRyZW4ocyxbXS5jb25jYXQoKDAsVnQuWikoZSksW3QuaWRdKSk7bi5wdXNoLmFwcGx5KG4sKDAsVnQuWikoYykpfX19Y2F0Y2godCl7YS5lKHQpfWZpbmFsbHl7YS5mKCl9fXJldHVybiB0aGlzLnBhcmVudHNGb3JJdGVtW3QuaWRdPXRoaXMucGFyZW50c0Zvckl0ZW1bdC5pZF0/W10uY29uY2F0KCgwLFZ0LlopKHRoaXMucGFyZW50c0Zvckl0ZW1bdC5pZF0pLCgwLFZ0LlopKGUpKTplLG59fSx7a2V5OiJmaWx0ZXJJdGVtcyIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdCxlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXToiIixuPUp0KHRoaXMuaXRlbXMpO3RyeXtmb3Iobi5zKCk7ISh0PW4ubigpKS5kb25lOyl7dmFyIG89dC52YWx1ZTtpZihlLmxlbmd0aD4yKXt2YXIgaT1uZXcgUmVnRXhwKCIoIitlKyIpIiwiZ2kiKSxyPW8ub3B0aW9ucy50aXRsZS5yZXBsYWNlKGksJzxzcGFuIGNsYXNzPSJpbXAtc2VhcmNoLWhpZ2hsaWdodCI+JCY8L3NwYW4+Jyk7by5vcHRpb25zLnRpdGxlIT1yPyhvLnNob3coKSxvLmVsZW1lbnQucXVlcnlTZWxlY3RvcigicCIpLmlubmVySFRNTD1yKTooby5oaWRlKCksby5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoInAiKS5pbm5lckhUTUw9by5vcHRpb25zLnRpdGxlKX1lbHNlIG8uc2hvdygpLG8uZWxlbWVudC5xdWVyeVNlbGVjdG9yKCJwIikuaW5uZXJIVE1MPW8ub3B0aW9ucy50aXRsZX19Y2F0Y2godCl7bi5lKHQpfWZpbmFsbHl7bi5mKCl9fX0se2tleToidG9nZ2xlR3JvdXAiLHZhbHVlOmZ1bmN0aW9uKHQpe3RoaXMuaGlkZGVuR3JvdXBzLmhhcyh0KT8odGhpcy5oaWRkZW5Hcm91cHMuZGVsZXRlKHQpLHRoaXMuaXRlbXMuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gZS5vcHRpb25zLmlkPT09dH0pKVswXS5vcGVuRm9sZGVyKCkpOih0aGlzLmhpZGRlbkdyb3Vwcy5hZGQodCksdGhpcy5pdGVtcy5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlLm9wdGlvbnMuaWQ9PT10fSkpWzBdLmNsb3NlRm9sZGVyKCkpLHRoaXMucmVuZGVyKCl9fSx7a2V5OiJ0b2dnbGVBcnRib2FyZCIsdmFsdWU6ZnVuY3Rpb24odCl7dGhpcy5oaWRkZW5BcnRib2FyZHMuaGFzKHQpPyh0aGlzLmhpZGRlbkFydGJvYXJkcy5kZWxldGUodCksdGhpcy5hcnRib2FyZEl0ZW1zW3RdLmV4cGFuZCgpKToodGhpcy5oaWRkZW5BcnRib2FyZHMuYWRkKHQpLHRoaXMuYXJ0Ym9hcmRJdGVtc1t0XS5jb2xsYXBzZSgpKSx0aGlzLnJlbmRlcigpfX0se2tleToicmVuZGVyIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0LGU9SnQodGhpcy5pdGVtcyk7dHJ5e2ZvcihlLnMoKTshKHQ9ZS5uKCkpLmRvbmU7KXt2YXIgbixvPXQudmFsdWUsaT0hMSxyPUp0KHRoaXMucGFyZW50c0Zvckl0ZW1bby5vcHRpb25zLmlkXSk7dHJ5e2ZvcihyLnMoKTshKG49ci5uKCkpLmRvbmU7KXt2YXIgYT1uLnZhbHVlO2lmKHRoaXMuaGlkZGVuR3JvdXBzLmhhcyhhKXx8dGhpcy5oaWRkZW5BcnRib2FyZHMuaGFzKGEpKXtpPSEwO2JyZWFrfX19Y2F0Y2godCl7ci5lKHQpfWZpbmFsbHl7ci5mKCl9aSYmby5oaWRlKCksaXx8by5zaG93KCl9fWNhdGNoKHQpe2UuZSh0KX1maW5hbGx5e2UuZigpfX19XSksdH0oKSxlZT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXsoMCxwdC5aKSh0aGlzLHQpLG10KHRoaXMsImVsZW1lbnQiLHZvaWQgMCksbXQodGhpcywiaW5wdXQiLHZvaWQgMCksdGhpcy5lbGVtZW50PSgwLG0uQnYpKHRoaXMuaHRtbCgpKSx0aGlzLmlucHV0PXRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpfXJldHVybigwLGR0LlopKHQsW3trZXk6Imh0bWwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuJ1xuICAgICAgPGRpdiBjbGFzcz0iaW1wLXNlYXJjaC1ib3giPlxuICAgICAgICA8ZGl2IGNsYXNzPSJpbXAtc2VhcmNoLWJveC1pbnB1dC13cmFwIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlNlYXJjaC4uLiI+XG4gICAgICAgICAgJy5jb25jYXQoJzxzdmcgY2xhc3M9ImltcC1pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj5ceDNjIS0tISBGb250IEF3ZXNvbWUgUHJvIDYuMS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDIyIEZvbnRpY29ucywgSW5jLiAtLVx4M2U8cGF0aCBkPSJNNTAwLjMgNDQzLjdsLTExOS43LTExOS43YzI3LjIyLTQwLjQxIDQwLjY1LTkwLjkgMzMuNDYtMTQ0LjdDNDAxLjggODcuNzkgMzI2LjggMTMuMzIgMjM1LjIgMS43MjNDOTkuMDEtMTUuNTEtMTUuNTEgOTkuMDEgMS43MjQgMjM1LjJjMTEuNiA5MS42NCA4Ni4wOCAxNjYuNyAxNzcuNiAxNzguOWM1My44IDcuMTg5IDEwNC4zLTYuMjM2IDE0NC43LTMzLjQ2bDExOS43IDExOS43YzE1LjYyIDE1LjYyIDQwLjk1IDE1LjYyIDU2LjU3IDBDNTE1LjkgNDg0LjcgNTE1LjkgNDU5LjMgNTAwLjMgNDQzLjd6TTc5LjEgMjA4YzAtNzAuNTggNTcuNDItMTI4IDEyOC0xMjhzMTI4IDU3LjQyIDEyOCAxMjhjMCA3MC41OC01Ny40MiAxMjgtMTI4IDEyOFM3OS4xIDI3OC42IDc5LjEgMjA4eiIvPjwvc3ZnPicucmVwbGFjZSgiaW1wLWljb24iLCJpbXAtaWNvbiBpbXAtc2VhcmNoIiksIlxuICAgICAgICAgICIpLmNvbmNhdChidC5yZXBsYWNlKCJpbXAtaWNvbiIsImltcC1pY29uIGltcC1jbGVhci1zZWFyY2giKSwiXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+Iil9fSx7a2V5OiJyZWRyYXciLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5pbnB1dC52YWx1ZT90aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLXNlYXJjaGluZyIpOnRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJpbXAtc2VhcmNoaW5nIil9fSx7a2V5OiJjbGVhciIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmlucHV0LnZhbHVlPSIifX1dKSx0fSgpLG5lPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXsoMCxwdC5aKSh0aGlzLHQpLG10KHRoaXMsImVsZW1lbnQiLGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxtdCh0aGlzLCJsaXN0Iix2b2lkIDApLG10KHRoaXMsInNlYXJjaCIsdm9pZCAwKSx0aGlzLnN0b3JlPWUsdGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5lbmFibGVfc2VhcmNoJiYodGhpcy5zZWFyY2g9bmV3IGVlLHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnNlYXJjaC5lbGVtZW50KSx0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLWhhcy1zZWFyY2giKSksdGhpcy5saXN0PW5ldyB0ZSh0aGlzLnN0b3JlKSx0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5saXN0LmVsZW1lbnQpLHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpbXAtb2JqZWN0LW1lbnUiKSwibGVmdCI9PXRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QubWVudV9wb3NpdGlvbiYmdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoImltcC1vYmplY3QtbWVudS1sZWZ0IiksInJpZ2h0Ij09dGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5tZW51X3Bvc2l0aW9uJiZ0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLW9iamVjdC1tZW51LXJpZ2h0IiksIm9uLXRvcCIhPXRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QubWVudV9zdHlsZXx8dGhpcy5zdG9yZS5nZXRJc01lbnVNb2JpbGUoKXx8dGhpcy5zdG9yZS5nZXRDb250YWluZXIoKS5jbGFzc0xpc3QuYWRkKCJpbXAtb2JqZWN0LW1lbnUtb24tdG9wIiksIm9uLXRvcCIhPXRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QubWVudV9zdHlsZXx8dGhpcy5zdG9yZS5nZXRJc01lbnVNb2JpbGUoKXx8ImxlZnQiIT10aGlzLnN0b3JlLnN0YXRlLm9iamVjdF9saXN0Lm1lbnVfcG9zaXRpb258fHRoaXMuc3RvcmUuZ2V0Q29udGFpbmVyKCkuY2xhc3NMaXN0LmFkZCgiaW1wLW9iamVjdC1tZW51LW9uLXRvcC1sZWZ0IiksIm9uLXRvcCIhPXRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QubWVudV9zdHlsZXx8dGhpcy5zdG9yZS5nZXRJc01lbnVNb2JpbGUoKXx8InJpZ2h0IiE9dGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5tZW51X3Bvc2l0aW9ufHx0aGlzLnN0b3JlLmdldENvbnRhaW5lcigpLmNsYXNzTGlzdC5hZGQoImltcC1vYmplY3QtbWVudS1vbi10b3AtcmlnaHQiKX1yZXR1cm4oMCxkdC5aKSh0LFt7a2V5OiJ1cGRhdGVJdGVtcyIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmxpc3QuZHJhd0l0ZW1zKCl9fV0pLHR9KCksb2U9KDAsZHQuWikoKGZ1bmN0aW9uIHQoKXsoMCxwdC5aKSh0aGlzLHQpLG10KHRoaXMsImVsZW1lbnQiLGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSx0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLXVpLWVsZW1lbnQiKSx0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLW1lbnUtYnV0dG9uIiksdGhpcy5lbGVtZW50LmlubmVySFRNTD0nPHN2ZyBjbGFzcz0iaW1wLWljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ0OCA1MTIiPlx4M2MhLS0hIEZvbnQgQXdlc29tZSBQcm8gNi4xLjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjIgRm9udGljb25zLCBJbmMuIC0tXHgzZTxwYXRoIGQ9Ik0wIDk2QzAgNzguMzMgMTQuMzMgNjQgMzIgNjRINDE2QzQzMy43IDY0IDQ0OCA3OC4zMyA0NDggOTZDNDQ4IDExMy43IDQzMy43IDEyOCA0MTYgMTI4SDMyQzE0LjMzIDEyOCAwIDExMy43IDAgOTZ6TTAgMjU2QzAgMjM4LjMgMTQuMzMgMjI0IDMyIDIyNEg0MTZDNDMzLjcgMjI0IDQ0OCAyMzguMyA0NDggMjU2QzQ0OCAyNzMuNyA0MzMuNyAyODggNDE2IDI4OEgzMkMxNC4zMyAyODggMCAyNzMuNyAwIDI1NnpNNDE2IDQ0OEgzMkMxNC4zMyA0NDggMCA0MzMuNyAwIDQxNkMwIDM5OC4zIDE0LjMzIDM4NCAzMiAzODRINDE2QzQzMy43IDM4NCA0NDggMzk4LjMgNDQ4IDQxNkM0NDggNDMzLjcgNDMzLjcgNDQ4IDQxNiA0NDh6Ii8+PC9zdmc+J30pKSxpZT0oMCxkdC5aKSgoZnVuY3Rpb24gdCgpeygwLHB0LlopKHRoaXMsdCksbXQodGhpcywiZWxlbWVudCIsZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpbXAtbWVudS1jbG9zZS1idXR0b24iKSx0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLXVpLWVsZW1lbnQiKSx0aGlzLmVsZW1lbnQuaW5uZXJIVE1MPWJ0fSkpLHJlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXsoMCxwdC5aKSh0aGlzLHQpLG10KHRoaXMsInN0b3JlIix2b2lkIDApLG10KHRoaXMsIm1lbnUiLHZvaWQgMCksbXQodGhpcywib3BlbkJ1dHRvbiIsdm9pZCAwKSxtdCh0aGlzLCJjbG9zZUJ1dHRvbiIsdm9pZCAwKSx0aGlzLnN0b3JlPWUsdGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5lbmFibGVfb2JqZWN0X2xpc3QmJih0aGlzLnN0b3JlLnN1YnNjcmliZSh0aGlzLmhhbmRsZUFjdGlvbi5iaW5kKHRoaXMpKSx0aGlzLm1lbnU9bmV3IG5lKHRoaXMuc3RvcmUpLHRoaXMub3BlbkJ1dHRvbj1uZXcgb2UsdGhpcy5jbG9zZUJ1dHRvbj1uZXcgaWUsdGhpcy5tZW51LmVsZW1lbnQuZGF0YXNldC5pbWFnZU1hcElkPXRoaXMuc3RvcmUuZ2V0SUQoKSx0aGlzLm1lbnUuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmNsb3NlQnV0dG9uLmVsZW1lbnQpLHRoaXMuc2V0TWVudUhlaWdodCgpKX1yZXR1cm4oMCxkdC5aKSh0LFt7a2V5OiJpbnNlcnRNZW51Iix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QuZW5hYmxlX29iamVjdF9saXN0JiYoImRldGFjaGVkIiE9PXRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QubWVudV9zdHlsZT90aGlzLnN0b3JlLmdldElzTWVudU1vYmlsZSgpP3RoaXMuYXBwZW5kTW9iaWxlTWVudSgpOnRoaXMuYXBwZW5kUmVndWxhck1lbnUoKTp0aGlzLmFwcGVuZERldGFjaGVkTWVudSgpKX19LHtrZXk6InJlbW92ZU1lbnUiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5lbmFibGVfb2JqZWN0X2xpc3QmJih0aGlzLm1lbnUuZWxlbWVudC5yZW1vdmUoKSx0aGlzLm9wZW5CdXR0b24uZWxlbWVudC5yZW1vdmUoKSl9fSx7a2V5OiJ1cGRhdGVJdGVtcyIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLm1lbnUmJnRoaXMubWVudS51cGRhdGVJdGVtcygpfX0se2tleToiaGFuZGxlQWN0aW9uIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzOyJyZXNpemUiPT10LnR5cGUmJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7ZS5pbnNlcnRNZW51KCksZS5zZXRNZW51SGVpZ2h0KCl9KSl9KSksInVwZGF0ZVNlYXJjaCI9PXQudHlwZSYmKHRoaXMubWVudS5zZWFyY2gucmVkcmF3KCksdGhpcy5tZW51Lmxpc3QuZmlsdGVySXRlbXModC5wYXlsb2FkLnNlYXJjaFN0cmluZykpLCJjbGVhclNlYXJjaCI9PXQudHlwZSYmKHRoaXMubWVudS5zZWFyY2guY2xlYXIoKSx0aGlzLm1lbnUuc2VhcmNoLnJlZHJhdygpLHRoaXMubWVudS5saXN0LmZpbHRlckl0ZW1zKCkpLCJvcGVuTWVudSI9PXQudHlwZSYmdGhpcy5zaG93TW9iaWxlTWVudSgpLCJjbG9zZU1lbnUiPT10LnR5cGUmJnRoaXMuaGlkZU1vYmlsZU1lbnUoKSwiY2xvc2VGdWxsc2NyZWVuIj09dC50eXBlJiZ0aGlzLnN0b3JlLmdldElzRnVsbHNjcmVlbigpJiZ0aGlzLnJlbW92ZU1lbnUoKX19LHtrZXk6ImFwcGVuZERldGFjaGVkTWVudSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdDtudWxsPT09KHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtaW1wLWRldGFjaGVkLW1lbnU9IicrdGhpcy5zdG9yZS5zdGF0ZS5nZW5lcmFsLm5hbWUrJyJdJykpfHx2b2lkIDA9PT10fHx0LmFwcGVuZENoaWxkKHRoaXMubWVudS5lbGVtZW50KSx0aGlzLm1lbnUuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpbXAtbG9hZGVkIiksdGhpcy5tZW51LmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLWRldGFjaGVkIil9fSx7a2V5OiJhcHBlbmRNb2JpbGVNZW51Iix2YWx1ZTpmdW5jdGlvbigpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJvZHkiKS5hcHBlbmRDaGlsZCh0aGlzLm1lbnUuZWxlbWVudCksdGhpcy5tZW51LmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW1wLW1vYmlsZSIpLHRoaXMuc3RvcmUuZ2V0VUlXcmFwKCkucXVlcnlTZWxlY3RvcigiLmltcC11aS10b3AtcmlnaHQiKS5hcHBlbmRDaGlsZCh0aGlzLm9wZW5CdXR0b24uZWxlbWVudCl9fSx7a2V5OiJhcHBlbmRSZWd1bGFyTWVudSIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnN0b3JlLmdldENvbnRhaW5lcigpLmFwcGVuZENoaWxkKHRoaXMubWVudS5lbGVtZW50KSx0aGlzLm1lbnUuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJpbXAtbW9iaWxlIiksdGhpcy5zZXRMaXN0T3ZlcmZsb3coKSx0aGlzLm9wZW5CdXR0b24uZWxlbWVudC5yZW1vdmUoKX19LHtrZXk6InNob3dNb2JpbGVNZW51Iix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QuZW5hYmxlX29iamVjdF9saXN0JiZ0aGlzLm1lbnUuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpbXAtYWN0aXZlIil9fSx7a2V5OiJoaWRlTW9iaWxlTWVudSIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnN0b3JlLnN0YXRlLm9iamVjdF9saXN0LmVuYWJsZV9vYmplY3RfbGlzdCYmdGhpcy5tZW51LmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgiaW1wLWFjdGl2ZSIpfX0se2tleToic2V0TGlzdE92ZXJmbG93Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PTA7dGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5lbmFibGVfc2VhcmNoJiYodD03MSksdGhpcy5tZW51Lmxpc3QuaGVpZ2h0PnRoaXMuZ2V0TWVudUhlaWdodCgpLXQ/dGhpcy5tZW51Lmxpc3QuZWxlbWVudC5zdHlsZS5vdmVyZmxvd1k9InNjcm9sbCI6dGhpcy5tZW51Lmxpc3QuZWxlbWVudC5zdHlsZS5vdmVyZmxvd1k9ImF1dG8ifX0se2tleToic2V0TWVudUhlaWdodCIsdmFsdWU6ZnVuY3Rpb24oKXsiZGVmYXVsdCI9PT10aGlzLnN0b3JlLnN0YXRlLm9iamVjdF9saXN0Lm1lbnVfc3R5bGV8fHRoaXMuc3RvcmUuZ2V0SXNNZW51TW9iaWxlKCk/dGhpcy5tZW51LmVsZW1lbnQuc3R5bGUuaGVpZ2h0PXRoaXMuZ2V0TWVudUhlaWdodCgpKyJweCI6dGhpcy5tZW51LmVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0PXRoaXMuZ2V0TWVudUhlaWdodCgpKyJweCJ9fSx7a2V5OiJnZXRNZW51SGVpZ2h0Iix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN0b3JlLmdldElzRnVsbHNjcmVlbigpfHx0aGlzLnN0b3JlLmdldElzTWVudU1vYmlsZSgpP3dpbmRvdy5pbm5lckhlaWdodDoiZGV0YWNoZWQiPT09dGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5tZW51X3N0eWxlPyJhdXRvIjp0aGlzLnN0b3JlLmdldENhbnZhc1dyYXBSZWN0KCkuaGVpZ2h0fX1dKSx0fSgpO2Z1bmN0aW9uIGFlKHQsZSl7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJnRbU3ltYm9sLml0ZXJhdG9yXXx8dFsiQEBpdGVyYXRvciJdO2lmKCFuKXtpZihBcnJheS5pc0FycmF5KHQpfHwobj1mdW5jdGlvbih0LGUpe2lmKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gc2UodCxlKTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1uJiZ0LmNvbnN0cnVjdG9yJiYobj10LmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09bnx8IlNldCI9PT1uP0FycmF5LmZyb20odCk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9zZSh0LGUpOnZvaWQgMH19KHQpKXx8ZSYmdCYmIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aCl7biYmKHQ9bik7dmFyIG89MCxpPWZ1bmN0aW9uKCl7fTtyZXR1cm57czppLG46ZnVuY3Rpb24oKXtyZXR1cm4gbz49dC5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOnRbbysrXX19LGU6ZnVuY3Rpb24odCl7dGhyb3cgdH0sZjppfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIHIsYT0hMCxzPSExO3JldHVybntzOmZ1bmN0aW9uKCl7bj1uLmNhbGwodCl9LG46ZnVuY3Rpb24oKXt2YXIgdD1uLm5leHQoKTtyZXR1cm4gYT10LmRvbmUsdH0sZTpmdW5jdGlvbih0KXtzPSEwLHI9dH0sZjpmdW5jdGlvbigpe3RyeXthfHxudWxsPT1uLnJldHVybnx8bi5yZXR1cm4oKX1maW5hbGx5e2lmKHMpdGhyb3cgcn19fX1mdW5jdGlvbiBzZSh0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgbj0wLG89bmV3IEFycmF5KGUpO248ZTtuKyspb1tuXT10W25dO3JldHVybiBvfWNvbnN0IGNlPXtnZXRJbWFnZU1hcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwfSxnZXRJRDpmdW5jdGlvbih0KXtyZXR1cm4gdC5pZCsiIn0sZ2V0TmFtZTpmdW5jdGlvbih0KXtyZXR1cm4gdC5nZW5lcmFsLm5hbWV9LGdldE9iamVjdDpmdW5jdGlvbih0LGUpe3ZhciBuLG89ZS5pZDtyZXR1cm4gbGUodC5hcnRib2FyZHMsKGZ1bmN0aW9uKHQpe2lmKHQuaWQ9PT1vKXJldHVybiBuPXQsITB9KSksbn0sZ2V0T2JqZWN0QnlUaXRsZTpmdW5jdGlvbih0LGUpe3ZhciBuLG89ZS50aXRsZTtyZXR1cm4gbGUodC5hcnRib2FyZHMsKGZ1bmN0aW9uKHQpe2lmKHQudGl0bGU9PT1vKXJldHVybiBuPXQsITB9KSksbn0sZ2V0T2JqZWN0czpmdW5jdGlvbigpe3ZhciB0PVtdO3JldHVybiBsZShbdGhpcy5nZXRBcnRib2FyZCgpXSwoZnVuY3Rpb24oZSl7ZS50eXBlIT09anQucDUmJnQucHVzaChlKX0pKSx0fSxnZXRBcnRib2FyZDpmdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiB0LmFydGJvYXJkcy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09ZS5nZXRBcnRib2FyZENvbnRyb2xsZXIoKS5jdXJyZW50QXJ0Ym9hcmRJZH0pKVswXX0sZ2V0QXJ0Ym9hcmRzOmZ1bmN0aW9uKHQpe3JldHVybiB0LmFydGJvYXJkc30sZ2V0QXJ0Ym9hcmRCeVRpdGxlOmZ1bmN0aW9uKHQsZSl7dmFyIG49ZS50aXRsZTtyZXR1cm4gdC5hcnRib2FyZHMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC50aXRsZT09PW59KSlbMF19LGdldEFydGJvYXJkSWRGb3JPYmplY3Q6ZnVuY3Rpb24odCxlKXt2YXIgbixvLGk9ZS5pZCxyPWFlKHQuYXJ0Ym9hcmRzKTt0cnl7dmFyIGE9ZnVuY3Rpb24oKXt2YXIgdD1vLnZhbHVlO2xlKFt0XSwoZnVuY3Rpb24oZSl7aWYoZS5pZD09PWkpcmV0dXJuIG49dC5pZCwhMH0pKX07Zm9yKHIucygpOyEobz1yLm4oKSkuZG9uZTspYSgpfWNhdGNoKHQpe3IuZSh0KX1maW5hbGx5e3IuZigpfXJldHVybiBufSxnZXRDaGlsZHJlbkRlZXA6ZnVuY3Rpb24odCxlKXt2YXIgbj1lLmlkLG89dGhpcy5nZXRPYmplY3Qoe2lkOm59KSxpPVtdO3JldHVybiBsZShvLmNoaWxkcmVuLChmdW5jdGlvbih0KXtpLnB1c2godCl9KSksaX0sZ2V0UGFyZW50OmZ1bmN0aW9uKHQsZSl7dmFyIG49ZS5pZDtyZXR1cm4gdGhpcy5nZXRPYmplY3Qoe2lkOnRoaXMuZ2V0T2JqZWN0KHtpZDpufSkucGFyZW50X2lkfSl9LGdldEV2ZW50Q29udHJvbGxlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwLmV2ZW50Q29udHJvbGxlcn0sZ2V0Wm9vbUNvbnRyb2xsZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbWFnZU1hcC56b29tQ29udHJvbGxlcn0sZ2V0VG9vbHRpcENvbnRyb2xsZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbWFnZU1hcC50b29sdGlwQ29udHJvbGxlcn0sZ2V0QXJ0Ym9hcmRDb250cm9sbGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW1hZ2VNYXAuYXJ0Ym9hcmRDb250cm9sbGVyfSxnZXRPYmplY3RDb250cm9sbGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW1hZ2VNYXAub2JqZWN0Q29udHJvbGxlcn0sZ2V0TmF2aWdhdG9yQ29udHJvbGxlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwLm5hdmlnYXRvckNvbnRyb2xsZXJ9LGdldE1lbnVDb250cm9sbGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW1hZ2VNYXAubWVudUNvbnRyb2xsZXJ9LGdldEZ1bGxzY3JlZW5Db250cm9sbGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW1hZ2VNYXAuZnVsbHNjcmVlbkNvbnRyb2xsZXJ9LGdldElzRnVsbHNjcmVlbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwLmZ1bGxzY3JlZW5Db250cm9sbGVyLmlzRnVsbHNjcmVlbn0sZ2V0Wm9vbTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwLnpvb21Db250cm9sbGVyLmN1cnJlbnRab29tfSxnZXRNYXhab29tOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW1hZ2VNYXAuem9vbUNvbnRyb2xsZXIubWF4Wm9vbX0sZ2V0UGFuOmZ1bmN0aW9uKCl7cmV0dXJue3g6dGhpcy5pbWFnZU1hcC56b29tQ29udHJvbGxlci5hY3R1YWxQYW5YLHk6dGhpcy5pbWFnZU1hcC56b29tQ29udHJvbGxlci5hY3R1YWxQYW5ZfX0sZ2V0TWluUGFuOmZ1bmN0aW9uKCl7cmV0dXJue3g6dGhpcy5pbWFnZU1hcC56b29tQ29udHJvbGxlci5taW5QYW5YLHk6dGhpcy5pbWFnZU1hcC56b29tQ29udHJvbGxlci5taW5QYW5ZfX0sZ2V0RXZlbnRDb29yZGluYXRlczpmdW5jdGlvbigpe3JldHVybnt4OnRoaXMuaW1hZ2VNYXAuZXZlbnRDb250cm9sbGVyLmV2ZW50Q29vcmRpbmF0ZXMueCx5OnRoaXMuaW1hZ2VNYXAuZXZlbnRDb250cm9sbGVyLmV2ZW50Q29vcmRpbmF0ZXMueX19LGdldElzTWVudU1vYmlsZTpmdW5jdGlvbigpe3ZhciB0PXBhcnNlSW50KHRoaXMuZ2V0Q29udGFpbmVyKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpfHx0aGlzLmdldEFydGJvYXJkKCkud2lkdGg7cmV0dXJuISEoKDAsbS50cSkoKXx8dC8zPDI0MCl9LGdldEFyZVRvb2x0aXBzRnVsbHNjcmVlbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwLnRvb2x0aXBDb250cm9sbGVyLnRvb2x0aXBzQXJlRnVsbHNjcmVlbn0sZ2V0Q3VycmVudEFydGJvYXJkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW1hZ2VNYXAuYXJ0Ym9hcmRDb250cm9sbGVyLmN1cnJlbnRBcnRib2FyZElkfSxnZXRJc1RoZXJlRnVsbHNjcmVlblRvb2x0aXBPcGVuOmZ1bmN0aW9uKCl7cmV0dXJuISEodGhpcy5pbWFnZU1hcC50b29sdGlwQ29udHJvbGxlci50b29sdGlwc0FyZUZ1bGxzY3JlZW4mJnRoaXMuaW1hZ2VNYXAudG9vbHRpcENvbnRyb2xsZXIub3BlbmVkVG9vbHRpcHMubGVuZ3RoPjApfSxnZXRJbWFnZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwLmltYWdlfSxnZXRDb250YWluZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbWFnZU1hcC5jb250YWluZXJFbH0sZ2V0Q2FudmFzV3JhcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwLmNhbnZhc1dyYXB9LGdldFNjYWxlV3JhcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwLnNjYWxlV3JhcH0sZ2V0VHJhbnNsYXRlV3JhcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwLnRyYW5zbGF0ZVdyYXB9LGdldFVJV3JhcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwLlVJV3JhcH0sZ2V0Q2FudmFzV3JhcFJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuZ2V0VmFsdWUoZy5aWSl8fHRoaXMuaW1hZ2VNYXAuY2FjaGVDb250cm9sbGVyLnNldFZhbHVlKGcuWlksKDAsbS5ZbykodGhpcy5pbWFnZU1hcC5jYW52YXNXcmFwKSksdGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuZ2V0VmFsdWUoZy5aWSl9LGdldE5hdmlnYXRvclJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuZ2V0VmFsdWUoZy5sWSl8fHRoaXMuaW1hZ2VNYXAuY2FjaGVDb250cm9sbGVyLnNldFZhbHVlKGcubFksKDAsbS5ZbykodGhpcy5pbWFnZU1hcC5uYXZpZ2F0b3JDb250cm9sbGVyLm5hdmlnYXRvci5lbGVtZW50KSksdGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuZ2V0VmFsdWUoZy5sWSl9LGdldFRvb2x0aXBzQ29udGFpbmVyUmVjdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwLmNhY2hlQ29udHJvbGxlci5nZXRWYWx1ZShnLlNxKXx8dGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuc2V0VmFsdWUoZy5TcSwoMCxtLllvKSh0aGlzLmltYWdlTWFwLnRvb2x0aXBDb250cm9sbGVyLmNvbnRhaW5lcikpLHRoaXMuaW1hZ2VNYXAuY2FjaGVDb250cm9sbGVyLmdldFZhbHVlKGcuU3EpfSxnZXRGdWxsc2NyZWVuQnV0dG9uUmVjdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwLmNhY2hlQ29udHJvbGxlci5nZXRWYWx1ZShnLmg5KXx8dGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuc2V0VmFsdWUoZy5oOSwoMCxtLllvKSh0aGlzLmltYWdlTWFwLmZ1bGxzY3JlZW5Db250cm9sbGVyLmJ1dHRvbi5lbGVtZW50KSksdGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuZ2V0VmFsdWUoZy5oOSl9LGdldFpvb21JbkJ1dHRvblJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuZ2V0VmFsdWUoZy5mOSl8fHRoaXMuaW1hZ2VNYXAuY2FjaGVDb250cm9sbGVyLnNldFZhbHVlKGcuZjksKDAsbS5ZbykodGhpcy5pbWFnZU1hcC56b29tQ29udHJvbGxlci5idXR0b25zLnpvb21JbkJ1dHRvbikpLHRoaXMuaW1hZ2VNYXAuY2FjaGVDb250cm9sbGVyLmdldFZhbHVlKGcuZjkpfSxnZXRab29tT3V0QnV0dG9uUmVjdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwLmNhY2hlQ29udHJvbGxlci5nZXRWYWx1ZShnLnMyKXx8dGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuc2V0VmFsdWUoZy5zMiwoMCxtLllvKSh0aGlzLmltYWdlTWFwLnpvb21Db250cm9sbGVyLmJ1dHRvbnMuem9vbU91dEJ1dHRvbikpLHRoaXMuaW1hZ2VNYXAuY2FjaGVDb250cm9sbGVyLmdldFZhbHVlKGcuczIpfSxnZXRBcnRib2FyZFNlbGVjdFJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuZ2V0VmFsdWUoZy5kNCl8fHRoaXMuaW1hZ2VNYXAuY2FjaGVDb250cm9sbGVyLnNldFZhbHVlKGcuZDQsKDAsbS5ZbykodGhpcy5pbWFnZU1hcC5hcnRib2FyZENvbnRyb2xsZXIuYXJ0Ym9hcmRNZW51LmVsZW1lbnQpKSx0aGlzLmltYWdlTWFwLmNhY2hlQ29udHJvbGxlci5nZXRWYWx1ZShnLmQ0KX0sZ2V0VG9vbHRpcENsb3NlQnV0dG9uUmVjdDpmdW5jdGlvbigpe3JldHVybntvZmZzZXQ6e2xlZnQ6d2luZG93LmlubmVyV2lkdGgtNDQsdG9wOndpbmRvdy5zY3JvbGxZfSxvZmZzZXRXaWR0aDo0NCxvZmZzZXRIZWlnaHQ6NDR9fSxnZXRPcGVuTWVudUJ1dHRvblJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuZ2V0VmFsdWUoZy5rSyl8fHRoaXMuaW1hZ2VNYXAuY2FjaGVDb250cm9sbGVyLnNldFZhbHVlKGcua0ssKDAsbS5ZbykodGhpcy5pbWFnZU1hcC5tZW51Q29udHJvbGxlci5vcGVuQnV0dG9uLmVsZW1lbnQpKSx0aGlzLmltYWdlTWFwLmNhY2hlQ29udHJvbGxlci5nZXRWYWx1ZShnLmtLKX0sZ2V0Q2xvc2VNZW51QnV0dG9uUmVjdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmltYWdlTWFwLmNhY2hlQ29udHJvbGxlci5nZXRWYWx1ZShnLkdPKXx8dGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuc2V0VmFsdWUoZy5HTywoMCxtLllvKSh0aGlzLmltYWdlTWFwLm1lbnVDb250cm9sbGVyLmNsb3NlQnV0dG9uLmVsZW1lbnQpKSx0aGlzLmltYWdlTWFwLmNhY2hlQ29udHJvbGxlci5nZXRWYWx1ZShnLkdPKX0sZ2V0TWVudVJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuZ2V0VmFsdWUoZy5lbCl8fHRoaXMuaW1hZ2VNYXAuY2FjaGVDb250cm9sbGVyLnNldFZhbHVlKGcuZWwsKDAsbS5ZbykodGhpcy5pbWFnZU1hcC5tZW51Q29udHJvbGxlci5tZW51LmVsZW1lbnQpKSx0aGlzLmltYWdlTWFwLmNhY2hlQ29udHJvbGxlci5nZXRWYWx1ZShnLmVsKX0sZ2V0T3BlbmVkRnVsbHNjcmVlblRvb2x0aXBSZWN0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5pbWFnZU1hcC50b29sdGlwQ29udHJvbGxlci5vcGVuZWRUb29sdGlwcy52YWx1ZXMoKS5uZXh0KCkudmFsdWU7aWYodCYmIXRoaXMuaW1hZ2VNYXAuY2FjaGVDb250cm9sbGVyLmdldFZhbHVlKGcuZGIpKXt2YXIgZT10aGlzLmltYWdlTWFwLnRvb2x0aXBDb250cm9sbGVyLmdldFRvb2x0aXBFbGVtZW50KHQpLG49KDAsbS5ZbykoZSk7dGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuc2V0VmFsdWUoZy5kYixuKX1yZXR1cm4gdGhpcy5pbWFnZU1hcC5jYWNoZUNvbnRyb2xsZXIuZ2V0VmFsdWUoZy5kYil9fTtmdW5jdGlvbiBsZSh0LGUpe3ZhciBuLG89YWUodCk7dHJ5e2ZvcihvLnMoKTshKG49by5uKCkpLmRvbmU7KXt2YXIgaT1uLnZhbHVlO2lmKGkuY2hpbGRyZW4mJmxlKGkuY2hpbGRyZW4sZSksZShpKSlicmVha319Y2F0Y2godCl7by5lKHQpfWZpbmFsbHl7by5mKCl9fWNvbnN0IHVlPXtiZWZvcmVSZXNpemU6ZnVuY3Rpb24odCl7dC5jb21taXQsdC5zdGF0ZSx0LnN0b3JlfSxyZXNpemU6ZnVuY3Rpb24odCl7dC5jb21taXQsdC5zdGF0ZSx0LnN0b3JlfSx6b29tSW46ZnVuY3Rpb24odCxlKXt0LmNvbW1pdCx0LnN0YXRlO3ZhciBuPXQuc3RvcmUsbz1lLmNvb3JkcyxpPWUuYW5pbWF0ZSxyPXZvaWQgMD09PWl8fGksYT1lLnRhcmdldFpvb207cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0Lm5leHQ9MixuLmdldFpvb21Db250cm9sbGVyKCkuem9vbUluKHtjb29yZHM6byxhbmltYXRlOnIsdGFyZ2V0Wm9vbTphfSk7Y2FzZSAyOmUoKTtjYXNlIDM6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpfSx6b29tT3V0OmZ1bmN0aW9uKHQsZSl7dC5jb21taXQsdC5zdGF0ZTt2YXIgbj10LnN0b3JlLG89ZS5jb29yZHMsaT1lLmFuaW1hdGUscj12b2lkIDA9PT1pfHxpO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsbi5nZXRab29tQ29udHJvbGxlcigpLnpvb21PdXQoe2Nvb3JkczpvLGFuaW1hdGU6cn0pO2Nhc2UgMjplKCk7Y2FzZSAzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKX0sZmFpbGVkVG9ab29tOmZ1bmN0aW9uKHQpe3QuY29tbWl0LHQuc3RhdGUsdC5zdG9yZX0sZ29GdWxsc2NyZWVuOmZ1bmN0aW9uKHQpe3QuY29tbWl0LHQuc3RhdGU7dmFyIGU9dC5zdG9yZTtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQpe2UuZ2V0RnVsbHNjcmVlbkNvbnRyb2xsZXIoKS5nb0Z1bGxzY3JlZW4oKSx0KCl9KSl9LGNsb3NlRnVsbHNjcmVlbjpmdW5jdGlvbih0KXt0LmNvbW1pdCx0LnN0YXRlO3ZhciBlPXQuc3RvcmU7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0KXtlLmdldEZ1bGxzY3JlZW5Db250cm9sbGVyKCkuY2xvc2VGdWxsc2NyZWVuKCksdCgpfSkpfSxwYW5UbzpmdW5jdGlvbih0LGUpe3QuY29tbWl0LHQuc3RhdGUsdC5zdG9yZSxlLngsZS55fSxzdGFydFBhbjpmdW5jdGlvbih0LGUpe3QuY29tbWl0LHQuc3RhdGUsdC5zdG9yZSxlLngsZS55fSxwYW46ZnVuY3Rpb24odCxlKXt0LmNvbW1pdCx0LnN0YXRlLHQuc3RvcmUsZS54LGUueX0scGFuT25OYXZpZ2F0b3I6ZnVuY3Rpb24odCxlKXt0LmNvbW1pdCx0LnN0YXRlLHQuc3RvcmUsZS54LGUueX0sc3RhcnRQaW5jaDpmdW5jdGlvbih0LGUpe3QuY29tbWl0LHQuc3RhdGUsdC5zdG9yZSxlLmV2ZW50fSxwaW5jaDpmdW5jdGlvbih0LGUpe3QuY29tbWl0LHQuc3RhdGUsdC5zdG9yZSxlLmV2ZW50fSx6b29tQXRSZWN0OmZ1bmN0aW9uKHQsZSl7dC5jb21taXQsdC5zdGF0ZSx0LnN0b3JlLGUuem9vbTt2YXIgbj1lLnBhbjtuLngsbi55fSxoaWdobGlnaHRPYmplY3Q6ZnVuY3Rpb24odCxlKXt0LmNvbW1pdCx0LnN0YXRlO3ZhciBuPXQuc3RvcmUsbz1lLm9iamVjdElkLGk9ZS5zaG93VG9vbHRpcCxyPXZvaWQgMD09PWl8fGksYT1lLmhpZGVBbGxUb29sdGlwcyxzPXZvaWQgMD09PWF8fGE7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKG4uZ2V0QXJ0Ym9hcmRJZEZvck9iamVjdCh7aWQ6b30pPT09bi5nZXRBcnRib2FyZCgpLmlkKXt0Lm5leHQ9MjticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIpO2Nhc2UgMjpyZXR1cm4gdC5uZXh0PTQsbi5nZXRPYmplY3RDb250cm9sbGVyKCkuaGlnaGxpZ2h0T2JqZWN0KG8pO2Nhc2UgNDppZighcyl7dC5uZXh0PTc7YnJlYWt9cmV0dXJuIHQubmV4dD03LG4uZ2V0VG9vbHRpcENvbnRyb2xsZXIoKS5oaWRlQWxsVG9vbHRpcHMoKTtjYXNlIDc6aWYoIXIpe3QubmV4dD0xMDticmVha31yZXR1cm4gdC5uZXh0PTEwLG4uZ2V0VG9vbHRpcENvbnRyb2xsZXIoKS5zaG93VG9vbHRpcChvKTtjYXNlIDEwOmUoKTtjYXNlIDExOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKX0sdW5oaWdobGlnaHRPYmplY3Q6ZnVuY3Rpb24odCxlKXt0LmNvbW1pdCx0LnN0YXRlO3ZhciBuPXQuc3RvcmUsbz1lLm9iamVjdElkO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsbi5nZXRPYmplY3RDb250cm9sbGVyKCkudW5oaWdobGlnaHRPYmplY3Qobyk7Y2FzZSAyOnJldHVybiB0Lm5leHQ9NCxuLmdldFRvb2x0aXBDb250cm9sbGVyKCkuaGlkZVRvb2x0aXAobyk7Y2FzZSA0OmUoKTtjYXNlIDU6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpfSx1bmhpZ2hsaWdodEFsbE9iamVjdHM6ZnVuY3Rpb24odCl7dC5jb21taXQsdC5zdGF0ZTt2YXIgZT10LnN0b3JlO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQobil7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsZS5nZXRPYmplY3RDb250cm9sbGVyKCkudW5oaWdobGlnaHRBbGxPYmplY3RzKCk7Y2FzZSAyOnJldHVybiB0Lm5leHQ9NCxlLmdldFRvb2x0aXBDb250cm9sbGVyKCkuaGlkZUFsbFRvb2x0aXBzKCk7Y2FzZSA0Om4oKTtjYXNlIDU6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpfSxmb2N1c09iamVjdDpmdW5jdGlvbih0LGUpe3QuY29tbWl0O3ZhciBuPXQuc3RhdGUsbz10LnN0b3JlLGk9ZS5vYmplY3RJZCxyPWUuc2hvd1Rvb2x0aXAsYT12b2lkIDAhPT1yJiZyO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCl7aWYobi56b29taW5nLmVuYWJsZV96b29taW5nKXt2YXIgZT1vLmdldE9iamVjdENvbnRyb2xsZXIoKS5nZXRGb2N1c09iamVjdENvb3Jkc0FuZFpvb20oaSk7by5nZXRab29tQ29udHJvbGxlcigpLnNldFRhcmdldFpvb20oe3pvb206ZS56b29tLHJlZHJhdzohMX0pLG8uZ2V0Wm9vbUNvbnRyb2xsZXIoKS5zZXRUYXJnZXRQYW4oe3g6ZS5wYW4ueCx5OmUucGFuLnl9KSxvLmdldE1lbnVDb250cm9sbGVyKCkuaGlkZU1vYmlsZU1lbnUoKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoeSh3KCkubWFyaygoZnVuY3Rpb24gZSgpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24oZSl7Zm9yKDs7KXN3aXRjaChlLnByZXY9ZS5uZXh0KXtjYXNlIDA6aWYoIWEpe2UubmV4dD01O2JyZWFrfXJldHVybiBlLm5leHQ9MyxvLmdldFRvb2x0aXBDb250cm9sbGVyKCkuaGlkZUFsbFRvb2x0aXBzKCk7Y2FzZSAzOnJldHVybiBlLm5leHQ9NSxvLmdldFRvb2x0aXBDb250cm9sbGVyKCkuc2hvd1Rvb2x0aXAoaSk7Y2FzZSA1OnQoKTtjYXNlIDY6Y2FzZSJlbmQiOnJldHVybiBlLnN0b3AoKX19KSxlKX0pKSkpfWVsc2UgdCgpfSkpfSxjbGlja09iamVjdDpmdW5jdGlvbih0LGUpe3QuY29tbWl0LHQuc3RhdGU7dmFyIG49dC5zdG9yZSxvPWUub2JqZWN0SWQ7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0KXtuLmdldE9iamVjdENvbnRyb2xsZXIoKS5wZXJmb3JtQ2xpY2tBY3Rpb24obyksdCgpfSkpfSx1cGRhdGVUb29sdGlwUG9zaXRpb25zOmZ1bmN0aW9uKHQpe3QuY29tbWl0LHQuc3RhdGUsdC5zdG9yZX0sY2xvc2VGdWxsc2NyZWVuVG9vbHRpcDpmdW5jdGlvbih0KXt0LmNvbW1pdCx0LnN0YXRlLHQuc3RvcmV9LHpvb21VcGRhdGU6ZnVuY3Rpb24odCl7dC5jb21taXQ7dmFyIGU9dC5zdGF0ZSxuPXQuc3RvcmU7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0KXtuLmdldFpvb21Db250cm9sbGVyKCkudGFyZ2V0Wm9vbSxJbWFnZU1hcFByby50cmlnZ2VyKHt0eXBlOmcucWoscGF5bG9hZDp7bWFwOmUuZ2VuZXJhbC5uYW1lLHpvb206bi5nZXRab29tQ29udHJvbGxlcigpLmN1cnJlbnRab29tLHBhbjp7eDpuLmdldFpvb21Db250cm9sbGVyKCkuYWN0dWFsUGFuWCx5Om4uZ2V0Wm9vbUNvbnRyb2xsZXIoKS5hY3R1YWxQYW5ZfX19KX0pKX0sY2hhbmdlQXJ0Ym9hcmQ6KHBlPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSxuKXt2YXIgbyxpLHIsYSxzO3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIGUuY29tbWl0LG89ZS5zdGF0ZSxpPWUuc3RvcmUscj1uLmFydGJvYXJkSWQsYT1uLnpvb21PdXQscz12b2lkIDAhPT1hJiZhLHQuYWJydXB0KCJyZXR1cm4iLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKGkuZ2V0QXJ0Ym9hcmQoKS5pZD09PXIpe3QubmV4dD0yMjticmVha31yZXR1cm4gdC5uZXh0PTMsaS5nZXRUb29sdGlwQ29udHJvbGxlcigpLmhpZGVBbGxUb29sdGlwcygpO2Nhc2UgMzpyZXR1cm4gaS5nZXRBcnRib2FyZENvbnRyb2xsZXIoKS5jaGFuZ2VBcnRib2FyZChyKSx0Lm5leHQ9NixpLmdldEltYWdlTWFwKCkudXBkYXRlSW1hZ2UoKTtjYXNlIDY6cmV0dXJuIHQubmV4dD04LGkuZ2V0SW1hZ2VNYXAoKS5zZXRCYWNrZ3JvdW5kKCk7Y2FzZSA4OnJldHVybiBpLmdldE9iamVjdENvbnRyb2xsZXIoKS5jcmVhdGVPYmplY3RzKCksaS5nZXRPYmplY3RDb250cm9sbGVyKCkuaW5zZXJ0T2JqZWN0cygpLGkuZ2V0TmF2aWdhdG9yQ29udHJvbGxlcigpLmNyZWF0ZVVJKCksdC5uZXh0PTEzLGkuZ2V0VG9vbHRpcENvbnRyb2xsZXIoKS5vcGVuZWRUb29sdGlwcy5jbGVhcigpO2Nhc2UgMTM6cmV0dXJuIHMmJmkuZ2V0Wm9vbUNvbnRyb2xsZXIoKS5yZXNldFpvb20oITApLHQubmV4dD0xNixpLmdldFRvb2x0aXBDb250cm9sbGVyKCkuY3JlYXRlVG9vbHRpcHMoKTtjYXNlIDE2OnJldHVybiB0Lm5leHQ9MTgsaS5nZXRNZW51Q29udHJvbGxlcigpLnVwZGF0ZUl0ZW1zKCk7Y2FzZSAxODpJbWFnZU1hcFByby50cmlnZ2VyKHt0eXBlOmcuUzMscGF5bG9hZDp7bWFwOm8uZ2VuZXJhbC5uYW1lLGFydGJvYXJkOnJ9fSksZSgpLHQubmV4dD0yMzticmVhaztjYXNlIDIyOmUoKTtjYXNlIDIzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKSk7Y2FzZSAzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLHVwZGF0ZVNlYXJjaDpmdW5jdGlvbih0LGUpe3QuY29tbWl0LHQuc3RhdGUsdC5zdG9yZSxlLnNlYXJjaFN0cmluZ30sY2xlYXJTZWFyY2g6ZnVuY3Rpb24odCl7dC5jb21taXQsdC5zdGF0ZSx0LnN0b3JlfSxvcGVuTWVudTpmdW5jdGlvbih0KXt0LmNvbW1pdCx0LnN0YXRlLHQuc3RvcmV9LGNsb3NlTWVudTpmdW5jdGlvbih0KXt0LmNvbW1pdCx0LnN0YXRlLHQuc3RvcmV9LHRvZ2dsZUdyb3VwOmZ1bmN0aW9uKHQsZSl7dC5jb21taXQsdC5zdGF0ZTt2YXIgbj10LnN0b3JlLG89ZS5ncm91cElkO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsbi5nZXRNZW51Q29udHJvbGxlcigpLm1lbnUubGlzdC50b2dnbGVHcm91cChvKTtjYXNlIDI6ZSgpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSl9LHRvZ2dsZUFydGJvYXJkOmZ1bmN0aW9uKHQsZSl7dC5jb21taXQsdC5zdGF0ZTt2YXIgbj10LnN0b3JlLG89ZS5hcnRib2FyZElkO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbigpe3ZhciB0PXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsbi5nZXRNZW51Q29udHJvbGxlcigpLm1lbnUubGlzdC50b2dnbGVBcnRib2FyZChvKTtjYXNlIDI6ZSgpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSl9LHNob3dUb29sdGlwOmZ1bmN0aW9uKHQsZSl7dC5jb21taXQsdC5zdGF0ZTt2YXIgbj10LnN0b3JlLG89ZS5vYmplY3RJZDtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oKXt2YXIgdD15KHcoKS5tYXJrKChmdW5jdGlvbiB0KGUpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQubmV4dD0yLG4uZ2V0VG9vbHRpcENvbnRyb2xsZXIoKS5zaG93VG9vbHRpcChvKTtjYXNlIDI6ZSgpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSl9LGhpZGVUb29sdGlwOmZ1bmN0aW9uKHQsZSl7dC5jb21taXQsdC5zdGF0ZTt2YXIgbj10LnN0b3JlLG89ZS5vYmplY3RJZDtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oKXt2YXIgdD15KHcoKS5tYXJrKChmdW5jdGlvbiB0KGUpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQubmV4dD0yLG4uZ2V0VG9vbHRpcENvbnRyb2xsZXIoKS5oaWRlVG9vbHRpcChvKTtjYXNlIDI6ZSgpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSl9LGhpZGVBbGxUb29sdGlwczpmdW5jdGlvbih0KXt0LmNvbW1pdCx0LnN0YXRlO3ZhciBlPXQuc3RvcmU7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChuKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0Lm5leHQ9MixlLmdldFRvb2x0aXBDb250cm9sbGVyKCkuaGlkZUFsbFRvb2x0aXBzKCk7Y2FzZSAyOm4oKTtjYXNlIDM6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpfSxmbGFzaE9iamVjdHM6ZnVuY3Rpb24odCxlKXt0LmNvbW1pdCx0LnN0YXRlO3ZhciBuPXQuc3RvcmU7cmV0dXJuIGUub2JqZWN0SWRzLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOm4uc3RhdGUub2JqZWN0Q29uZmlnLnBhZ2Vsb2FkX2FuaW1hdGlvbj0iZmxhc2giLG4uZ2V0T2JqZWN0Q29udHJvbGxlcigpLnN0eWxlc2hlZXQuaW5uZXJIVE1MKz0iLmltcC1vYmplY3QuaW1wLW9iamVjdC1wYWdlbG9hZC1hbmltYXRpb24ge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzNTBtcztcbiAgICAgIH0iLG4uZ2V0T2JqZWN0Q29udHJvbGxlcigpLmFuaW1hdGVPYmplY3RzKCksZSgpO2Nhc2UgNTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSl9LGRpc2FibGVQYWdlbG9hZEFuaW1hdGlvbjpmdW5jdGlvbih0KXt0LmNvbW1pdCx0LnN0YXRlO3ZhciBlPXQuc3RvcmU7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9eSh3KCkubWFyaygoZnVuY3Rpb24gdChuKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmUuc3RhdGUub2JqZWN0Q29uZmlnLnBhZ2Vsb2FkX2FuaW1hdGlvbj0ibm9uZSIsbigpO2Nhc2UgMjpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSl9fTt2YXIgcGU7Y29uc3QgZGU9e3NldEV4YW1wbGVNdXRhdGlvbjpmdW5jdGlvbih0LGUpe319O2Z1bmN0aW9uIGhlKHQsZSl7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJnRbU3ltYm9sLml0ZXJhdG9yXXx8dFsiQEBpdGVyYXRvciJdO2lmKCFuKXtpZihBcnJheS5pc0FycmF5KHQpfHwobj1mdW5jdGlvbih0LGUpe2lmKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gbWUodCxlKTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1uJiZ0LmNvbnN0cnVjdG9yJiYobj10LmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09bnx8IlNldCI9PT1uP0FycmF5LmZyb20odCk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9tZSh0LGUpOnZvaWQgMH19KHQpKXx8ZSYmdCYmIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aCl7biYmKHQ9bik7dmFyIG89MCxpPWZ1bmN0aW9uKCl7fTtyZXR1cm57czppLG46ZnVuY3Rpb24oKXtyZXR1cm4gbz49dC5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOnRbbysrXX19LGU6ZnVuY3Rpb24odCl7dGhyb3cgdH0sZjppfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIHIsYT0hMCxzPSExO3JldHVybntzOmZ1bmN0aW9uKCl7bj1uLmNhbGwodCl9LG46ZnVuY3Rpb24oKXt2YXIgdD1uLm5leHQoKTtyZXR1cm4gYT10LmRvbmUsdH0sZTpmdW5jdGlvbih0KXtzPSEwLHI9dH0sZjpmdW5jdGlvbigpe3RyeXthfHxudWxsPT1uLnJldHVybnx8bi5yZXR1cm4oKX1maW5hbGx5e2lmKHMpdGhyb3cgcn19fX1mdW5jdGlvbiBtZSh0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgbj0wLG89bmV3IEFycmF5KGUpO248ZTtuKyspb1tuXT10W25dO3JldHVybiBvfXZhciBmZT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dmFyIG49ZS5pbml0aWFsU3RhdGUsbz1lLmltYWdlTWFwO2Zvcih2YXIgaSBpbigwLHB0LlopKHRoaXMsdCksbXQodGhpcywiaW1hZ2VNYXAiLHZvaWQgMCksbXQodGhpcywiZ2V0dGVyUHJveHlIYW5kbGVyIix7YXBwbHk6ZnVuY3Rpb24odCxlLG4pe3JldHVybih0PXQuYmluZChlKSkuYXBwbHkodm9pZCAwLFtlLnN0YXRlXS5jb25jYXQoKDAsVnQuWikobikpKX19KSx0aGlzLmltYWdlTWFwPW8sdGhpcy5zZXRTdGF0ZShuKSxjZSl0aGlzW2ldPW5ldyBQcm94eShjZVtpXSx0aGlzLmdldHRlclByb3h5SGFuZGxlcik7dGhpcy5zdWJzY3JpYmVycz1bXSx0aGlzLm11dGF0aW9uU3Vic2NyaWJlcnM9W119dmFyIGU7cmV0dXJuKDAsZHQuWikodCxbe2tleToic2V0U3RhdGUiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9O3RoaXMuc3RhdGU9KDAsbS5aQikoe30sdCl9fSx7a2V5OiJjb21taXQiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7ZGVbdF0odGhpcy5zdGF0ZSxlKTt2YXIgbixvPWhlKHRoaXMubXV0YXRpb25TdWJzY3JpYmVycyk7dHJ5e2ZvcihvLnMoKTshKG49by5uKCkpLmRvbmU7KSgwLG4udmFsdWUpKHt0eXBlOnQscGF5bG9hZDplfSl9Y2F0Y2godCl7by5lKHQpfWZpbmFsbHl7by5mKCl9fX0se2tleToiZGlzcGF0Y2giLHZhbHVlOihlPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSxuKXt2YXIgbyxpLHI7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpvPXVlW2VdKHtjb21taXQ6dGhpcy5jb21taXQuYmluZCh0aGlzKSxzdGF0ZTp0aGlzLnN0YXRlLHN0b3JlOnRoaXN9LG4pLGk9aGUodGhpcy5zdWJzY3JpYmVycyk7dHJ5e2ZvcihpLnMoKTshKHI9aS5uKCkpLmRvbmU7KSgwLHIudmFsdWUpKHt0eXBlOmUscGF5bG9hZDpufSl9Y2F0Y2godCl7aS5lKHQpfWZpbmFsbHl7aS5mKCl9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLG8pO2Nhc2UgNDpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpLGZ1bmN0aW9uKHQsbil7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6InN1YnNjcmliZSIsdmFsdWU6ZnVuY3Rpb24odCl7dGhpcy5zdWJzY3JpYmVycy5wdXNoKHQpfX0se2tleToic3Vic2NyaWJlTXV0YXRpb24iLHZhbHVlOmZ1bmN0aW9uKHQpe3RoaXMubXV0YXRpb25TdWJzY3JpYmVycy5wdXNoKHQpfX1dKSx0fSgpO2Z1bmN0aW9uIGdlKHQsZSl7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJnRbU3ltYm9sLml0ZXJhdG9yXXx8dFsiQEBpdGVyYXRvciJdO2lmKCFuKXtpZihBcnJheS5pc0FycmF5KHQpfHwobj1mdW5jdGlvbih0LGUpe2lmKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gYmUodCxlKTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1uJiZ0LmNvbnN0cnVjdG9yJiYobj10LmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09bnx8IlNldCI9PT1uP0FycmF5LmZyb20odCk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9iZSh0LGUpOnZvaWQgMH19KHQpKXx8ZSYmdCYmIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aCl7biYmKHQ9bik7dmFyIG89MCxpPWZ1bmN0aW9uKCl7fTtyZXR1cm57czppLG46ZnVuY3Rpb24oKXtyZXR1cm4gbz49dC5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOnRbbysrXX19LGU6ZnVuY3Rpb24odCl7dGhyb3cgdH0sZjppfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIHIsYT0hMCxzPSExO3JldHVybntzOmZ1bmN0aW9uKCl7bj1uLmNhbGwodCl9LG46ZnVuY3Rpb24oKXt2YXIgdD1uLm5leHQoKTtyZXR1cm4gYT10LmRvbmUsdH0sZTpmdW5jdGlvbih0KXtzPSEwLHI9dH0sZjpmdW5jdGlvbigpe3RyeXthfHxudWxsPT1uLnJldHVybnx8bi5yZXR1cm4oKX1maW5hbGx5e2lmKHMpdGhyb3cgcn19fX1mdW5jdGlvbiBiZSh0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgbj0wLG89bmV3IEFycmF5KGUpO248ZTtuKyspb1tuXT10W25dO3JldHVybiBvfWZ1bmN0aW9uIHZlKHQpe3ZhciBlPXQ7cmV0dXJuInBsYWluLXRleHQiPT10LmNvbnRlbnRfdHlwZSYmKGU9ZnVuY3Rpb24odCl7cmV0dXJuW3t0eXBlOiJQYXJhZ3JhcGgiLHRleHQ6dC5wbGFpbl90ZXh0fV19KHQpKSx0LnNxdWFyZXNfc2V0dGluZ3MmJihlPWZ1bmN0aW9uKHQpe3ZhciBlLG49W10sbz1nZSh0LnNxdWFyZXNfc2V0dGluZ3MuY29udGFpbmVycyk7dHJ5e2ZvcihvLnMoKTshKGU9by5uKCkpLmRvbmU7KXt2YXIgaSxyPWUudmFsdWU7aWYobnVsbCE9PShpPXIuc2V0dGluZ3MpJiZ2b2lkIDAhPT1pJiZpLmVsZW1lbnRzKXt2YXIgYSxzPWdlKHIuc2V0dGluZ3MuZWxlbWVudHMpO3RyeXtmb3Iocy5zKCk7IShhPXMubigpKS5kb25lOyl7dmFyIGMsbD1hLnZhbHVlOyJQYXJhZ3JhcGgiPT1sLnNldHRpbmdzLm5hbWUmJm51bGwhPT0oYz1sLm9wdGlvbnMpJiZ2b2lkIDAhPT1jJiZjLnRleHQmJm4ucHVzaCh5ZShsKSksIkhlYWRpbmciPT1sLnNldHRpbmdzLm5hbWUmJm4ucHVzaChfZShsKSksIkltYWdlIj09bC5zZXR0aW5ncy5uYW1lJiZuLnB1c2god2UobCkpLCJCdXR0b24iPT1sLnNldHRpbmdzLm5hbWUmJm4ucHVzaCh4ZShsKSksIllvdVR1YmUiPT1sLnNldHRpbmdzLm5hbWUmJm4ucHVzaChqZShsKSksIlZpZGVvIj09bC5zZXR0aW5ncy5uYW1lJiZuLnB1c2goa2UobCkpfX1jYXRjaCh0KXtzLmUodCl9ZmluYWxseXtzLmYoKX19fX1jYXRjaCh0KXtvLmUodCl9ZmluYWxseXtvLmYoKX1yZXR1cm4gbn0odCkpLGV9ZnVuY3Rpb24geWUodCl7dmFyIGUsbixvLGkscixhLHMsYyxsLHUscCxkLGgsbSxmLGcsYix2LHksXyx3LHgsayxqLE0sSSxDLEUsTyxBLFAsVCx6LFMsWixMLFIsVSxCLEYsRCxXLHEsSCxZLE4sWCxLLFYsJCxHLEosUSx0dCxldCxudCxvdCxpdCxydCxhdDtyZXR1cm57dHlwZToiUGFyYWdyYXBoIix0ZXh0OihudWxsPT09KGU9dC5vcHRpb25zKXx8dm9pZCAwPT09ZXx8bnVsbD09PShuPWUudGV4dCl8fHZvaWQgMD09PW4/dm9pZCAwOm4udGV4dCl8fEN0LnBhcmFncmFwaC50ZXh0LG90aGVyOntpZDoobnVsbD09PShvPXQub3B0aW9ucyl8fHZvaWQgMD09PW98fG51bGw9PT0oaT1vLmdlbmVyYWwpfHx2b2lkIDA9PT1pP3ZvaWQgMDppLmlkKXx8Q3QucGFyYWdyYXBoLm90aGVyLmlkLGNsYXNzZXM6KG51bGw9PT0ocj10Lm9wdGlvbnMpfHx2b2lkIDA9PT1yfHxudWxsPT09KGE9ci5nZW5lcmFsKXx8dm9pZCAwPT09YT92b2lkIDA6YS5jbGFzc2VzKXx8Q3QucGFyYWdyYXBoLm90aGVyLmNsYXNzZXMsY3NzOihudWxsPT09KHM9dC5vcHRpb25zKXx8dm9pZCAwPT09c3x8bnVsbD09PShjPXMuZ2VuZXJhbCl8fHZvaWQgMD09PWM/dm9pZCAwOmMuY3NzKXx8Q3QucGFyYWdyYXBoLm90aGVyLmNzc30sc3R5bGU6e2ZvbnRGYW1pbHk6KG51bGw9PT0obD10Lm9wdGlvbnMpfHx2b2lkIDA9PT1sfHxudWxsPT09KHU9bC5mb250KXx8dm9pZCAwPT09dT92b2lkIDA6dS5mb250X2ZhbWlseSl8fEN0LnBhcmFncmFwaC5zdHlsZS5mb250RmFtaWx5LGZvbnRTaXplOihudWxsPT09KHA9dC5vcHRpb25zKXx8dm9pZCAwPT09cHx8bnVsbD09PShkPXAuZm9udCl8fHZvaWQgMD09PWQ/dm9pZCAwOmQuZm9udF9zaXplKXx8Q3QucGFyYWdyYXBoLnN0eWxlLmZvbnRTaXplLGZvbnRXZWlnaHQ6KG51bGw9PT0oaD10Lm9wdGlvbnMpfHx2b2lkIDA9PT1ofHxudWxsPT09KG09aC5mb250KXx8dm9pZCAwPT09bT92b2lkIDA6bS5mb250X3dlaWdodCl8fEN0LnBhcmFncmFwaC5zdHlsZS5mb250V2VpZ2h0LGZvbnRTdHlsZToobnVsbD09PShmPXQub3B0aW9ucyl8fHZvaWQgMD09PWZ8fG51bGw9PT0oZz1mLmZvbnQpfHx2b2lkIDA9PT1nP3ZvaWQgMDpnLmZvbnRfc3R5bGUpfHxDdC5wYXJhZ3JhcGguc3R5bGUuZm9udFN0eWxlLGxpbmVIZWlnaHQ6KG51bGw9PT0oYj10Lm9wdGlvbnMpfHx2b2lkIDA9PT1ifHxudWxsPT09KHY9Yi5mb250KXx8dm9pZCAwPT09dj92b2lkIDA6di5saW5lX2hlaWdodCl8fEN0LnBhcmFncmFwaC5zdHlsZS5saW5lSGVpZ2h0LGNvbG9yOihudWxsPT09KHk9dC5vcHRpb25zKXx8dm9pZCAwPT09eXx8bnVsbD09PShfPXkuZm9udCl8fHZvaWQgMD09PV8/dm9pZCAwOl8udGV4dF9jb2xvcil8fEN0LnBhcmFncmFwaC5zdHlsZS5jb2xvcix0ZXh0QWxpZ246KG51bGw9PT0odz10Lm9wdGlvbnMpfHx2b2lkIDA9PT13fHxudWxsPT09KHg9dy5mb250KXx8dm9pZCAwPT09eD92b2lkIDA6eC50ZXh0X2FsaWduKXx8Q3QucGFyYWdyYXBoLnN0eWxlLnRleHRBbGlnbix0ZXh0RGVjb3JhdGlvbjoobnVsbD09PShrPXQub3B0aW9ucyl8fHZvaWQgMD09PWt8fG51bGw9PT0oaj1rLmZvbnQpfHx2b2lkIDA9PT1qP3ZvaWQgMDpqLnRleHRfZGVjb3JhdGlvbil8fEN0LnBhcmFncmFwaC5zdHlsZS50ZXh0RGVjb3JhdGlvbix0ZXh0VHJhbnNmb3JtOihudWxsPT09KE09dC5vcHRpb25zKXx8dm9pZCAwPT09TXx8bnVsbD09PShJPU0uZm9udCl8fHZvaWQgMD09PUk/dm9pZCAwOkkudGV4dF90cmFuc2Zvcm0pfHxDdC5wYXJhZ3JhcGguc3R5bGUudGV4dFRyYW5zZm9ybSx0ZXh0U2hhZG93OihudWxsPT09KEM9dC5vcHRpb25zKXx8dm9pZCAwPT09Q3x8bnVsbD09PShFPUMuZm9udCl8fHZvaWQgMD09PUU/dm9pZCAwOkUudGV4dF9zaGFkb3cpfHxDdC5wYXJhZ3JhcGguc3R5bGUudGV4dFNoYWRvd30sYm94TW9kZWw6e3dpZHRoOiJhdXRvIixoZWlnaHQ6ImF1dG8iLG1hcmdpbjp7dG9wOihudWxsPT09KE89dC5vcHRpb25zKXx8dm9pZCAwPT09T3x8bnVsbD09PShBPU8ubGF5b3V0KXx8dm9pZCAwPT09QXx8bnVsbD09PShQPUEuYm94X21vZGVsKXx8dm9pZCAwPT09UHx8bnVsbD09PShUPVAubWFyZ2luKXx8dm9pZCAwPT09VD92b2lkIDA6VC50b3ApfHxDdC5wYXJhZ3JhcGguYm94TW9kZWwubWFyZ2luLnRvcCxib3R0b206KG51bGw9PT0oej10Lm9wdGlvbnMpfHx2b2lkIDA9PT16fHxudWxsPT09KFM9ei5sYXlvdXQpfHx2b2lkIDA9PT1TfHxudWxsPT09KFo9Uy5ib3hfbW9kZWwpfHx2b2lkIDA9PT1afHxudWxsPT09KEw9Wi5tYXJnaW4pfHx2b2lkIDA9PT1MP3ZvaWQgMDpMLmJvdHRvbSl8fEN0LnBhcmFncmFwaC5ib3hNb2RlbC5tYXJnaW4uYm90dG9tLGxlZnQ6KG51bGw9PT0oUj10Lm9wdGlvbnMpfHx2b2lkIDA9PT1SfHxudWxsPT09KFU9Ui5sYXlvdXQpfHx2b2lkIDA9PT1VfHxudWxsPT09KEI9VS5ib3hfbW9kZWwpfHx2b2lkIDA9PT1CfHxudWxsPT09KEY9Qi5tYXJnaW4pfHx2b2lkIDA9PT1GP3ZvaWQgMDpGLmxlZnQpfHxDdC5wYXJhZ3JhcGguYm94TW9kZWwubWFyZ2luLmxlZnQscmlnaHQ6KG51bGw9PT0oRD10Lm9wdGlvbnMpfHx2b2lkIDA9PT1EfHxudWxsPT09KFc9RC5sYXlvdXQpfHx2b2lkIDA9PT1XfHxudWxsPT09KHE9Vy5ib3hfbW9kZWwpfHx2b2lkIDA9PT1xfHxudWxsPT09KEg9cS5tYXJnaW4pfHx2b2lkIDA9PT1IP3ZvaWQgMDpILnJpZ2h0KXx8Q3QucGFyYWdyYXBoLmJveE1vZGVsLm1hcmdpbi5yaWdodH0scGFkZGluZzp7dG9wOihudWxsPT09KFk9dC5vcHRpb25zKXx8dm9pZCAwPT09WXx8bnVsbD09PShOPVkubGF5b3V0KXx8dm9pZCAwPT09Tnx8bnVsbD09PShYPU4uYm94X21vZGVsKXx8dm9pZCAwPT09WHx8bnVsbD09PShLPVgucGFkZGluZyl8fHZvaWQgMD09PUs/dm9pZCAwOksudG9wKXx8Q3QucGFyYWdyYXBoLmJveE1vZGVsLnBhZGRpbmcudG9wLGJvdHRvbToobnVsbD09PShWPXQub3B0aW9ucyl8fHZvaWQgMD09PVZ8fG51bGw9PT0oJD1WLmxheW91dCl8fHZvaWQgMD09PSR8fG51bGw9PT0oRz0kLmJveF9tb2RlbCl8fHZvaWQgMD09PUd8fG51bGw9PT0oSj1HLnBhZGRpbmcpfHx2b2lkIDA9PT1KP3ZvaWQgMDpKLmJvdHRvbSl8fEN0LnBhcmFncmFwaC5ib3hNb2RlbC5wYWRkaW5nLmJvdHRvbSxsZWZ0OihudWxsPT09KFE9dC5vcHRpb25zKXx8dm9pZCAwPT09UXx8bnVsbD09PSh0dD1RLmxheW91dCl8fHZvaWQgMD09PXR0fHxudWxsPT09KGV0PXR0LmJveF9tb2RlbCl8fHZvaWQgMD09PWV0fHxudWxsPT09KG50PWV0LnBhZGRpbmcpfHx2b2lkIDA9PT1udD92b2lkIDA6bnQubGVmdCl8fEN0LnBhcmFncmFwaC5ib3hNb2RlbC5wYWRkaW5nLmxlZnQscmlnaHQ6KG51bGw9PT0ob3Q9dC5vcHRpb25zKXx8dm9pZCAwPT09b3R8fG51bGw9PT0oaXQ9b3QubGF5b3V0KXx8dm9pZCAwPT09aXR8fG51bGw9PT0ocnQ9aXQuYm94X21vZGVsKXx8dm9pZCAwPT09cnR8fG51bGw9PT0oYXQ9cnQucGFkZGluZyl8fHZvaWQgMD09PWF0P3ZvaWQgMDphdC5yaWdodCl8fEN0LnBhcmFncmFwaC5ib3hNb2RlbC5wYWRkaW5nLnJpZ2h0fX19fWZ1bmN0aW9uIF9lKHQpe3ZhciBlLG4sbyxpLHIsYSxzLGMsbCx1LHAsZCxoLG0sZixnLGIsdix5LF8sdyx4LGssaixNLEksQyxFLE8sQSxQLFQseixTLFosTCxSLFUsQixGLEQsVyxxLEgsWSxOLFgsSyxWLCQsRyxKLFEsdHQsZXQsbnQsb3QsaXQscnQsYXQsc3QsY3Q7cmV0dXJue3R5cGU6IkhlYWRpbmciLHRleHQ6KG51bGw9PT0oZT10Lm9wdGlvbnMpfHx2b2lkIDA9PT1lfHxudWxsPT09KG49ZS5oZWFkaW5nKXx8dm9pZCAwPT09bj92b2lkIDA6bi50ZXh0KXx8Q3QuaGVhZGluZy50ZXh0LGhlYWRpbmc6KG51bGw9PT0obz10Lm9wdGlvbnMpfHx2b2lkIDA9PT1vfHxudWxsPT09KGk9by5oZWFkaW5nKXx8dm9pZCAwPT09aT92b2lkIDA6aS5oZWFkaW5nKXx8Q3QuaGVhZGluZy5oZWFkaW5nLG90aGVyOntpZDoobnVsbD09PShyPXQub3B0aW9ucyl8fHZvaWQgMD09PXJ8fG51bGw9PT0oYT1yLmdlbmVyYWwpfHx2b2lkIDA9PT1hP3ZvaWQgMDphLmlkKXx8Q3QuaGVhZGluZy5vdGhlci5pZCxjbGFzc2VzOihudWxsPT09KHM9dC5vcHRpb25zKXx8dm9pZCAwPT09c3x8bnVsbD09PShjPXMuZ2VuZXJhbCl8fHZvaWQgMD09PWM/dm9pZCAwOmMuY2xhc3Nlcyl8fEN0LmhlYWRpbmcub3RoZXIuY2xhc3Nlcyxjc3M6KG51bGw9PT0obD10Lm9wdGlvbnMpfHx2b2lkIDA9PT1sfHxudWxsPT09KHU9bC5nZW5lcmFsKXx8dm9pZCAwPT09dT92b2lkIDA6dS5jc3MpfHxDdC5oZWFkaW5nLm90aGVyLmNzc30sc3R5bGU6e2ZvbnRGYW1pbHk6KG51bGw9PT0ocD10Lm9wdGlvbnMpfHx2b2lkIDA9PT1wfHxudWxsPT09KGQ9cC5mb250KXx8dm9pZCAwPT09ZD92b2lkIDA6ZC5mb250X2ZhbWlseSl8fEN0LmhlYWRpbmcuc3R5bGUuZm9udEZhbWlseSxmb250U2l6ZToobnVsbD09PShoPXQub3B0aW9ucyl8fHZvaWQgMD09PWh8fG51bGw9PT0obT1oLmZvbnQpfHx2b2lkIDA9PT1tP3ZvaWQgMDptLmZvbnRfc2l6ZSl8fEN0LmhlYWRpbmcuc3R5bGUuZm9udFNpemUsZm9udFdlaWdodDoobnVsbD09PShmPXQub3B0aW9ucyl8fHZvaWQgMD09PWZ8fG51bGw9PT0oZz1mLmZvbnQpfHx2b2lkIDA9PT1nP3ZvaWQgMDpnLmZvbnRfd2VpZ2h0KXx8Q3QuaGVhZGluZy5zdHlsZS5mb250V2VpZ2h0LGZvbnRTdHlsZToobnVsbD09PShiPXQub3B0aW9ucyl8fHZvaWQgMD09PWJ8fG51bGw9PT0odj1iLmZvbnQpfHx2b2lkIDA9PT12P3ZvaWQgMDp2LmZvbnRfc3R5bGUpfHxDdC5oZWFkaW5nLnN0eWxlLmZvbnRTdHlsZSxsaW5lSGVpZ2h0OihudWxsPT09KHk9dC5vcHRpb25zKXx8dm9pZCAwPT09eXx8bnVsbD09PShfPXkuZm9udCl8fHZvaWQgMD09PV8/dm9pZCAwOl8ubGluZV9oZWlnaHQpfHxDdC5oZWFkaW5nLnN0eWxlLmxpbmVIZWlnaHQsY29sb3I6KG51bGw9PT0odz10Lm9wdGlvbnMpfHx2b2lkIDA9PT13fHxudWxsPT09KHg9dy5mb250KXx8dm9pZCAwPT09eD92b2lkIDA6eC50ZXh0X2NvbG9yKXx8Q3QuaGVhZGluZy5zdHlsZS5jb2xvcix0ZXh0QWxpZ246KG51bGw9PT0oaz10Lm9wdGlvbnMpfHx2b2lkIDA9PT1rfHxudWxsPT09KGo9ay5mb250KXx8dm9pZCAwPT09aj92b2lkIDA6ai50ZXh0X2FsaWduKXx8Q3QuaGVhZGluZy5zdHlsZS50ZXh0QWxpZ24sdGV4dERlY29yYXRpb246KG51bGw9PT0oTT10Lm9wdGlvbnMpfHx2b2lkIDA9PT1NfHxudWxsPT09KEk9TS5mb250KXx8dm9pZCAwPT09ST92b2lkIDA6SS50ZXh0X2RlY29yYXRpb24pfHxDdC5oZWFkaW5nLnN0eWxlLnRleHREZWNvcmF0aW9uLHRleHRUcmFuc2Zvcm06KG51bGw9PT0oQz10Lm9wdGlvbnMpfHx2b2lkIDA9PT1DfHxudWxsPT09KEU9Qy5mb250KXx8dm9pZCAwPT09RT92b2lkIDA6RS50ZXh0X3RyYW5zZm9ybSl8fEN0LmhlYWRpbmcuc3R5bGUudGV4dFRyYW5zZm9ybSx0ZXh0U2hhZG93OihudWxsPT09KE89dC5vcHRpb25zKXx8dm9pZCAwPT09T3x8bnVsbD09PShBPU8uZm9udCl8fHZvaWQgMD09PUE/dm9pZCAwOkEudGV4dF9zaGFkb3cpfHxDdC5oZWFkaW5nLnN0eWxlLnRleHRTaGFkb3d9LGJveE1vZGVsOnt3aWR0aDoiYXV0byIsaGVpZ2h0OiJhdXRvIixtYXJnaW46e3RvcDoobnVsbD09PShQPXQub3B0aW9ucyl8fHZvaWQgMD09PVB8fG51bGw9PT0oVD1QLmxheW91dCl8fHZvaWQgMD09PVR8fG51bGw9PT0oej1ULmJveF9tb2RlbCl8fHZvaWQgMD09PXp8fG51bGw9PT0oUz16Lm1hcmdpbil8fHZvaWQgMD09PVM/dm9pZCAwOlMudG9wKXx8Q3QuaGVhZGluZy5ib3hNb2RlbC5tYXJnaW4udG9wLGJvdHRvbToobnVsbD09PShaPXQub3B0aW9ucyl8fHZvaWQgMD09PVp8fG51bGw9PT0oTD1aLmxheW91dCl8fHZvaWQgMD09PUx8fG51bGw9PT0oUj1MLmJveF9tb2RlbCl8fHZvaWQgMD09PVJ8fG51bGw9PT0oVT1SLm1hcmdpbil8fHZvaWQgMD09PVU/dm9pZCAwOlUuYm90dG9tKXx8Q3QuaGVhZGluZy5ib3hNb2RlbC5tYXJnaW4uYm90dG9tLGxlZnQ6KG51bGw9PT0oQj10Lm9wdGlvbnMpfHx2b2lkIDA9PT1CfHxudWxsPT09KEY9Qi5sYXlvdXQpfHx2b2lkIDA9PT1GfHxudWxsPT09KEQ9Ri5ib3hfbW9kZWwpfHx2b2lkIDA9PT1EfHxudWxsPT09KFc9RC5tYXJnaW4pfHx2b2lkIDA9PT1XP3ZvaWQgMDpXLmxlZnQpfHxDdC5oZWFkaW5nLmJveE1vZGVsLm1hcmdpbi5sZWZ0LHJpZ2h0OihudWxsPT09KHE9dC5vcHRpb25zKXx8dm9pZCAwPT09cXx8bnVsbD09PShIPXEubGF5b3V0KXx8dm9pZCAwPT09SHx8bnVsbD09PShZPUguYm94X21vZGVsKXx8dm9pZCAwPT09WXx8bnVsbD09PShOPVkubWFyZ2luKXx8dm9pZCAwPT09Tj92b2lkIDA6Ti5yaWdodCl8fEN0LmhlYWRpbmcuYm94TW9kZWwubWFyZ2luLnJpZ2h0fSxwYWRkaW5nOnt0b3A6KG51bGw9PT0oWD10Lm9wdGlvbnMpfHx2b2lkIDA9PT1YfHxudWxsPT09KEs9WC5sYXlvdXQpfHx2b2lkIDA9PT1LfHxudWxsPT09KFY9Sy5ib3hfbW9kZWwpfHx2b2lkIDA9PT1WfHxudWxsPT09KCQ9Vi5wYWRkaW5nKXx8dm9pZCAwPT09JD92b2lkIDA6JC50b3ApfHxDdC5oZWFkaW5nLmJveE1vZGVsLnBhZGRpbmcudG9wLGJvdHRvbToobnVsbD09PShHPXQub3B0aW9ucyl8fHZvaWQgMD09PUd8fG51bGw9PT0oSj1HLmxheW91dCl8fHZvaWQgMD09PUp8fG51bGw9PT0oUT1KLmJveF9tb2RlbCl8fHZvaWQgMD09PVF8fG51bGw9PT0odHQ9US5wYWRkaW5nKXx8dm9pZCAwPT09dHQ/dm9pZCAwOnR0LmJvdHRvbSl8fEN0LmhlYWRpbmcuYm94TW9kZWwucGFkZGluZy5ib3R0b20sbGVmdDoobnVsbD09PShldD10Lm9wdGlvbnMpfHx2b2lkIDA9PT1ldHx8bnVsbD09PShudD1ldC5sYXlvdXQpfHx2b2lkIDA9PT1udHx8bnVsbD09PShvdD1udC5ib3hfbW9kZWwpfHx2b2lkIDA9PT1vdHx8bnVsbD09PShpdD1vdC5wYWRkaW5nKXx8dm9pZCAwPT09aXQ/dm9pZCAwOml0LmxlZnQpfHxDdC5oZWFkaW5nLmJveE1vZGVsLnBhZGRpbmcubGVmdCxyaWdodDoobnVsbD09PShydD10Lm9wdGlvbnMpfHx2b2lkIDA9PT1ydHx8bnVsbD09PShhdD1ydC5sYXlvdXQpfHx2b2lkIDA9PT1hdHx8bnVsbD09PShzdD1hdC5ib3hfbW9kZWwpfHx2b2lkIDA9PT1zdHx8bnVsbD09PShjdD1zdC5wYWRkaW5nKXx8dm9pZCAwPT09Y3Q/dm9pZCAwOmN0LnJpZ2h0KXx8Q3QuaGVhZGluZy5ib3hNb2RlbC5wYWRkaW5nLnJpZ2h0fX19fWZ1bmN0aW9uIHdlKHQpe3ZhciBlLG4sbyxpLHIsYSxzLGMsbCx1LHAsZCxoLG0sZixnLGIsdix5LF8sdyx4LGssaixNLEksQyxFLE8sQSxQLFQseixTLFosTCxSLFUsQixGLEQsVztyZXR1cm57dHlwZToiSW1hZ2UiLHVybDoobnVsbD09PShlPXQub3B0aW9ucyl8fHZvaWQgMD09PWV8fG51bGw9PT0obj1lLmltYWdlKXx8dm9pZCAwPT09bj92b2lkIDA6bi51cmwpfHxDdC5pbWFnZS51cmwsbGlua1VybDoobnVsbD09PShvPXQub3B0aW9ucyl8fHZvaWQgMD09PW98fG51bGw9PT0oaT1vLmltYWdlKXx8dm9pZCAwPT09aT92b2lkIDA6aS5saW5rX3RvKXx8Q3QuaW1hZ2UubGlua1VybCxvdGhlcjp7aWQ6KG51bGw9PT0ocj10Lm9wdGlvbnMpfHx2b2lkIDA9PT1yfHxudWxsPT09KGE9ci5nZW5lcmFsKXx8dm9pZCAwPT09YT92b2lkIDA6YS5pZCl8fEN0LmltYWdlLm90aGVyLmlkLGNsYXNzZXM6KG51bGw9PT0ocz10Lm9wdGlvbnMpfHx2b2lkIDA9PT1zfHxudWxsPT09KGM9cy5nZW5lcmFsKXx8dm9pZCAwPT09Yz92b2lkIDA6Yy5jbGFzc2VzKXx8Q3QuaW1hZ2Uub3RoZXIuY2xhc3Nlcyxjc3M6KG51bGw9PT0obD10Lm9wdGlvbnMpfHx2b2lkIDA9PT1sfHxudWxsPT09KHU9bC5nZW5lcmFsKXx8dm9pZCAwPT09dT92b2lkIDA6dS5jc3MpfHxDdC5pbWFnZS5vdGhlci5jc3N9LGJveE1vZGVsOnt3aWR0aDoiYXV0byIsaGVpZ2h0OiJhdXRvIixtYXJnaW46e3RvcDoobnVsbD09PShwPXQub3B0aW9ucyl8fHZvaWQgMD09PXB8fG51bGw9PT0oZD1wLmxheW91dCl8fHZvaWQgMD09PWR8fG51bGw9PT0oaD1kLmJveF9tb2RlbCl8fHZvaWQgMD09PWh8fG51bGw9PT0obT1oLm1hcmdpbil8fHZvaWQgMD09PW0/dm9pZCAwOm0udG9wKXx8Q3QuaW1hZ2UuYm94TW9kZWwubWFyZ2luLnRvcCxib3R0b206KG51bGw9PT0oZj10Lm9wdGlvbnMpfHx2b2lkIDA9PT1mfHxudWxsPT09KGc9Zi5sYXlvdXQpfHx2b2lkIDA9PT1nfHxudWxsPT09KGI9Zy5ib3hfbW9kZWwpfHx2b2lkIDA9PT1ifHxudWxsPT09KHY9Yi5tYXJnaW4pfHx2b2lkIDA9PT12P3ZvaWQgMDp2LmJvdHRvbSl8fEN0LmltYWdlLmJveE1vZGVsLm1hcmdpbi5ib3R0b20sbGVmdDoobnVsbD09PSh5PXQub3B0aW9ucyl8fHZvaWQgMD09PXl8fG51bGw9PT0oXz15LmxheW91dCl8fHZvaWQgMD09PV98fG51bGw9PT0odz1fLmJveF9tb2RlbCl8fHZvaWQgMD09PXd8fG51bGw9PT0oeD13Lm1hcmdpbil8fHZvaWQgMD09PXg/dm9pZCAwOngubGVmdCl8fEN0LmltYWdlLmJveE1vZGVsLm1hcmdpbi5sZWZ0LHJpZ2h0OihudWxsPT09KGs9dC5vcHRpb25zKXx8dm9pZCAwPT09a3x8bnVsbD09PShqPWsubGF5b3V0KXx8dm9pZCAwPT09anx8bnVsbD09PShNPWouYm94X21vZGVsKXx8dm9pZCAwPT09TXx8bnVsbD09PShJPU0ubWFyZ2luKXx8dm9pZCAwPT09ST92b2lkIDA6SS5yaWdodCl8fEN0LmltYWdlLmJveE1vZGVsLm1hcmdpbi5yaWdodH0scGFkZGluZzp7dG9wOihudWxsPT09KEM9dC5vcHRpb25zKXx8dm9pZCAwPT09Q3x8bnVsbD09PShFPUMubGF5b3V0KXx8dm9pZCAwPT09RXx8bnVsbD09PShPPUUuYm94X21vZGVsKXx8dm9pZCAwPT09T3x8bnVsbD09PShBPU8ucGFkZGluZyl8fHZvaWQgMD09PUE/dm9pZCAwOkEudG9wKXx8Q3QuaW1hZ2UuYm94TW9kZWwucGFkZGluZy50b3AsYm90dG9tOihudWxsPT09KFA9dC5vcHRpb25zKXx8dm9pZCAwPT09UHx8bnVsbD09PShUPVAubGF5b3V0KXx8dm9pZCAwPT09VHx8bnVsbD09PSh6PVQuYm94X21vZGVsKXx8dm9pZCAwPT09enx8bnVsbD09PShTPXoucGFkZGluZyl8fHZvaWQgMD09PVM/dm9pZCAwOlMuYm90dG9tKXx8Q3QuaW1hZ2UuYm94TW9kZWwucGFkZGluZy5ib3R0b20sbGVmdDoobnVsbD09PShaPXQub3B0aW9ucyl8fHZvaWQgMD09PVp8fG51bGw9PT0oTD1aLmxheW91dCl8fHZvaWQgMD09PUx8fG51bGw9PT0oUj1MLmJveF9tb2RlbCl8fHZvaWQgMD09PVJ8fG51bGw9PT0oVT1SLnBhZGRpbmcpfHx2b2lkIDA9PT1VP3ZvaWQgMDpVLmxlZnQpfHxDdC5pbWFnZS5ib3hNb2RlbC5wYWRkaW5nLmxlZnQscmlnaHQ6KG51bGw9PT0oQj10Lm9wdGlvbnMpfHx2b2lkIDA9PT1CfHxudWxsPT09KEY9Qi5sYXlvdXQpfHx2b2lkIDA9PT1GfHxudWxsPT09KEQ9Ri5ib3hfbW9kZWwpfHx2b2lkIDA9PT1EfHxudWxsPT09KFc9RC5wYWRkaW5nKXx8dm9pZCAwPT09Vz92b2lkIDA6Vy5yaWdodCl8fEN0LmltYWdlLmJveE1vZGVsLnBhZGRpbmcucmlnaHR9fX19ZnVuY3Rpb24geGUodCl7dmFyIGUsbixvLGkscixhLHMsYyxsLHUscCxkLGgsbSxmLGcsYix2LHksXyx3LHgsayxqLE0sSSxDLEUsTyxBLFAsVCx6LFMsWixMLFIsVSxCLEYsRCxXLHEsSCxZLE4sWCxLLFYsJCxHLEosUSx0dCxldCxudCxvdCxpdCxydCxhdCxzdCxjdCxsdCx1dCxwdCxkdCxodCxtdCxmdD17dHlwZToiQnV0dG9uIix0ZXh0OihudWxsPT09KGU9dC5vcHRpb25zKXx8dm9pZCAwPT09ZXx8bnVsbD09PShuPWUuYnV0dG9uKXx8dm9pZCAwPT09bj92b2lkIDA6bi50ZXh0KXx8Q3QuYnV0dG9uLnRleHQsdXJsOihudWxsPT09KG89dC5vcHRpb25zKXx8dm9pZCAwPT09b3x8bnVsbD09PShpPW8uYnV0dG9uKXx8dm9pZCAwPT09aT92b2lkIDA6aS5saW5rX3RvKXx8Q3QuYnV0dG9uLnVybCxuZXdUYWI6KG51bGw9PT0ocj10Lm9wdGlvbnMpfHx2b2lkIDA9PT1yfHxudWxsPT09KGE9ci5idXR0b24pfHx2b2lkIDA9PT1hP3ZvaWQgMDphLm5ld190YWIpfHxDdC5idXR0b24ubmV3VGFiLG90aGVyOntpZDoobnVsbD09PShzPXQub3B0aW9ucyl8fHZvaWQgMD09PXN8fG51bGw9PT0oYz1zLmdlbmVyYWwpfHx2b2lkIDA9PT1jP3ZvaWQgMDpjLmlkKXx8Q3QuYnV0dG9uLm90aGVyLmlkLGNsYXNzZXM6KG51bGw9PT0obD10Lm9wdGlvbnMpfHx2b2lkIDA9PT1sfHxudWxsPT09KHU9bC5nZW5lcmFsKXx8dm9pZCAwPT09dT92b2lkIDA6dS5jbGFzc2VzKXx8Q3QuYnV0dG9uLm90aGVyLmNsYXNzZXMsY3NzOihudWxsPT09KHA9dC5vcHRpb25zKXx8dm9pZCAwPT09cHx8bnVsbD09PShkPXAuZ2VuZXJhbCl8fHZvaWQgMD09PWQ/dm9pZCAwOmQuY3NzKXx8Q3QuYnV0dG9uLm90aGVyLmNzc30sc3R5bGU6e2JhY2tncm91bmRDb2xvcjoobnVsbD09PShoPXQub3B0aW9ucyl8fHZvaWQgMD09PWh8fG51bGw9PT0obT1oLmJ1dHRvbil8fHZvaWQgMD09PW0/dm9pZCAwOm0uYmdfY29sb3IpfHxDdC5idXR0b24uc3R5bGUuYmFja2dyb3VuZENvbG9yLGJvcmRlclJhZGl1czoobnVsbD09PShmPXQub3B0aW9ucyl8fHZvaWQgMD09PWZ8fG51bGw9PT0oZz1mLmJ1dHRvbil8fHZvaWQgMD09PWc/dm9pZCAwOmcuYm9yZGVyX3JhZGl1cyl8fEN0LmJ1dHRvbi5zdHlsZS5ib3JkZXJSYWRpdXMsZm9udEZhbWlseToobnVsbD09PShiPXQub3B0aW9ucyl8fHZvaWQgMD09PWJ8fG51bGw9PT0odj1iLmZvbnQpfHx2b2lkIDA9PT12P3ZvaWQgMDp2LmZvbnRfZmFtaWx5KXx8Q3QuYnV0dG9uLnN0eWxlLmZvbnRGYW1pbHksZm9udFNpemU6KG51bGw9PT0oeT10Lm9wdGlvbnMpfHx2b2lkIDA9PT15fHxudWxsPT09KF89eS5mb250KXx8dm9pZCAwPT09Xz92b2lkIDA6Xy5mb250X3NpemUpfHxDdC5idXR0b24uc3R5bGUuZm9udFNpemUsZm9udFdlaWdodDoobnVsbD09PSh3PXQub3B0aW9ucyl8fHZvaWQgMD09PXd8fG51bGw9PT0oeD13LmZvbnQpfHx2b2lkIDA9PT14P3ZvaWQgMDp4LmZvbnRfd2VpZ2h0KXx8Q3QuYnV0dG9uLnN0eWxlLmZvbnRXZWlnaHQsZm9udFN0eWxlOihudWxsPT09KGs9dC5vcHRpb25zKXx8dm9pZCAwPT09a3x8bnVsbD09PShqPWsuZm9udCl8fHZvaWQgMD09PWo/dm9pZCAwOmouZm9udF9zdHlsZSl8fEN0LmJ1dHRvbi5zdHlsZS5mb250U3R5bGUsbGluZUhlaWdodDoobnVsbD09PShNPXQub3B0aW9ucyl8fHZvaWQgMD09PU18fG51bGw9PT0oST1NLmJ1dHRvbil8fHZvaWQgMD09PUk/dm9pZCAwOkkuaGVpZ2h0KXx8Q3QuYnV0dG9uLnN0eWxlLmxpbmVIZWlnaHQsY29sb3I6KG51bGw9PT0oQz10Lm9wdGlvbnMpfHx2b2lkIDA9PT1DfHxudWxsPT09KEU9Qy5idXR0b24pfHx2b2lkIDA9PT1FP3ZvaWQgMDpFLnRleHRfY29sb3IpfHxDdC5idXR0b24uc3R5bGUuY29sb3IsdGV4dEFsaWduOihudWxsPT09KE89dC5vcHRpb25zKXx8dm9pZCAwPT09T3x8bnVsbD09PShBPU8uZm9udCl8fHZvaWQgMD09PUE/dm9pZCAwOkEudGV4dF9hbGlnbil8fEN0LmJ1dHRvbi5zdHlsZS50ZXh0QWxpZ24sdGV4dERlY29yYXRpb246KG51bGw9PT0oUD10Lm9wdGlvbnMpfHx2b2lkIDA9PT1QfHxudWxsPT09KFQ9UC5mb250KXx8dm9pZCAwPT09VD92b2lkIDA6VC50ZXh0X2RlY29yYXRpb24pfHxDdC5idXR0b24uc3R5bGUudGV4dERlY29yYXRpb24sdGV4dFRyYW5zZm9ybToobnVsbD09PSh6PXQub3B0aW9ucyl8fHZvaWQgMD09PXp8fG51bGw9PT0oUz16LmZvbnQpfHx2b2lkIDA9PT1TP3ZvaWQgMDpTLnRleHRfdHJhbnNmb3JtKXx8Q3QuYnV0dG9uLnN0eWxlLnRleHRUcmFuc2Zvcm0sdGV4dFNoYWRvdzoobnVsbD09PShaPXQub3B0aW9ucyl8fHZvaWQgMD09PVp8fG51bGw9PT0oTD1aLmZvbnQpfHx2b2lkIDA9PT1MP3ZvaWQgMDpMLnRleHRfc2hhZG93KXx8Q3QuYnV0dG9uLnN0eWxlLnRleHRTaGFkb3d9LGJveE1vZGVsOnt3aWR0aDoiYXV0byIsaGVpZ2h0OiJhdXRvIixtYXJnaW46e3RvcDoobnVsbD09PShSPXQub3B0aW9ucyl8fHZvaWQgMD09PVJ8fG51bGw9PT0oVT1SLmxheW91dCl8fHZvaWQgMD09PVV8fG51bGw9PT0oQj1VLmJveF9tb2RlbCl8fHZvaWQgMD09PUJ8fG51bGw9PT0oRj1CLm1hcmdpbil8fHZvaWQgMD09PUY/dm9pZCAwOkYudG9wKXx8Q3QuYnV0dG9uLmJveE1vZGVsLm1hcmdpbi50b3AsYm90dG9tOihudWxsPT09KEQ9dC5vcHRpb25zKXx8dm9pZCAwPT09RHx8bnVsbD09PShXPUQubGF5b3V0KXx8dm9pZCAwPT09V3x8bnVsbD09PShxPVcuYm94X21vZGVsKXx8dm9pZCAwPT09cXx8bnVsbD09PShIPXEubWFyZ2luKXx8dm9pZCAwPT09SD92b2lkIDA6SC5ib3R0b20pfHxDdC5idXR0b24uYm94TW9kZWwubWFyZ2luLmJvdHRvbSxsZWZ0OihudWxsPT09KFk9dC5vcHRpb25zKXx8dm9pZCAwPT09WXx8bnVsbD09PShOPVkubGF5b3V0KXx8dm9pZCAwPT09Tnx8bnVsbD09PShYPU4uYm94X21vZGVsKXx8dm9pZCAwPT09WHx8bnVsbD09PShLPVgubWFyZ2luKXx8dm9pZCAwPT09Sz92b2lkIDA6Sy5sZWZ0KXx8Q3QuYnV0dG9uLmJveE1vZGVsLm1hcmdpbi5sZWZ0LHJpZ2h0OihudWxsPT09KFY9dC5vcHRpb25zKXx8dm9pZCAwPT09Vnx8bnVsbD09PSgkPVYubGF5b3V0KXx8dm9pZCAwPT09JHx8bnVsbD09PShHPSQuYm94X21vZGVsKXx8dm9pZCAwPT09R3x8bnVsbD09PShKPUcubWFyZ2luKXx8dm9pZCAwPT09Sj92b2lkIDA6Si5yaWdodCl8fEN0LmJ1dHRvbi5ib3hNb2RlbC5tYXJnaW4ucmlnaHR9LHBhZGRpbmc6e3RvcDoobnVsbD09PShRPXQub3B0aW9ucyl8fHZvaWQgMD09PVF8fG51bGw9PT0odHQ9US5sYXlvdXQpfHx2b2lkIDA9PT10dHx8bnVsbD09PShldD10dC5ib3hfbW9kZWwpfHx2b2lkIDA9PT1ldHx8bnVsbD09PShudD1ldC5wYWRkaW5nKXx8dm9pZCAwPT09bnQ/dm9pZCAwOm50LnRvcCl8fEN0LmJ1dHRvbi5ib3hNb2RlbC5wYWRkaW5nLnRvcCxib3R0b206KG51bGw9PT0ob3Q9dC5vcHRpb25zKXx8dm9pZCAwPT09b3R8fG51bGw9PT0oaXQ9b3QubGF5b3V0KXx8dm9pZCAwPT09aXR8fG51bGw9PT0ocnQ9aXQuYm94X21vZGVsKXx8dm9pZCAwPT09cnR8fG51bGw9PT0oYXQ9cnQucGFkZGluZyl8fHZvaWQgMD09PWF0P3ZvaWQgMDphdC5ib3R0b20pfHxDdC5idXR0b24uYm94TW9kZWwucGFkZGluZy5ib3R0b20sbGVmdDoobnVsbD09PShzdD10Lm9wdGlvbnMpfHx2b2lkIDA9PT1zdHx8bnVsbD09PShjdD1zdC5sYXlvdXQpfHx2b2lkIDA9PT1jdHx8bnVsbD09PShsdD1jdC5ib3hfbW9kZWwpfHx2b2lkIDA9PT1sdHx8bnVsbD09PSh1dD1sdC5wYWRkaW5nKXx8dm9pZCAwPT09dXQ/dm9pZCAwOnV0LmxlZnQpfHxDdC5idXR0b24uYm94TW9kZWwucGFkZGluZy5sZWZ0LHJpZ2h0OihudWxsPT09KHB0PXQub3B0aW9ucyl8fHZvaWQgMD09PXB0fHxudWxsPT09KGR0PXB0LmxheW91dCl8fHZvaWQgMD09PWR0fHxudWxsPT09KGh0PWR0LmJveF9tb2RlbCl8fHZvaWQgMD09PWh0fHxudWxsPT09KG10PWh0LnBhZGRpbmcpfHx2b2lkIDA9PT1tdD92b2lkIDA6bXQucmlnaHQpfHxDdC5idXR0b24uYm94TW9kZWwucGFkZGluZy5yaWdodH19fTtyZXR1cm4gMT09PWZ0Lm5ld1RhYiYmKGZ0Lm5ld1RhYj0hMCksMD09PWZ0Lm5ld1RhYiYmKGZ0Lm5ld1RhYj0hMSksZnR9ZnVuY3Rpb24ga2UodCl7dmFyIGUsbixvLGkscixhLHMsYyxsLHUscCxkLGgsbSxmLGcsYix2LHksXyx3LHgsayxqLE0sSSxDLEUsTyxBLFAsVCx6LFMsWixMLFIsVSxCLEYsRCxXLHEsSCxZLE4sWCxLLFYsJCxHLEo7cmV0dXJue3R5cGU6IlZpZGVvIixsaW5rVXJsOihudWxsPT09KGU9dC5vcHRpb25zKXx8dm9pZCAwPT09ZXx8bnVsbD09PShuPWUudmlkZW8pfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmxpbmtfdG8pfHxDdC52aWRlby5saW5rVXJsLHNyYzp7bXA0OihudWxsPT09KG89dC5vcHRpb25zKXx8dm9pZCAwPT09b3x8bnVsbD09PShpPW8udmlkZW8pfHx2b2lkIDA9PT1pP3ZvaWQgMDppLm1wNF91cmwpfHxDdC52aWRlby5zcmMubXA0LG9ndjoobnVsbD09PShyPXQub3B0aW9ucyl8fHZvaWQgMD09PXJ8fG51bGw9PT0oYT1yLnZpZGVvKXx8dm9pZCAwPT09YT92b2lkIDA6YS5vZ3ZfdXJsKXx8Q3QudmlkZW8uc3JjLm9ndix3ZWJtOihudWxsPT09KHM9dC5vcHRpb25zKXx8dm9pZCAwPT09c3x8bnVsbD09PShjPXMudmlkZW8pfHx2b2lkIDA9PT1jP3ZvaWQgMDpjLndlYm1fdXJsKXx8Q3QudmlkZW8uc3JjLndlYm19LGF1dG9wbGF5OihudWxsPT09KGw9dC5vcHRpb25zKXx8dm9pZCAwPT09bHx8bnVsbD09PSh1PWwudmlkZW8pfHx2b2lkIDA9PT11P3ZvaWQgMDp1LmF1dG9wbGF5KXx8Q3QudmlkZW8uYXV0b3BsYXksbG9vcDoobnVsbD09PShwPXQub3B0aW9ucyl8fHZvaWQgMD09PXB8fG51bGw9PT0oZD1wLnZpZGVvKXx8dm9pZCAwPT09ZD92b2lkIDA6ZC5sb29wKXx8Q3QudmlkZW8ubG9vcCxjb250cm9sczoobnVsbD09PShoPXQub3B0aW9ucyl8fHZvaWQgMD09PWh8fG51bGw9PT0obT1oLnZpZGVvKXx8dm9pZCAwPT09bT92b2lkIDA6bS5jb250cm9scyl8fEN0LnZpZGVvLmNvbnRyb2xzLG90aGVyOntpZDoobnVsbD09PShmPXQub3B0aW9ucyl8fHZvaWQgMD09PWZ8fG51bGw9PT0oZz1mLmdlbmVyYWwpfHx2b2lkIDA9PT1nP3ZvaWQgMDpnLmlkKXx8Q3QudmlkZW8ub3RoZXIuaWQsY2xhc3NlczoobnVsbD09PShiPXQub3B0aW9ucyl8fHZvaWQgMD09PWJ8fG51bGw9PT0odj1iLmdlbmVyYWwpfHx2b2lkIDA9PT12P3ZvaWQgMDp2LmNsYXNzZXMpfHxDdC52aWRlby5vdGhlci5jbGFzc2VzLGNzczoobnVsbD09PSh5PXQub3B0aW9ucyl8fHZvaWQgMD09PXl8fG51bGw9PT0oXz15LmdlbmVyYWwpfHx2b2lkIDA9PT1fP3ZvaWQgMDpfLmNzcyl8fEN0LnZpZGVvLm90aGVyLmNzc30sYm94TW9kZWw6e3dpZHRoOiJhdXRvIixoZWlnaHQ6ImF1dG8iLG1hcmdpbjp7dG9wOihudWxsPT09KHc9dC5vcHRpb25zKXx8dm9pZCAwPT09d3x8bnVsbD09PSh4PXcubGF5b3V0KXx8dm9pZCAwPT09eHx8bnVsbD09PShrPXguYm94X21vZGVsKXx8dm9pZCAwPT09a3x8bnVsbD09PShqPWsubWFyZ2luKXx8dm9pZCAwPT09aj92b2lkIDA6ai50b3ApfHxDdC52aWRlby5ib3hNb2RlbC5tYXJnaW4udG9wLGJvdHRvbToobnVsbD09PShNPXQub3B0aW9ucyl8fHZvaWQgMD09PU18fG51bGw9PT0oST1NLmxheW91dCl8fHZvaWQgMD09PUl8fG51bGw9PT0oQz1JLmJveF9tb2RlbCl8fHZvaWQgMD09PUN8fG51bGw9PT0oRT1DLm1hcmdpbil8fHZvaWQgMD09PUU/dm9pZCAwOkUuYm90dG9tKXx8Q3QudmlkZW8uYm94TW9kZWwubWFyZ2luLmJvdHRvbSxsZWZ0OihudWxsPT09KE89dC5vcHRpb25zKXx8dm9pZCAwPT09T3x8bnVsbD09PShBPU8ubGF5b3V0KXx8dm9pZCAwPT09QXx8bnVsbD09PShQPUEuYm94X21vZGVsKXx8dm9pZCAwPT09UHx8bnVsbD09PShUPVAubWFyZ2luKXx8dm9pZCAwPT09VD92b2lkIDA6VC5sZWZ0KXx8Q3QudmlkZW8uYm94TW9kZWwubWFyZ2luLmxlZnQscmlnaHQ6KG51bGw9PT0oej10Lm9wdGlvbnMpfHx2b2lkIDA9PT16fHxudWxsPT09KFM9ei5sYXlvdXQpfHx2b2lkIDA9PT1TfHxudWxsPT09KFo9Uy5ib3hfbW9kZWwpfHx2b2lkIDA9PT1afHxudWxsPT09KEw9Wi5tYXJnaW4pfHx2b2lkIDA9PT1MP3ZvaWQgMDpMLnJpZ2h0KXx8Q3QudmlkZW8uYm94TW9kZWwubWFyZ2luLnJpZ2h0fSxwYWRkaW5nOnt0b3A6KG51bGw9PT0oUj10Lm9wdGlvbnMpfHx2b2lkIDA9PT1SfHxudWxsPT09KFU9Ui5sYXlvdXQpfHx2b2lkIDA9PT1VfHxudWxsPT09KEI9VS5ib3hfbW9kZWwpfHx2b2lkIDA9PT1CfHxudWxsPT09KEY9Qi5wYWRkaW5nKXx8dm9pZCAwPT09Rj92b2lkIDA6Ri50b3ApfHxDdC52aWRlby5ib3hNb2RlbC5wYWRkaW5nLnRvcCxib3R0b206KG51bGw9PT0oRD10Lm9wdGlvbnMpfHx2b2lkIDA9PT1EfHxudWxsPT09KFc9RC5sYXlvdXQpfHx2b2lkIDA9PT1XfHxudWxsPT09KHE9Vy5ib3hfbW9kZWwpfHx2b2lkIDA9PT1xfHxudWxsPT09KEg9cS5wYWRkaW5nKXx8dm9pZCAwPT09SD92b2lkIDA6SC5ib3R0b20pfHxDdC52aWRlby5ib3hNb2RlbC5wYWRkaW5nLmJvdHRvbSxsZWZ0OihudWxsPT09KFk9dC5vcHRpb25zKXx8dm9pZCAwPT09WXx8bnVsbD09PShOPVkubGF5b3V0KXx8dm9pZCAwPT09Tnx8bnVsbD09PShYPU4uYm94X21vZGVsKXx8dm9pZCAwPT09WHx8bnVsbD09PShLPVgucGFkZGluZyl8fHZvaWQgMD09PUs/dm9pZCAwOksubGVmdCl8fEN0LnZpZGVvLmJveE1vZGVsLnBhZGRpbmcubGVmdCxyaWdodDoobnVsbD09PShWPXQub3B0aW9ucyl8fHZvaWQgMD09PVZ8fG51bGw9PT0oJD1WLmxheW91dCl8fHZvaWQgMD09PSR8fG51bGw9PT0oRz0kLmJveF9tb2RlbCl8fHZvaWQgMD09PUd8fG51bGw9PT0oSj1HLnBhZGRpbmcpfHx2b2lkIDA9PT1KP3ZvaWQgMDpKLnJpZ2h0KXx8Q3QudmlkZW8uYm94TW9kZWwucGFkZGluZy5yaWdodH19fX1mdW5jdGlvbiBqZSh0KXt2YXIgZSxuLG8saSxyLGEscyxjLGwsdSxwLGQsaCxtLGYsZyxiLHYseSxfLHcseCxrLGosTSxJLEMsRSxPLEEsUCxULHosUyxaLEwsUixVLEIsRixELFcscT1DdC55b3V0dWJlLmJveE1vZGVsLndpZHRoOzA9PT0obnVsbD09PShlPXQub3B0aW9ucyl8fHZvaWQgMD09PWV8fG51bGw9PT0obj1lLnlvdXR1YmUpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmlmcmFtZV9hdXRvX3dpZHRoKSYmKHE9KG51bGw9PT0oRD10Lm9wdGlvbnMpfHx2b2lkIDA9PT1EfHxudWxsPT09KFc9RC55b3V0dWJlKXx8dm9pZCAwPT09Vz92b2lkIDA6Vy5pZnJhbWVfd2lkdGgpfHxDdC55b3V0dWJlLmJveE1vZGVsLndpZHRoKTt2YXIgSD17dHlwZToiWW91VHViZSIsZW1iZWRDb2RlOihudWxsPT09KG89dC5vcHRpb25zKXx8dm9pZCAwPT09b3x8bnVsbD09PShpPW8ueW91dHViZSl8fHZvaWQgMD09PWk/dm9pZCAwOmkuZW1iZWRfY29kZSl8fEN0LnlvdXR1YmUuZW1iZWRDb2RlLGFsbG93RnVsbHNjcmVlbjoobnVsbD09PShyPXQub3B0aW9ucyl8fHZvaWQgMD09PXJ8fG51bGw9PT0oYT1yLnlvdXR1YmUpfHx2b2lkIDA9PT1hP3ZvaWQgMDphLmFsbG93X2Z1bGxzY3JlZW4pfHxDdC55b3V0dWJlLmFsbG93RnVsbHNjcmVlbixvdGhlcjp7aWQ6IiIsY2xhc3NlczoiIixjc3M6IiJ9LHN0eWxlOnt9LGJveE1vZGVsOnt3aWR0aDpxLGhlaWdodDoobnVsbD09PShzPXQub3B0aW9ucyl8fHZvaWQgMD09PXN8fG51bGw9PT0oYz1zLnlvdXR1YmUpfHx2b2lkIDA9PT1jP3ZvaWQgMDpjLmlmcmFtZV9oZWlnaHQpfHxDdC55b3V0dWJlLmJveE1vZGVsLmhlaWdodCxtYXJnaW46e3RvcDoobnVsbD09PShsPXQub3B0aW9ucyl8fHZvaWQgMD09PWx8fG51bGw9PT0odT1sLmxheW91dCl8fHZvaWQgMD09PXV8fG51bGw9PT0ocD11LmJveF9tb2RlbCl8fHZvaWQgMD09PXB8fG51bGw9PT0oZD1wLm1hcmdpbil8fHZvaWQgMD09PWQ/dm9pZCAwOmQudG9wKXx8Q3QueW91dHViZS5ib3hNb2RlbC5tYXJnaW4udG9wLGJvdHRvbToobnVsbD09PShoPXQub3B0aW9ucyl8fHZvaWQgMD09PWh8fG51bGw9PT0obT1oLmxheW91dCl8fHZvaWQgMD09PW18fG51bGw9PT0oZj1tLmJveF9tb2RlbCl8fHZvaWQgMD09PWZ8fG51bGw9PT0oZz1mLm1hcmdpbil8fHZvaWQgMD09PWc/dm9pZCAwOmcuYm90dG9tKXx8Q3QueW91dHViZS5ib3hNb2RlbC5tYXJnaW4uYm90dG9tLGxlZnQ6KG51bGw9PT0oYj10Lm9wdGlvbnMpfHx2b2lkIDA9PT1ifHxudWxsPT09KHY9Yi5sYXlvdXQpfHx2b2lkIDA9PT12fHxudWxsPT09KHk9di5ib3hfbW9kZWwpfHx2b2lkIDA9PT15fHxudWxsPT09KF89eS5tYXJnaW4pfHx2b2lkIDA9PT1fP3ZvaWQgMDpfLmxlZnQpfHxDdC55b3V0dWJlLmJveE1vZGVsLm1hcmdpbi5sZWZ0LHJpZ2h0OihudWxsPT09KHc9dC5vcHRpb25zKXx8dm9pZCAwPT09d3x8bnVsbD09PSh4PXcubGF5b3V0KXx8dm9pZCAwPT09eHx8bnVsbD09PShrPXguYm94X21vZGVsKXx8dm9pZCAwPT09a3x8bnVsbD09PShqPWsubWFyZ2luKXx8dm9pZCAwPT09aj92b2lkIDA6ai5yaWdodCl8fEN0LnlvdXR1YmUuYm94TW9kZWwubWFyZ2luLnJpZ2h0fSxwYWRkaW5nOnt0b3A6KG51bGw9PT0oTT10Lm9wdGlvbnMpfHx2b2lkIDA9PT1NfHxudWxsPT09KEk9TS5sYXlvdXQpfHx2b2lkIDA9PT1JfHxudWxsPT09KEM9SS5ib3hfbW9kZWwpfHx2b2lkIDA9PT1DfHxudWxsPT09KEU9Qy5wYWRkaW5nKXx8dm9pZCAwPT09RT92b2lkIDA6RS50b3ApfHxDdC55b3V0dWJlLmJveE1vZGVsLnBhZGRpbmcudG9wLGJvdHRvbToobnVsbD09PShPPXQub3B0aW9ucyl8fHZvaWQgMD09PU98fG51bGw9PT0oQT1PLmxheW91dCl8fHZvaWQgMD09PUF8fG51bGw9PT0oUD1BLmJveF9tb2RlbCl8fHZvaWQgMD09PVB8fG51bGw9PT0oVD1QLnBhZGRpbmcpfHx2b2lkIDA9PT1UP3ZvaWQgMDpULmJvdHRvbSl8fEN0LnlvdXR1YmUuYm94TW9kZWwucGFkZGluZy5ib3R0b20sbGVmdDoobnVsbD09PSh6PXQub3B0aW9ucyl8fHZvaWQgMD09PXp8fG51bGw9PT0oUz16LmxheW91dCl8fHZvaWQgMD09PVN8fG51bGw9PT0oWj1TLmJveF9tb2RlbCl8fHZvaWQgMD09PVp8fG51bGw9PT0oTD1aLnBhZGRpbmcpfHx2b2lkIDA9PT1MP3ZvaWQgMDpMLmxlZnQpfHxDdC55b3V0dWJlLmJveE1vZGVsLnBhZGRpbmcubGVmdCxyaWdodDoobnVsbD09PShSPXQub3B0aW9ucyl8fHZvaWQgMD09PVJ8fG51bGw9PT0oVT1SLmxheW91dCl8fHZvaWQgMD09PVV8fG51bGw9PT0oQj1VLmJveF9tb2RlbCl8fHZvaWQgMD09PUJ8fG51bGw9PT0oRj1CLnBhZGRpbmcpfHx2b2lkIDA9PT1GP3ZvaWQgMDpGLnJpZ2h0KXx8Q3QueW91dHViZS5ib3hNb2RlbC5wYWRkaW5nLnJpZ2h0fX19O3JldHVybiAxPT09SC5hbGxvd0Z1bGxzY3JlZW4mJihILmFsbG93RnVsbHNjcmVlbj0hMCksMD09PUguYWxsb3dGdWxsc2NyZWVuJiYoSC5hbGxvd0Z1bGxzY3JlZW49ITEpLEh9ZnVuY3Rpb24gTWUodCxlKXt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmdFtTeW1ib2wuaXRlcmF0b3JdfHx0WyJAQGl0ZXJhdG9yIl07aWYoIW4pe2lmKEFycmF5LmlzQXJyYXkodCl8fChuPWZ1bmN0aW9uKHQsZSl7aWYodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBJZSh0LGUpO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PW4mJnQuY29uc3RydWN0b3ImJihuPXQuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1ufHwiU2V0Ij09PW4/QXJyYXkuZnJvbSh0KToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP0llKHQsZSk6dm9pZCAwfX0odCkpfHxlJiZ0JiYibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXtuJiYodD1uKTt2YXIgbz0wLGk9ZnVuY3Rpb24oKXt9O3JldHVybntzOmksbjpmdW5jdGlvbigpe3JldHVybiBvPj10Lmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6dFtvKytdfX0sZTpmdW5jdGlvbih0KXt0aHJvdyB0fSxmOml9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgcixhPSEwLHM9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtuPW4uY2FsbCh0KX0sbjpmdW5jdGlvbigpe3ZhciB0PW4ubmV4dCgpO3JldHVybiBhPXQuZG9uZSx0fSxlOmZ1bmN0aW9uKHQpe3M9ITAscj10fSxmOmZ1bmN0aW9uKCl7dHJ5e2F8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyByfX19fWZ1bmN0aW9uIEllKHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciBuPTAsbz1uZXcgQXJyYXkoZSk7bjxlO24rKylvW25dPXRbbl07cmV0dXJuIG99dmFyIENlPWZ1bmN0aW9uKHQpe3ZhciBlLG4sbyxpPWZ1bmN0aW9uKHQpe3JldHVybntpZDp0LmlkLGdlbmVyYWw6e25hbWU6dC5nZW5lcmFsLm5hbWUsc2hvcnRjb2RlOnQuZ2VuZXJhbC5zaG9ydGNvZGUscmVzcG9uc2l2ZTpUZSh0LmdlbmVyYWwucmVzcG9uc2l2ZSl9LGZ1bGxzY3JlZW46e2VuYWJsZV9mdWxsc2NyZWVuX21vZGU6VGUodC5nZW5lcmFsLnJlc3BvbnNpdmUpLHN0YXJ0X2luX2Z1bGxzY3JlZW5fbW9kZTpUZSh0LmdlbmVyYWwuc3RhcnRfaW5fZnVsbHNjcmVlbl9tb2RlKX0sb2JqZWN0Q29uZmlnOntwYWdlbG9hZF9hbmltYXRpb246dC5zaGFwZXMucGFnZWxvYWRfYW5pbWF0aW9uLGdsb3dpbmdfb2JqZWN0czp0LnNoYXBlcy5nbG93aW5nX3NoYXBlcyxnbG93aW5nX29iamVjdHNfY29sb3I6dC5zaGFwZXMuZ2xvd2luZ19zaGFwZXNfY29sb3IsZ2xvd19vcGFjaXR5OnQuc2hhcGVzLmdsb3dfb3BhY2l0eSxzdG9wX2dsb3dpbmdfb25fbW91c2VvdmVyOnQuc2hhcGVzLnN0b3BfZ2xvd2luZ19vbl9tb3VzZW92ZXIsc2NhbGVfc3BvdHM6RXQub2JqZWN0Q29uZmlnLnNjYWxlX3Nwb3RzfSx0b29sdGlwczp7ZW5hYmxlX3Rvb2x0aXBzOlRlKHQudG9vbHRpcHMuZW5hYmxlX3Rvb2x0aXBzKSxzaG93X3Rvb2x0aXBzOnQudG9vbHRpcHMuc2hvd190b29sdGlwcyxzdGlja3lfdG9vbHRpcHM6VGUodC50b29sdGlwcy5zdGlja3lfdG9vbHRpcHMpLGNvbnN0cmFpbl90b29sdGlwczpUZSh0LnRvb2x0aXBzLmNvbnN0cmFpbl90b29sdGlwcyksdG9vbHRpcF9hbmltYXRpb246dC50b29sdGlwcy50b29sdGlwX2FuaW1hdGlvbixmdWxsc2NyZWVuX3Rvb2x0aXBzOnQudG9vbHRpcHMuZnVsbHNjcmVlbl90b29sdGlwcyxmdWxsc2NyZWVuX2JhY2tncm91bmQ6RXQudG9vbHRpcHMuZnVsbHNjcmVlbl9iYWNrZ3JvdW5kLGZ1bGxzY3JlZW5fYmFja2dyb3VuZF9vcGFjaXR5OkV0LnRvb2x0aXBzLmZ1bGxzY3JlZW5fYmFja2dyb3VuZF9vcGFjaXR5fSx6b29taW5nOntlbmFibGVfem9vbWluZzpUZSh0Lnpvb21pbmcuZW5hYmxlX3pvb21pbmcpLG1heF96b29tOnQuem9vbWluZy5tYXhfem9vbSxsaW1pdF9tYXhfem9vbV90b19pbWFnZV9zaXplOlRlKHQuem9vbWluZy5saW1pdF9tYXhfem9vbV90b19pbWFnZV9zaXplKSxlbmFibGVfem9vbV9idXR0b25zOlRlKHQuem9vbWluZy5lbmFibGVfem9vbV9idXR0b25zKSxlbmFibGVfbmF2aWdhdG9yOlRlKHQuem9vbWluZy5lbmFibGVfbmF2aWdhdG9yKSxob2xkX2N0cmxfdG9fem9vbTpUZSh0Lnpvb21pbmcuaG9sZF9jdHJsX3RvX3pvb20pLHpvb21fb25fb2JqZWN0X2NsaWNrOlRlKHQuem9vbWluZy5mb2N1c19zaGFwZV9vbl9jbGljayl9LG9iamVjdF9saXN0OntlbmFibGVfb2JqZWN0X2xpc3Q6VGUodC5zaGFwZXNfbWVudS5lbmFibGVfc2hhcGVzX21lbnUpLGRldGFjaGVkX21lbnU6VGUodC5zaGFwZXNfbWVudS5kZXRhY2hlZF9tZW51KSxtZW51X3Bvc2l0aW9uOnQuc2hhcGVzX21lbnUubWVudV9wb3NpdGlvbixlbmFibGVfc2VhcmNoOlRlKHQuc2hhcGVzX21lbnUuZW5hYmxlX3NlYXJjaCksZ3JvdXBfYnlfYXJ0Ym9hcmQ6VGUodC5zaGFwZXNfbWVudS5ncm91cF9ieV9mbG9vciksc2hvd19vbmx5X29iamVjdHNfZnJvbV9hY3RpdmVfYXJ0Ym9hcmQ6RXQub2JqZWN0X2xpc3Quc2hvd19vbmx5X29iamVjdHNfZnJvbV9hY3RpdmVfYXJ0Ym9hcmR9LGN1c3RvbV9jb2RlOntjdXN0b21fY3NzOnQuY3VzdG9tX2NvZGUuY3VzdG9tX2NzcyxjdXN0b21fanM6dC5jdXN0b21fY29kZS5jdXN0b21fanN9LGRlZmF1bHRzOntvYmplY3REZWZhdWx0czp7fX0sYXJ0Ym9hcmRzOltdfX0odD1tLlpCKHt9LHplLHQpKSxyPVtdLGE9e307aWYodC5zcG90cz10LnNwb3RzLnJldmVyc2UoKSwobnVsbD09PShlPXQuc3BvdHMpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLmxlbmd0aCk+MCl7Zm9yKHZhciBzIGluIHQuc3BvdHMpdC5zcG90c1tzXT1tLlpCKHt9LFNlLHQuc3BvdHNbc10pO3ZhciBjLGwsdT1NZSh0LnNwb3RzKTt0cnl7Zm9yKHUucygpOyEoYz11Lm4oKSkuZG9uZTspe3ZhciBwPWMudmFsdWU7ci5wdXNoKEVlKHAsdCkpLGFbcC5pZF09cC5sYXllcklEKyIifX1jYXRjaCh0KXt1LmUodCl9ZmluYWxseXt1LmYoKX12YXIgZCxoPU1lKHQuc3BvdHMpO3RyeXtmb3IoaC5zKCk7IShkPWgubigpKS5kb25lOyl7dmFyIGY9ZC52YWx1ZTtmLmNvbm5lY3RlZF90byYmKGx8fChsPXt9KSxsW2YuY29ubmVjdGVkX3RvXXx8KGxbZi5jb25uZWN0ZWRfdG9dPVtmLmNvbm5lY3RlZF90b10pLGxbZi5jb25uZWN0ZWRfdG9dLnB1c2goZi5pZCkpfX1jYXRjaCh0KXtoLmUodCl9ZmluYWxseXtoLmYoKX1pZihsKXt2YXIgZz17fSxiPWZ1bmN0aW9uKGUpe3ZhciBuPW0uWkIoe30sSXQpO24uaWQ9bS5rJCgpLG4udHlwZT1qdC5XVyxuLnRpdGxlPXQuc3BvdHMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZD09PWV9KSlbMF0udGl0bGUsbi50b29sdGlwX3N0eWxlPXQuc3BvdHMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZD09PWV9KSlbMF0udG9vbHRpcF9zdHlsZSxuLnRvb2x0aXBfY29udGVudD12ZSh0LnNwb3RzLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWQ9PT1lfSkpWzBdLnRvb2x0aXBfY29udGVudCksbi5zaW5nbGVfb2JqZWN0PSEwLGFbbi5pZF09dC5zcG90cy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09ZX0pKVswXS5sYXllcklEKyIiLG4uY2hpbGRyZW49ci5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBsW2VdLmluY2x1ZGVzKHQuaWQpfSkpLGdbZV09bn07Zm9yKHZhciB2IGluIGwpYih2KTt2YXIgeSxfPVtdLHc9TWUodC5zcG90cyk7dHJ5e3ZhciB4PWZ1bmN0aW9uKCl7dmFyIHQ9eS52YWx1ZTtyZXR1cm4gdC5jb25uZWN0ZWRfdG8/ImNvbnRpbnVlIjpnW3QuaWRdPyhfLnB1c2goZ1t0LmlkXSksImNvbnRpbnVlIik6dm9pZCBfLnB1c2goci5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlkPT09dC5pZH0pKVswXSl9O2Zvcih3LnMoKTshKHk9dy5uKCkpLmRvbmU7KXgoKX1jYXRjaCh0KXt3LmUodCl9ZmluYWxseXt3LmYoKX1yPV99fWlmKChudWxsPT09KG49dC5sYXllcnMpfHx2b2lkIDA9PT1ufHxudWxsPT09KG89bi5sYXllcnNfbGlzdCl8fHZvaWQgMD09PW8/dm9pZCAwOm8ubGVuZ3RoKT4wKXt2YXIgaztpLmFydGJvYXJkcz1bXTt2YXIgaixNPU1lKG51bGw9PT0oaz10LmxheWVycyl8fHZvaWQgMD09PWs/dm9pZCAwOmsubGF5ZXJzX2xpc3QpO3RyeXt2YXIgST1mdW5jdGlvbigpe3ZhciB0PWoudmFsdWUsZT1tLlpCKHt9LE10KTtlLmlkPW0uayQoKSxlLnRpdGxlPXQudGl0bGUsZS5pbWFnZV91cmw9dC5pbWFnZV91cmwsZS53aWR0aD10LmltYWdlX3dpZHRoLGUuaGVpZ2h0PXQuaW1hZ2VfaGVpZ2h0LGUuaW1hZ2VfdXJsP2UuYmFja2dyb3VuZF90eXBlPSJpbWFnZSI6ZS5iYWNrZ3JvdW5kX3R5cGU9ImNvbG9yIixlLmNoaWxkcmVuPXIuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gYVtlLmlkXT09PXQuaWQrIiJ9KSksaS5hcnRib2FyZHMucHVzaChlKX07Zm9yKE0ucygpOyEoaj1NLm4oKSkuZG9uZTspSSgpfWNhdGNoKHQpe00uZSh0KX1maW5hbGx5e00uZigpfX1lbHNlIGkuYXJ0Ym9hcmRzPVttLlpCKHt9LE10KV0saS5hcnRib2FyZHNbMF0uaWQ9bS5rJCgpLGkuYXJ0Ym9hcmRzWzBdLnRpdGxlPXQuZ2VuZXJhbC5uYW1lLGkuYXJ0Ym9hcmRzWzBdLndpZHRoPXQuZ2VuZXJhbC53aWR0aHx8aS5hcnRib2FyZHNbMF0ud2lkdGgsaS5hcnRib2FyZHNbMF0uaGVpZ2h0PXQuZ2VuZXJhbC5oZWlnaHR8fGkuYXJ0Ym9hcmRzWzBdLmhlaWdodCxpLmFydGJvYXJkc1swXS5iYWNrZ3JvdW5kX3R5cGU9ImltYWdlIixpLmFydGJvYXJkc1swXS5pbWFnZV91cmw9dC5pbWFnZS51cmwsaS5hcnRib2FyZHNbMF0uY2hpbGRyZW49cjtyZXR1cm4gaS5hcnRib2FyZHMuZm9yRWFjaCgoZnVuY3Rpb24odCl7UGUodC5jaGlsZHJlbil9KSksaX07ZnVuY3Rpb24gRWUodCxlKXt2YXIgbixvLGk9dCxyPXtpZDppLmlkLHRpdGxlOmkudGl0bGUsdHlwZTppLnR5cGUseDppLngseTppLnksd2lkdGg6aS53aWR0aCxoZWlnaHQ6aS5oZWlnaHQsc3RhdGljOlRlKGkuc3RhdGljKSxjaGlsZHJlbjpbXSxncm91cF9zZXR0aW5nczp7c2luZ2xlX29iamVjdDohMX0sZGVmYXVsdF9zdHlsZTp7b3BhY2l0eTppLmRlZmF1bHRfc3R5bGUub3BhY2l0eSxiYWNrZ3JvdW5kX3R5cGU6aS5kZWZhdWx0X3N0eWxlLmJhY2tncm91bmRfdHlwZSxiYWNrZ3JvdW5kX2NvbG9yOmkuZGVmYXVsdF9zdHlsZS5iYWNrZ3JvdW5kX2NvbG9yLGJhY2tncm91bmRfb3BhY2l0eTppLmRlZmF1bHRfc3R5bGUuYmFja2dyb3VuZF9vcGFjaXR5LGJvcmRlcl9yYWRpdXM6aS5kZWZhdWx0X3N0eWxlLmJvcmRlcl9yYWRpdXMsYm9yZGVyX3dpZHRoOmkuZGVmYXVsdF9zdHlsZS5ib3JkZXJfd2lkdGgsYm9yZGVyX3N0eWxlOmkuZGVmYXVsdF9zdHlsZS5ib3JkZXJfc3R5bGUsYm9yZGVyX2NvbG9yOmkuZGVmYXVsdF9zdHlsZS5ib3JkZXJfY29sb3IsYm9yZGVyX29wYWNpdHk6aS5kZWZhdWx0X3N0eWxlLmJvcmRlcl9vcGFjaXR5LGJhY2tncm91bmRfaW1hZ2VfdXJsOmkuZGVmYXVsdF9zdHlsZS5iYWNrZ3JvdW5kX2ltYWdlX3VybCxiYWNrZ3JvdW5kX2ltYWdlX29wYWNpdHk6aS5kZWZhdWx0X3N0eWxlLmJhY2tncm91bmRfaW1hZ2Vfb3BhY2l0eSxiYWNrZ3JvdW5kX2ltYWdlX3NjYWxlOmkuZGVmYXVsdF9zdHlsZS5iYWNrZ3JvdW5kX2ltYWdlX3NjYWxlLGJhY2tncm91bmRfaW1hZ2Vfb2Zmc2V0X3g6aS5kZWZhdWx0X3N0eWxlLmJhY2tncm91bmRfaW1hZ2Vfb2Zmc2V0X3gsYmFja2dyb3VuZF9pbWFnZV9vZmZzZXRfeTppLmRlZmF1bHRfc3R5bGUuYmFja2dyb3VuZF9pbWFnZV9vZmZzZXRfeSxzdHJva2VfY29sb3I6aS5kZWZhdWx0X3N0eWxlLnN0cm9rZV9jb2xvcixzdHJva2Vfb3BhY2l0eTppLmRlZmF1bHRfc3R5bGUuc3Ryb2tlX29wYWNpdHksc3Ryb2tlX3dpZHRoOmkuZGVmYXVsdF9zdHlsZS5zdHJva2Vfd2lkdGgsc3Ryb2tlX2Rhc2hhcnJheTppLmRlZmF1bHRfc3R5bGUuc3Ryb2tlX2Rhc2hhcnJheSxzdHJva2VfbGluZWNhcDppLmRlZmF1bHRfc3R5bGUuc3Ryb2tlX2xpbmVjYXAsdXNlX2ljb246VGUoaS5kZWZhdWx0X3N0eWxlLnVzZV9pY29uKSxpY29uX3NpemU6aS5oZWlnaHQsaWNvbl90eXBlOmkuZGVmYXVsdF9zdHlsZS5pY29uX3R5cGUsaWNvbl9mb250YXdlc29tZV9pZDppLmRlZmF1bHRfc3R5bGUuaWNvbl9mb250YXdlc29tZV9pZCxpY29uX3N2ZzpJdC5kZWZhdWx0X3N0eWxlLmljb25fc3ZnLGljb25fZmlsbDppLmRlZmF1bHRfc3R5bGUuaWNvbl9maWxsLGljb25fdXJsOmkuZGVmYXVsdF9zdHlsZS5pY29uX3VybCxpY29uX2lzX3BpbjpUZShpLmRlZmF1bHRfc3R5bGUuaWNvbl9pc19waW4pLGljb25fc2hhZG93OlRlKGkuZGVmYXVsdF9zdHlsZS5pY29uX3NoYWRvdyksZmlsdGVyczpbXX0sbW91c2VvdmVyX3N0eWxlOntvcGFjaXR5OmkubW91c2VvdmVyX3N0eWxlLm9wYWNpdHksYmFja2dyb3VuZF9jb2xvcjppLm1vdXNlb3Zlcl9zdHlsZS5iYWNrZ3JvdW5kX2NvbG9yLGJhY2tncm91bmRfb3BhY2l0eTppLm1vdXNlb3Zlcl9zdHlsZS5iYWNrZ3JvdW5kX29wYWNpdHksYmFja2dyb3VuZF9pbWFnZV91cmw6aS5tb3VzZW92ZXJfc3R5bGUuYmFja2dyb3VuZF9pbWFnZV91cmwsYmFja2dyb3VuZF9pbWFnZV9vcGFjaXR5OmkubW91c2VvdmVyX3N0eWxlLmJhY2tncm91bmRfaW1hZ2Vfb3BhY2l0eSxiYWNrZ3JvdW5kX2ltYWdlX3NjYWxlOmkubW91c2VvdmVyX3N0eWxlLmJhY2tncm91bmRfaW1hZ2Vfc2NhbGUsYmFja2dyb3VuZF9pbWFnZV9vZmZzZXRfeDppLm1vdXNlb3Zlcl9zdHlsZS5iYWNrZ3JvdW5kX2ltYWdlX29mZnNldF94LGJhY2tncm91bmRfaW1hZ2Vfb2Zmc2V0X3k6aS5tb3VzZW92ZXJfc3R5bGUuYmFja2dyb3VuZF9pbWFnZV9vZmZzZXRfeSxib3JkZXJfcmFkaXVzOmkubW91c2VvdmVyX3N0eWxlLmJvcmRlcl9yYWRpdXMsYm9yZGVyX3dpZHRoOmkubW91c2VvdmVyX3N0eWxlLmJvcmRlcl93aWR0aCxib3JkZXJfc3R5bGU6aS5tb3VzZW92ZXJfc3R5bGUuYm9yZGVyX3N0eWxlLGJvcmRlcl9jb2xvcjppLm1vdXNlb3Zlcl9zdHlsZS5ib3JkZXJfY29sb3IsYm9yZGVyX29wYWNpdHk6aS5tb3VzZW92ZXJfc3R5bGUuYm9yZGVyX29wYWNpdHksc3Ryb2tlX2NvbG9yOmkubW91c2VvdmVyX3N0eWxlLnN0cm9rZV9jb2xvcixzdHJva2Vfb3BhY2l0eTppLm1vdXNlb3Zlcl9zdHlsZS5zdHJva2Vfb3BhY2l0eSxzdHJva2Vfd2lkdGg6aS5tb3VzZW92ZXJfc3R5bGUuc3Ryb2tlX3dpZHRoLHN0cm9rZV9kYXNoYXJyYXk6aS5tb3VzZW92ZXJfc3R5bGUuc3Ryb2tlX2Rhc2hhcnJheSxzdHJva2VfbGluZWNhcDppLm1vdXNlb3Zlcl9zdHlsZS5zdHJva2VfbGluZWNhcCxpY29uX2ZpbGw6aS5tb3VzZW92ZXJfc3R5bGUuaWNvbl9maWxsLGZpbHRlcnM6W119LHRvb2x0aXA6e2VuYWJsZV90b29sdGlwOlRlKGkudG9vbHRpcC5lbmFibGVfdG9vbHRpcCl9LHRvb2x0aXBfc3R5bGU6e2JvcmRlcl9yYWRpdXM6aS50b29sdGlwX3N0eWxlLmJvcmRlcl9yYWRpdXMscGFkZGluZzppLnRvb2x0aXBfc3R5bGUucGFkZGluZyxiYWNrZ3JvdW5kX2NvbG9yOmkudG9vbHRpcF9zdHlsZS5iYWNrZ3JvdW5kX2NvbG9yLGJhY2tncm91bmRfb3BhY2l0eTppLnRvb2x0aXBfc3R5bGUuYmFja2dyb3VuZF9vcGFjaXR5LHBvc2l0aW9uOmkudG9vbHRpcF9zdHlsZS5wb3NpdGlvbix3aWR0aDppLnRvb2x0aXBfc3R5bGUud2lkdGgsYXV0b193aWR0aDpUZShpLnRvb2x0aXBfc3R5bGUuYXV0b193aWR0aCksb2Zmc2V0X3g6aS50b29sdGlwX3N0eWxlLm9mZnNldF94LG9mZnNldF95OmkudG9vbHRpcF9zdHlsZS5vZmZzZXRfeX0sdG9vbHRpcF9jb250ZW50OnZlKGkudG9vbHRpcF9jb250ZW50KSx0ZXh0Ont0ZXh0OmkudGV4dC50ZXh0LGZvbnRfZmFtaWx5OmkudGV4dC5mb250X2ZhbWlseSxmb250X3NpemU6aS50ZXh0LmZvbnRfc2l6ZSxmb250X3dlaWdodDppLnRleHQuZm9udF93ZWlnaHQsdGV4dF9jb2xvcjppLnRleHQudGV4dF9jb2xvcix0ZXh0X29wYWNpdHk6aS50ZXh0LnRleHRfb3BhY2l0eX0sYWN0aW9uczp7Y2xpY2s6aS5hY3Rpb25zLmNsaWNrLGxpbms6aS5hY3Rpb25zLmxpbmssb3Blbl9saW5rX2luX25ld193aW5kb3c6aS5hY3Rpb25zLm9wZW5fbGlua19pbl9uZXdfd2luZG93LHNjcmlwdDppLmFjdGlvbnMuc2NyaXB0fSx4X2ltYWdlX2JhY2tncm91bmQ6aS54X2ltYWdlX2JhY2tncm91bmQseV9pbWFnZV9iYWNrZ3JvdW5kOmkueV9pbWFnZV9iYWNrZ3JvdW5kLHdpZHRoX2ltYWdlX2JhY2tncm91bmQ6aS53aWR0aF9pbWFnZV9iYWNrZ3JvdW5kLGhlaWdodF9pbWFnZV9iYWNrZ3JvdW5kOmkuaGVpZ2h0X2ltYWdlX2JhY2tncm91bmQscG9pbnRzOmkucG9pbnRzLHN2Zzp7aHRtbDoiIix0YWdOYW1lOiIiLHByb3BlcnRpZXM6e30sdmlld0JveDoiIn19O2lmKCJwYXRoIj09PWkudHlwZSl7ci50eXBlPWp0LkxlO3ZhciBhPU9lKGUpLHM9ZnVuY3Rpb24odCl7dmFyIGU9bS5vbyh0LmRlZmF1bHRfc3R5bGUuc3Ryb2tlX2NvbG9yKTtyZXR1cm4nPHBhdGggZD0iJy5jb25jYXQodC5kLCciIGZpbGw9ImhzbCgwLCAxMDAlLCA1MCUpIiBzdHJva2U9InJnYmEoJykuY29uY2F0KGUuciwiLCAiKS5jb25jYXQoZS5nLCIsICIpLmNvbmNhdChlLmIsIiwgIikuY29uY2F0KHQuZGVmYXVsdF9zdHlsZS5zdHJva2Vfb3BhY2l0eSwnKSIgc3Ryb2tlLXdpZHRoPSInKS5jb25jYXQodC5kZWZhdWx0X3N0eWxlLnN0cm9rZV93aWR0aCwncHgiPjwvcGF0aD4nKX0oaSksYz0obj1zLChvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJzdmciKSkuc3R5bGUucG9zaXRpb249ImZpeGVkIixvLnN0eWxlLm9wYWNpdHk9MSxvLnN0eWxlLmxlZnQ9MCxvLnN0eWxlLnRvcD0wLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobyksby5pbm5lckhUTUw9bixvLmdldEJCb3goKSk7ci53aWR0aD1jLndpZHRoL2Eud2lkdGgqMTAwLHIuaGVpZ2h0PWMuaGVpZ2h0L2EuaGVpZ2h0KjEwMCxyLnN2Zy5odG1sPXMsci5zdmcudmlld0JveD0iIi5jb25jYXQoYy54LCIgIikuY29uY2F0KGMueSwiICIpLmNvbmNhdChjLndpZHRoLCIgIikuY29uY2F0KGMuaGVpZ2h0KSxyLmRlZmF1bHRfc3R5bGUuZmlsdGVycz1BZShyLmRlZmF1bHRfc3R5bGUpLHIubW91c2VvdmVyX3N0eWxlLmZpbHRlcnM9QWUoci5tb3VzZW92ZXJfc3R5bGUpfXJldHVybiByfWZ1bmN0aW9uIE9lKHQpe3ZhciBlLG47aWYoISgobnVsbD09PShlPXQubGF5ZXJzKXx8dm9pZCAwPT09ZXx8bnVsbD09PShuPWUubGF5ZXJzX2xpc3QpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmxlbmd0aCk+MCkpcmV0dXJue3dpZHRoOnQuZ2VuZXJhbC53aWR0aCxoZWlnaHQ6dC5nZW5lcmFsLmhlaWdodH07dmFyIG8saT1NZSh0LmxheWVycy5sYXllcnNfbGlzdCk7dHJ5e2ZvcihpLnMoKTshKG89aS5uKCkpLmRvbmU7KXt2YXIgcj1vLnZhbHVlO2lmKHIuaWQ9PT1zaGFwZS5sYXllcklEKXJldHVybnt3aWR0aDpyLmltYWdlX3dpZHRoLGhlaWdodDpyLmltYWdlX2hlaWdodH19fWNhdGNoKHQpe2kuZSh0KX1maW5hbGx5e2kuZigpfX1mdW5jdGlvbiBBZSh0KXt2YXIgZT1tLllNKCIjZmYwMDAwIiksbj1tLllNKHQuYmFja2dyb3VuZF9jb2xvcik7cmV0dXJuW3tpZDptLmskKCksbmFtZToiYnJpZ2h0bmVzcyIsdmFsdWU6MS0oZS5sLW4ubCkvMTAwfSx7aWQ6bS5rJCgpLG5hbWU6Imh1ZS1yb3RhdGUiLHZhbHVlOm4uaCsiZGVnIn1dfWZ1bmN0aW9uIFBlKHQpe3ZhciBlLG49YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOmZ1bmN0aW9uKCl7fSxvPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXToiIixpPWFyZ3VtZW50cy5sZW5ndGg+Mz9hcmd1bWVudHNbM106dm9pZCAwLHI9TWUodCk7dHJ5e2ZvcihyLnMoKTshKGU9ci5uKCkpLmRvbmU7KXt2YXIgYT1lLnZhbHVlO2lmKGEudHlwZSE9PWp0LnA1JiYoYS5wYXJlbnRfaWQ9bywiIiE9PW8/KGEuZGVmYXVsdF9zdHlsZS5wYXJlbnRfZmlsdGVycz1pLmRlZmF1bHRfc3R5bGUuZmlsdGVycyxhLm1vdXNlb3Zlcl9zdHlsZS5wYXJlbnRfZmlsdGVycz1pLm1vdXNlb3Zlcl9zdHlsZS5maWx0ZXJzKTooYS5kZWZhdWx0X3N0eWxlLnBhcmVudF9maWx0ZXJzPVtdLGEubW91c2VvdmVyX3N0eWxlLnBhcmVudF9maWx0ZXJzPVtdKSksYS5jaGlsZHJlbil7dmFyIHM9YS5zaW5nbGVfb2JqZWN0JiYiIj09PW8/YS5pZDpvLGM9YS5zaW5nbGVfb2JqZWN0JiYiIj09PW8/YTppO1BlKGEuY2hpbGRyZW4sbixzLGMpfWlmKG4oYSxwYXJlbnQpKWJyZWFrfX1jYXRjaCh0KXtyLmUodCl9ZmluYWxseXtyLmYoKX19ZnVuY3Rpb24gVGUodCl7cmV0dXJuISF0fXZhciB6ZT17aWQ6MCxlZGl0b3I6e3ByZXZpZXdNb2RlOjAsc2VsZWN0ZWRfc2hhcGU6LTEsdHJhbnNmb3JtX3Rvb2x0aXBfbW9kZTowLHRvb2w6InNwb3QiLHpvb206MSxjdXJyZW50TGF5ZXI6MCxzdGF0ZTp7ZHJhZ2dpbmc6ITF9LHNoYXBlQ291bnRlcjp7c3BvdHM6MCxyZWN0czowLG92YWxzOjAscG9seXM6MCx0ZXh0czowLHBhdGhzOjB9fSxydW50aW1lOntpc19mdWxsc2NyZWVuOjAsbGF5ZXJJRDowLG1lbnVfc2VhcmNoX3N0cmluZzoiIixtZW51X3Njcm9sbDowfSxnZW5lcmFsOntuYW1lOiIiLHNob3J0Y29kZToiIix3aWR0aDo4MDAsaGVpZ2h0OjQ1MCxuYXR1cmFsV2lkdGg6ODAwLG5hdHVyYWxIZWlnaHQ6NDUwLHJlc3BvbnNpdmU6MSxwcmVzZXJ2ZV9xdWFsaXR5OjEsY2VudGVyX2ltYWdlX21hcDowfSxpbWFnZTp7dXJsOiIifSxmdWxsc2NyZWVuOntlbmFibGVfZnVsbHNjcmVlbl9tb2RlOjAsc3RhcnRfaW5fZnVsbHNjcmVlbl9tb2RlOjAsZnVsbHNjcmVlbl9iYWNrZ3JvdW5kOiIjMDAwMDAwIixmdWxsc2NyZWVuX2J1dHRvbl9wb3NpdGlvbjoxLGZ1bGxzY3JlZW5fYnV0dG9uX3R5cGU6Imljb25fYW5kX3RleHQiLGZ1bGxzY3JlZW5fYnV0dG9uX2NvbG9yOiIjZmZmZmZmIixmdWxsc2NyZWVuX2J1dHRvbl90ZXh0X2NvbG9yOiIjMjIyMjIyIn0sc2hhcGVzOntwYWdlbG9hZF9hbmltYXRpb246Im5vbmUiLGdsb3dpbmdfc2hhcGVzOjAsZ2xvd2luZ19zaGFwZXNfY29sb3I6IiNmZmZmZmYiLGdsb3dfb3BhY2l0eTouNSxzdG9wX2dsb3dpbmdfb25fbW91c2VvdmVyOjF9LHRvb2x0aXBzOntlbmFibGVfdG9vbHRpcHM6MSxzaG93X3Rvb2x0aXBzOiJtb3VzZW92ZXIiLHNob3dfdGl0bGVfb25fbW91c2VvdmVyOjAsc3RpY2t5X3Rvb2x0aXBzOjAsY29uc3RyYWluX3Rvb2x0aXBzOjEsdG9vbHRpcF9hbmltYXRpb246Im5vbmUiLGZ1bGxzY3JlZW5fdG9vbHRpcHM6Im1vYmlsZS1vbmx5In0sem9vbWluZzp7ZW5hYmxlX3pvb21pbmc6MCxtYXhfem9vbToxNixsaW1pdF9tYXhfem9vbV90b19pbWFnZV9zaXplOjAsZW5hYmxlX3pvb21fYnV0dG9uczoxLGVuYWJsZV9uYXZpZ2F0b3I6MSxob2xkX2N0cmxfdG9fem9vbToxLGZvY3VzX3NoYXBlX29uX2NsaWNrOjF9LGxheWVyczp7ZW5hYmxlX2xheWVyczowLGxheWVyc19saXN0OltdfSxzaGFwZXNfbWVudTp7ZW5hYmxlX3NoYXBlc19tZW51OjAsZGV0YWNoZWRfbWVudTowLG1lbnVfcG9zaXRpb246ImxlZnQiLGVuYWJsZV9zZWFyY2g6MSxncm91cF9ieV9mbG9vcjowLGhpZGVfY2hpbGRyZW5fb2ZfY29ubmVjdGVkX3NoYXBlczoxfSxjdXN0b21fY29kZTp7Y3VzdG9tX2NzczoiIixjdXN0b21fanM6IiJ9LHNwb3RzOltdfSxTZT17aWQ6InNwb3QtMCIsdGl0bGU6IiIsdHlwZToic3BvdCIseDotMSx5Oi0xLHdpZHRoOjQ0LGhlaWdodDo0NCx4X2ltYWdlX2JhY2tncm91bmQ6LTEseV9pbWFnZV9iYWNrZ3JvdW5kOi0xLHdpZHRoX2ltYWdlX2JhY2tncm91bmQ6NDQsaGVpZ2h0X2ltYWdlX2JhY2tncm91bmQ6NDQsY29ubmVjdGVkX3RvOiIiLHVzZV9jb25uZWN0ZWRfc2hhcGVfdG9vbHRpcDowLGxheWVySUQ6MCxzdGF0aWM6MCx0ZXh0Ont0ZXh0OiJUZXh0Iixmb250X2ZhbWlseToic2Fucy1zZXJpZiIsZm9udF9zaXplOjE2LGZvbnRfd2VpZ2h0OjQwMCx0ZXh0X2NvbG9yOiIjMDAwMDAwIix0ZXh0X29wYWNpdHk6MX0sYWN0aW9uczp7Y2xpY2s6Im5vLWFjdGlvbiIsbGluazoiIyIsb3Blbl9saW5rX2luX25ld193aW5kb3c6MSxzY3JpcHQ6IiJ9LGRlZmF1bHRfc3R5bGU6e29wYWNpdHk6MSxib3JkZXJfcmFkaXVzOjUwLGJhY2tncm91bmRfdHlwZToiY29sb3IiLGJhY2tncm91bmRfaW1hZ2VfdXJsOiIiLGJhY2tncm91bmRfaW1hZ2Vfb3BhY2l0eToxLGJhY2tncm91bmRfaW1hZ2Vfc2NhbGU6MSxiYWNrZ3JvdW5kX2ltYWdlX29mZnNldF94OjAsYmFja2dyb3VuZF9pbWFnZV9vZmZzZXRfeTowLGJhY2tncm91bmRfY29sb3I6IiMwMDAwMDAiLGJhY2tncm91bmRfb3BhY2l0eTouNCxib3JkZXJfd2lkdGg6MCxib3JkZXJfc3R5bGU6InNvbGlkIixib3JkZXJfY29sb3I6IiNmZmZmZmYiLGJvcmRlcl9vcGFjaXR5OjEsc3Ryb2tlX2NvbG9yOiIjZmZmZmZmIixzdHJva2Vfb3BhY2l0eTouNzUsc3Ryb2tlX3dpZHRoOjAsc3Ryb2tlX2Rhc2hhcnJheToiMCIsc3Ryb2tlX2xpbmVjYXA6InJvdW5kIix1c2VfaWNvbjoxLGljb25fdHlwZToibGlicmFyeSIsaWNvbl9zdmdfcGF0aDoiTTQwOS44MSwxNjAuMTEzQzQwOS43OSw3MS42ODQsMzM4LjEzNiwwLDI0OS43MjUsMEMxNjEuMjc2LDAsODkuNTgzLDcxLjY4NCw4OS41ODMsMTYwLjExMyAgICAgYzAsNzYuMzI1LDExOS4yNzQsMjgwLjIzOCwxNTEuOTU1LDMzNC42MzhjMS43MiwyLjg4Miw0LjgyNiw0LjY0MSw4LjE3OCw0LjY0MWMzLjM1MSwwLDYuNDY4LTEuNzU5LDguMTY4LTQuNjMxICAgICBDMjkwLjU0NSw0NDAuMzYxLDQwOS44MSwyMzYuNDM4LDQwOS44MSwxNjAuMTEzeiBNMjQ5LjcxNiwyODMuOTk5Yy02OC4zMDMsMC0xMjMuOTE1LTU1LjU3My0xMjMuOTE1LTEyMy44OTUgICAgIGMwLTY4LjMxMyw1NS41OTItMTIzLjg5NSwxMjMuOTE1LTEyMy44OTVzMTIzLjg3Niw1NS41ODIsMTIzLjg3NiwxMjMuODk1UzMxOC4wMjksMjgzLjk5OSwyNDkuNzE2LDI4My45OTl6IixpY29uX3N2Z192aWV3Ym94OiIwIDAgNDk5LjM5MiA0OTkuMzkyIixpY29uX2ZvbnRhd2Vzb21lX2lkOiJtYXAtbWFya2VyIixpY29uX2ZpbGw6IiMwMDAwMDAiLGljb25fdXJsOiIiLGljb25faXNfcGluOjEsaWNvbl9zaGFkb3c6MH0sbW91c2VvdmVyX3N0eWxlOntvcGFjaXR5OjEsYm9yZGVyX3JhZGl1czo1MCxiYWNrZ3JvdW5kX2ltYWdlX3VybDoiIixiYWNrZ3JvdW5kX2ltYWdlX29wYWNpdHk6MSxiYWNrZ3JvdW5kX2ltYWdlX3NjYWxlOjEsYmFja2dyb3VuZF9pbWFnZV9vZmZzZXRfeDowLGJhY2tncm91bmRfaW1hZ2Vfb2Zmc2V0X3k6MCxiYWNrZ3JvdW5kX2NvbG9yOiIjZmZmZmZmIixiYWNrZ3JvdW5kX29wYWNpdHk6LjQsYm9yZGVyX3dpZHRoOjAsYm9yZGVyX3N0eWxlOiJzb2xpZCIsYm9yZGVyX2NvbG9yOiIjZmZmZmZmIixib3JkZXJfb3BhY2l0eToxLHN0cm9rZV9jb2xvcjoiI2ZmZmZmZiIsc3Ryb2tlX29wYWNpdHk6Ljc1LHN0cm9rZV93aWR0aDowLHN0cm9rZV9kYXNoYXJyYXk6IjAiLHN0cm9rZV9saW5lY2FwOiJyb3VuZCIsaWNvbl9maWxsOiIjMDAwMDAwIn0sdG9vbHRpcDp7ZW5hYmxlX3Rvb2x0aXA6MX0sdG9vbHRpcF9zdHlsZTp7YnVmZmVyOjQwLGJvcmRlcl9yYWRpdXM6MTAscGFkZGluZzoxNSxiYWNrZ3JvdW5kX2NvbG9yOiIjMjIyMjIyIixiYWNrZ3JvdW5kX29wYWNpdHk6MSxwb3NpdGlvbjoidG9wIix3aWR0aDoyMjUsYXV0b193aWR0aDoxLG9mZnNldF94OjAsb2Zmc2V0X3k6MH0sdG9vbHRpcF9jb250ZW50OntzcXVhcmVzX3NldHRpbmdzOntjb250YWluZXJzOlt7aWQ6InNxLWNvbnRhaW5lci00MDM3NjEiLHNldHRpbmdzOntlbGVtZW50czpbe3NldHRpbmdzOntuYW1lOiJIZWFkaW5nIixpY29uQ2xhc3M6ImZhIGZhLWhlYWRlciJ9LG9wdGlvbnM6e2hlYWRpbmc6e3RleHQ6Ik15IFNoYXBlIn19fV19fV19fSxwb2ludHM6W10sdnM6W10sc3ZnUGF0aENvbW1hbmRzOltdLGQ6IiIsZEVkaXRvcjoiIn07ZnVuY3Rpb24gWmUodCxlKXt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmdFtTeW1ib2wuaXRlcmF0b3JdfHx0WyJAQGl0ZXJhdG9yIl07aWYoIW4pe2lmKEFycmF5LmlzQXJyYXkodCl8fChuPWZ1bmN0aW9uKHQsZSl7aWYodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBMZSh0LGUpO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PW4mJnQuY29uc3RydWN0b3ImJihuPXQuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1ufHwiU2V0Ij09PW4/QXJyYXkuZnJvbSh0KToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP0xlKHQsZSk6dm9pZCAwfX0odCkpfHxlJiZ0JiYibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXtuJiYodD1uKTt2YXIgbz0wLGk9ZnVuY3Rpb24oKXt9O3JldHVybntzOmksbjpmdW5jdGlvbigpe3JldHVybiBvPj10Lmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6dFtvKytdfX0sZTpmdW5jdGlvbih0KXt0aHJvdyB0fSxmOml9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgcixhPSEwLHM9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtuPW4uY2FsbCh0KX0sbjpmdW5jdGlvbigpe3ZhciB0PW4ubmV4dCgpO3JldHVybiBhPXQuZG9uZSx0fSxlOmZ1bmN0aW9uKHQpe3M9ITAscj10fSxmOmZ1bmN0aW9uKCl7dHJ5e2F8fG51bGw9PW4ucmV0dXJufHxuLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyByfX19fWZ1bmN0aW9uIExlKHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciBuPTAsbz1uZXcgQXJyYXkoZSk7bjxlO24rKylvW25dPXRbbl07cmV0dXJuIG99ZnVuY3Rpb24gUmUodCl7dmFyIGU9ZnVuY3Rpb24odCl7aWYoMD09PW0uTTcoIjYuMC4yMCIsdC52ZXJzaW9uKSlyZXR1cm4gdDt2YXIgZT1tLlpCKHt9LHQpO3JldHVybiB0LnZlcnNpb258fChlPUNlKHQpKSxlLnZlcnNpb249IjYuMC4yMCIsZX0odCksbj1mdW5jdGlvbih0KXt2YXIgZT1tLlpCKHt9LEV0LHQpO3JldHVybiBlLmFydGJvYXJkcz1mdW5jdGlvbih0KXt2YXIgZT1bXTswPT09dC5sZW5ndGgmJih0PVttLlpCKHt9LE10KV0pO3ZhciBuLG89WmUodCk7dHJ5e2ZvcihvLnMoKTshKG49by5uKCkpLmRvbmU7KXt2YXIgaT1uLnZhbHVlLHI9bS5aQih7fSxNdCxpKTtyLmNoaWxkcmVuPVVlKGkuY2hpbGRyZW4pLGUucHVzaChyKX19Y2F0Y2godCl7by5lKHQpfWZpbmFsbHl7by5mKCl9cmV0dXJuIGV9KGUuYXJ0Ym9hcmRzKSxlfShlKTtyZXR1cm4gbi5hcnRib2FyZHM9QmUobi5hcnRib2FyZHMpLG59ZnVuY3Rpb24gVWUodCl7dmFyIGU9W107aWYodCl7dmFyIG4sbz1aZSh0KTt0cnl7Zm9yKG8ucygpOyEobj1vLm4oKSkuZG9uZTspe3ZhciBpPW4udmFsdWUscj1tLlpCKHt9LEl0LGkpO3IuY2hpbGRyZW49VWUoaS5jaGlsZHJlbiksZS5wdXNoKHIpfX1jYXRjaCh0KXtvLmUodCl9ZmluYWxseXtvLmYoKX19cmV0dXJuIGV9ZnVuY3Rpb24gQmUodCl7dmFyIGUsbj1aZSh0KTt0cnl7Zm9yKG4ucygpOyEoZT1uLm4oKSkuZG9uZTspe3ZhciBvPWUudmFsdWU7by50eXBlIT09anQucDUmJjA9PT1vLnRvb2x0aXBfY29udGVudC5sZW5ndGgmJihvLnRvb2x0aXAuZW5hYmxlX3Rvb2x0aXA9ITEpLG8uY2hpbGRyZW4mJkJlKG8uY2hpbGRyZW4pfX1jYXRjaCh0KXtuLmUodCl9ZmluYWxseXtuLmYoKX1yZXR1cm4gdH1mdW5jdGlvbiBGZSh0LGUpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl18fHRbIkBAaXRlcmF0b3IiXTtpZighbil7aWYoQXJyYXkuaXNBcnJheSh0KXx8KG49ZnVuY3Rpb24odCxlKXtpZih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIERlKHQsZSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpO3JldHVybiJPYmplY3QiPT09biYmdC5jb25zdHJ1Y3RvciYmKG49dC5jb25zdHJ1Y3Rvci5uYW1lKSwiTWFwIj09PW58fCJTZXQiPT09bj9BcnJheS5mcm9tKHQpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/RGUodCxlKTp2b2lkIDB9fSh0KSl8fGUmJnQmJiJudW1iZXIiPT10eXBlb2YgdC5sZW5ndGgpe24mJih0PW4pO3ZhciBvPTAsaT1mdW5jdGlvbigpe307cmV0dXJue3M6aSxuOmZ1bmN0aW9uKCl7cmV0dXJuIG8+PXQubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTp0W28rK119fSxlOmZ1bmN0aW9uKHQpe3Rocm93IHR9LGY6aX19dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfXZhciByLGE9ITAscz0hMTtyZXR1cm57czpmdW5jdGlvbigpe249bi5jYWxsKHQpfSxuOmZ1bmN0aW9uKCl7dmFyIHQ9bi5uZXh0KCk7cmV0dXJuIGE9dC5kb25lLHR9LGU6ZnVuY3Rpb24odCl7cz0hMCxyPXR9LGY6ZnVuY3Rpb24oKXt0cnl7YXx8bnVsbD09bi5yZXR1cm58fG4ucmV0dXJuKCl9ZmluYWxseXtpZihzKXRocm93IHJ9fX19ZnVuY3Rpb24gRGUodCxlKXsobnVsbD09ZXx8ZT50Lmxlbmd0aCkmJihlPXQubGVuZ3RoKTtmb3IodmFyIG49MCxvPW5ldyBBcnJheShlKTtuPGU7bisrKW9bbl09dFtuXTtyZXR1cm4gb312YXIgV2U9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUsbixvKXt2YXIgaT10aGlzOygwLHB0LlopKHRoaXMsdCksdGhpcy5pZD0oMCxtLmskKSgpLHRoaXMuY29uZmlnPVJlKG4pLHRoaXMubGF1bmNoUGFyYW1zPW8sdGhpcy50b29sdGlwQ29udHJvbGxlcj12b2lkIDAsdGhpcy5mdWxsc2NyZWVuQ29udHJvbGxlcj12b2lkIDAsdGhpcy5uYXZpZ2F0b3JDb250cm9sbGVyPXZvaWQgMCx0aGlzLnpvb21Db250cm9sbGVyPXZvaWQgMCx0aGlzLmV2ZW50Q29udHJvbGxlcj12b2lkIDAsdGhpcy5jYWNoZUNvbnRyb2xsZXI9dm9pZCAwLHRoaXMucm9vdD12b2lkIDAsdGhpcy5jb250YWluZXI9dm9pZCAwLHRoaXMuY2FudmFzV3JhcD12b2lkIDAsdGhpcy5zY2FsZVdyYXA9dm9pZCAwLHRoaXMudHJhbnNsYXRlV3JhcD12b2lkIDAsdGhpcy5VSVdyYXA9dm9pZCAwLHRoaXMuaW1hZ2U9dm9pZCAwLHRoaXMuYmFja2dyb3VuZD12b2lkIDAsKDAsbS5DZCkoKGZ1bmN0aW9uKCl7IltvYmplY3QgU3RyaW5nXSI9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT9pLnJvb3Q9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlKTppLnJvb3Q9ZSxpLmluaXQoKX0pKX12YXIgZSxuLG8saSxyLGE7cmV0dXJuKDAsZHQuWikodCxbe2tleToiaW5pdCIsdmFsdWU6KGE9eSh3KCkubWFyaygoZnVuY3Rpb24gdCgpe3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHRoaXMuc3RvcmU9bmV3IGZlKHtpbml0aWFsU3RhdGU6dGhpcy5jb25maWcsaW1hZ2VNYXA6dGhpc30pLHRoaXMuZXZlbnRDb250cm9sbGVyJiZ0aGlzLmV2ZW50Q29udHJvbGxlci5yZW1vdmVFdmVudHMoKSx0aGlzLmFydGJvYXJkQ29udHJvbGxlcj1uZXcgS3QodGhpcy5zdG9yZSx0aGlzLmxhdW5jaFBhcmFtcy5sYXllcklEKSx0Lm5leHQ9NSx0aGlzLmxvYWRJbWFnZXMoKTtjYXNlIDU6aWYodC5zZW50KXt0Lm5leHQ9NzticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgNzpyZXR1cm4gdGhpcy5yb290LmlubmVySFRNTD10aGlzLmh0bWwoKSx0aGlzLnJvb3QuZGF0YXNldC5pbWFnZU1hcElkPXRoaXMuc3RvcmUuZ2V0SUQoKSx0aGlzLnJvb3QuZGF0YXNldC5pbWFnZU1hcE5hbWU9dGhpcy5zdG9yZS5nZXROYW1lKCksdGhpcy5jb250YWluZXJFbD10aGlzLnJvb3QucXVlcnlTZWxlY3RvcigiLmltcC1jb250YWluZXIiKSx0aGlzLmNhbnZhc1dyYXA9dGhpcy5yb290LnF1ZXJ5U2VsZWN0b3IoIi5pbXAtY2FudmFzIiksdGhpcy5zY2FsZVdyYXA9dGhpcy5jYW52YXNXcmFwLnF1ZXJ5U2VsZWN0b3IoIi5pbXAtc2NhbGUiKSx0aGlzLnRyYW5zbGF0ZVdyYXA9dGhpcy5jYW52YXNXcmFwLnF1ZXJ5U2VsZWN0b3IoIi5pbXAtdHJhbnNsYXRlIiksdGhpcy5VSVdyYXA9dGhpcy5yb290LnF1ZXJ5U2VsZWN0b3IoIi5pbXAtdWkiKSx0aGlzLnNldEJhY2tncm91bmQoKSx0Lm5leHQ9MTgsdGhpcy5hZGp1c3RTaXplKCk7Y2FzZSAxODpyZXR1cm4gdC5uZXh0PTIwLHRoaXMuYWRqdXN0U2l6ZSgpO2Nhc2UgMjA6dGhpcy5ldmVudENvbnRyb2xsZXI9bmV3IGd0KHRoaXMuc3RvcmUpLHRoaXMuY2FjaGVDb250cm9sbGVyPW5ldyBZdCg1MDApLHRoaXMudG9vbHRpcENvbnRyb2xsZXI9bmV3IFd0KHRoaXMuc3RvcmUpLHRoaXMuem9vbUNvbnRyb2xsZXI9bmV3IEh0KHRoaXMuc3RvcmUpLHRoaXMuZnVsbHNjcmVlbkNvbnRyb2xsZXI9bmV3IF90KHRoaXMuc3RvcmUsdGhpcy5sYXVuY2hQYXJhbXMuaXNGdWxsc2NyZWVuLHRoaXMubGF1bmNoUGFyYW1zLmNsb3NlRnVsbHNjcmVlbkNhbGxiYWNrKSx0aGlzLm5hdmlnYXRvckNvbnRyb2xsZXI9bmV3IHh0KHRoaXMuc3RvcmUpLHRoaXMub2JqZWN0Q29udHJvbGxlcj1uZXcga3QuWih0aGlzLnN0b3JlKSx0aGlzLm1lbnVDb250cm9sbGVyPW5ldyByZSh0aGlzLnN0b3JlKSxkb2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZSh0aGlzLnRvb2x0aXBDb250cm9sbGVyLmNvbnRhaW5lcixkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpLHRoaXMuc3RvcmUuZ2V0U2NhbGVXcmFwKCkuYXBwZW5kQ2hpbGQodGhpcy5vYmplY3RDb250cm9sbGVyLmNvbnRhaW5lciksdGhpcy5zdG9yZS5nZXRTY2FsZVdyYXAoKS5hcHBlbmRDaGlsZCh0aGlzLm9iamVjdENvbnRyb2xsZXIuaW1hZ2VCYWNrZ3JvdW5kc0NvbnRhaW5lciksdGhpcy5yb290LmFwcGVuZENoaWxkKHRoaXMub2JqZWN0Q29udHJvbGxlci5zdHlsZXNoZWV0KSx0aGlzLmFydGJvYXJkQ29udHJvbGxlci5pbnNlcnRVSSgpLHRoaXMuem9vbUNvbnRyb2xsZXIuaW5zZXJ0VUkoKSx0aGlzLmZ1bGxzY3JlZW5Db250cm9sbGVyLmluc2VydFVJKCksdGhpcy5uYXZpZ2F0b3JDb250cm9sbGVyLmluc2VydFVJKCksdGhpcy5tZW51Q29udHJvbGxlci5pbnNlcnRNZW51KCksdGhpcy5ldmVudENvbnRyb2xsZXIuYnVpbGRVSU1vZGVsKCksdGhpcy5sb2FkQ3VzdG9tQ29kZSgpLHRoaXMuc3RvcmUuc3Vic2NyaWJlKHRoaXMuaGFuZGxlQWN0aW9uLmJpbmQodGhpcykpLEltYWdlTWFwUHJvLnRyaWdnZXIoe3R5cGU6Zy5IVyxwYXlsb2FkOnttYXA6dGhpcy5jb25maWcuZ2VuZXJhbC5uYW1lfX0pO2Nhc2UgNDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKSxmdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OiJkZWluaXQiLHZhbHVlOihyPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnRyeXt0aGlzLmV2ZW50Q29udHJvbGxlci5yZW1vdmVFdmVudHMoKSx0aGlzLnJvb3QuaW5uZXJIVE1MPSIifWNhdGNoKHQpe31jYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKSxmdW5jdGlvbigpe3JldHVybiByLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OiJoYW5kbGVBY3Rpb24iLHZhbHVlOihpPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIHcoKS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDoicmVzaXplIj09ZS50eXBlJiZ0aGlzLmFkanVzdFNpemUoKTtjYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKSxmdW5jdGlvbih0KXtyZXR1cm4gaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleToiaHRtbCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0ibGlnaHQiPT09dGhpcy5zdG9yZS5zdGF0ZS5nZW5lcmFsLnVpX3RoZW1lPyJpbXAtdWktbGlnaHQiOiJpbXAtdWktZGFyayI7cmV0dXJuJ1xuICAgIDxkaXYgY2xhc3M9ImltcC1jb250YWluZXIgJy5jb25jYXQodCwnIj5cbiAgICAgIDxkaXYgY2xhc3M9ImltcC11aS13cmFwIj5cbiAgICAgICAgPGRpdiBjbGFzcz0iaW1wLXVpIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJpbXAtdWktdG9wLXJpZ2h0Ij48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPSJpbXAtdWktdG9wLWxlZnQiPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImltcC11aS1ib3R0b20tcmlnaHQiPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImltcC11aS1ib3R0b20tbGVmdCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJpbXAtY2FudmFzLXdyYXAiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9ImltcC1jYW52YXMiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW1wLXRyYW5zbGF0ZSI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltcC1zY2FsZSI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj4nKX19LHtrZXk6ImxvYWRJbWFnZXMiLHZhbHVlOihvPXkodygpLm1hcmsoKGZ1bmN0aW9uIHQoKXt2YXIgZSxuLG8saTtyZXR1cm4gdygpLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKCF0aGlzLnN0b3JlLmdldEFydGJvYXJkKCkuaW1hZ2VfdXJsfHwiaW1hZ2UiIT09dGhpcy5zdG9yZS5nZXRBcnRib2FyZCgpLmJhY2tncm91bmRfdHlwZSl7dC5uZXh0PTk7YnJlYWt9cmV0dXJuIHQubmV4dD0zLCgwLG0ucG8pKHRoaXMuc3RvcmUuZ2V0QXJ0Ym9hcmQoKS5pbWFnZV91cmwpO2Nhc2UgMzppZihlPXQuc2VudCl7dC5uZXh0PTc7YnJlYWt9cmV0dXJuIGNvbnNvbGUubG9nKCJDb3VsZCBub3QgbG9hZCBtYWluIGltYWdlISIpLHQuYWJydXB0KCJyZXR1cm4iLCExKTtjYXNlIDc6dGhpcy5pbWFnZT1lLmltYWdlLHRoaXMuaW1hZ2UuY2xhc3NMaXN0LmFkZCgiaW1wLWltYWdlIik7Y2FzZSA5Om49RmUodGhpcy5zdG9yZS5nZXRPYmplY3RzKCkpLHQucHJldj0xMCxuLnMoKTtjYXNlIDEyOmlmKChvPW4ubigpKS5kb25lKXt0Lm5leHQ9MTk7YnJlYWt9aWYoImltYWdlIiE9PShpPW8udmFsdWUpLmRlZmF1bHRfc3R5bGUuYmFja2dyb3VuZF90eXBlKXt0Lm5leHQ9MTc7YnJlYWt9cmV0dXJuIHQubmV4dD0xNywoMCxtLnBvKShpLm1vdXNlb3Zlcl9zdHlsZS5iYWNrZ3JvdW5kX2ltYWdlX3VybCk7Y2FzZSAxNzp0Lm5leHQ9MTI7YnJlYWs7Y2FzZSAxOTp0Lm5leHQ9MjQ7YnJlYWs7Y2FzZSAyMTp0LnByZXY9MjEsdC50MD10LmNhdGNoKDEwKSxuLmUodC50MCk7Y2FzZSAyNDpyZXR1cm4gdC5wcmV2PTI0LG4uZigpLHQuZmluaXNoKDI0KTtjYXNlIDI3OnJldHVybiB0LmFicnVwdCgicmV0dXJuIiwhMCk7Y2FzZSAyODpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyxbWzEwLDIxLDI0LDI3XV0pfSkpKSxmdW5jdGlvbigpe3JldHVybiBvLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OiJhZGp1c3RTaXplIix2YWx1ZToobj15KHcoKS5tYXJrKChmdW5jdGlvbiB0KCl7dmFyIGUsbixvLGkscixhO3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQubmV4dD0yLG5ldyBQcm9taXNlKChmdW5jdGlvbih0KXtyZXR1cm4gc2V0VGltZW91dCh0LDUwKX0pKTtjYXNlIDI6aWYoZT10aGlzLnJvb3QucGFyZW50Tm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCxyPXRoaXMuc3RvcmUuZ2V0QXJ0Ym9hcmQoKS53aWR0aC90aGlzLnN0b3JlLmdldEFydGJvYXJkKCkuaGVpZ2h0LGE9MCx0aGlzLnN0b3JlLnN0YXRlLm9iamVjdF9saXN0LmVuYWJsZV9vYmplY3RfbGlzdCYmImRlZmF1bHQiPT09dGhpcy5zdG9yZS5zdGF0ZS5vYmplY3RfbGlzdC5tZW51X3N0eWxlJiYoYT10aGlzLnN0b3JlLmdldElzTWVudU1vYmlsZSgpPzA6MjQwLCJyaWdodCI9PXRoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QubWVudV9wb3NpdGlvbiYmKHRoaXMuc3RvcmUuZ2V0Q29udGFpbmVyKCkuc3R5bGUucGFkZGluZ1JpZ2h0PWErInB4IiksImxlZnQiPT10aGlzLnN0b3JlLnN0YXRlLm9iamVjdF9saXN0Lm1lbnVfcG9zaXRpb24mJih0aGlzLnN0b3JlLmdldENvbnRhaW5lcigpLnN0eWxlLnBhZGRpbmdMZWZ0PWErInB4IikpLCF0aGlzLmxhdW5jaFBhcmFtcy5pc0Z1bGxzY3JlZW4pe3QubmV4dD0xMDticmVha31yZXR1cm4gdGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwKCkuc3R5bGUud2lkdGg9dGhpcy5jYWxjdWxhdGVGdWxsc2NyZWVuQ2FudmFzU2l6ZSgpLndpZHRoKyJweCIsdGhpcy5zdG9yZS5nZXRDYW52YXNXcmFwKCkuc3R5bGUuaGVpZ2h0PXRoaXMuY2FsY3VsYXRlRnVsbHNjcmVlbkNhbnZhc1NpemUoKS5oZWlnaHQrInB4Iix0LmFicnVwdCgicmV0dXJuIik7Y2FzZSAxMDpuPXRoaXMuc3RvcmUuc3RhdGUuZ2VuZXJhbC5yZXNwb25zaXZlP2U6dGhpcy5zdG9yZS5nZXRBcnRib2FyZCgpLndpZHRoLGk9KG89bi1hKS9yLHRoaXMuc3RvcmUuZ2V0Q29udGFpbmVyKCkuc3R5bGUud2lkdGg9bisicHgiLHRoaXMuc3RvcmUuZ2V0Q2FudmFzV3JhcCgpLnN0eWxlLndpZHRoPW8rInB4Iix0aGlzLnN0b3JlLmdldENhbnZhc1dyYXAoKS5zdHlsZS5oZWlnaHQ9aSsicHgiO2Nhc2UgMTY6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKSxmdW5jdGlvbigpe3JldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OiJ1cGRhdGVJbWFnZSIsdmFsdWU6KGU9eSh3KCkubWFyaygoZnVuY3Rpb24gdCgpe3ZhciBlO3JldHVybiB3KCkud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYoIXRoaXMuc3RvcmUuZ2V0QXJ0Ym9hcmQoKS5pbWFnZV91cmx8fCJpbWFnZSIhPT10aGlzLnN0b3JlLmdldEFydGJvYXJkKCkuYmFja2dyb3VuZF90eXBlKXt0Lm5leHQ9ODticmVha31yZXR1cm4gdC5uZXh0PTMsKDAsbS5wbykodGhpcy5zdG9yZS5nZXRBcnRib2FyZCgpLmltYWdlX3VybCk7Y2FzZSAzOmU9dC5zZW50LHRoaXMuaW1hZ2UucmVtb3ZlKCksdGhpcy5pbWFnZT1lLmltYWdlLHRoaXMuaW1hZ2UuY2xhc3NMaXN0LmFkZCgiaW1wLWltYWdlIiksdGhpcy5zY2FsZVdyYXAuYXBwZW5kQ2hpbGQodGhpcy5pbWFnZSk7Y2FzZSA4OnRoaXMuYWRqdXN0U2l6ZSgpO2Nhc2UgOTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpLGZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6InNldEJhY2tncm91bmQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5iYWNrZ3JvdW5kJiZ0aGlzLmJhY2tncm91bmQucmVtb3ZlKCksdGhpcy5pbWFnZSYmdGhpcy5pbWFnZS5yZW1vdmUoKSwiaW1hZ2UiPT09dGhpcy5zdG9yZS5nZXRBcnRib2FyZCgpLmJhY2tncm91bmRfdHlwZSYmdGhpcy5zdG9yZS5nZXRBcnRib2FyZCgpLmltYWdlX3VybCYmdGhpcy5zY2FsZVdyYXAuYXBwZW5kQ2hpbGQodGhpcy5pbWFnZSksImNvbG9yIj09PXRoaXMuc3RvcmUuZ2V0QXJ0Ym9hcmQoKS5iYWNrZ3JvdW5kX3R5cGUmJih0aGlzLmJhY2tncm91bmR8fCh0aGlzLmJhY2tncm91bmQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5iYWNrZ3JvdW5kLmNsYXNzTGlzdC5hZGQoImltcC1iYWNrZ3JvdW5kIikpLHRoaXMuYmFja2dyb3VuZC5zdHlsZS5iYWNrZ3JvdW5kPXRoaXMuc3RvcmUuZ2V0QXJ0Ym9hcmQoKS5iYWNrZ3JvdW5kX2NvbG9yLHRoaXMuc2NhbGVXcmFwLmFwcGVuZENoaWxkKHRoaXMuYmFja2dyb3VuZCkpfX0se2tleToiY2FsY3VsYXRlRnVsbHNjcmVlbkNhbnZhc1NpemUiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQsZSxuPXdpbmRvdy5pbm5lcldpZHRoLG89d2luZG93LmlubmVySGVpZ2h0O3RoaXMuc3RvcmUuc3RhdGUub2JqZWN0X2xpc3QuZW5hYmxlX29iamVjdF9saXN0JiYhdGhpcy5zdG9yZS5nZXRJc01lbnVNb2JpbGUoKSYmKG4tPTI0MCk7dmFyIGk9bi9vLHI9dGhpcy5zdG9yZS5nZXRBcnRib2FyZCgpLndpZHRoL3RoaXMuc3RvcmUuZ2V0QXJ0Ym9hcmQoKS5oZWlnaHQ7cmV0dXJuIHRoaXMuc3RvcmUuZ2V0QXJ0Ym9hcmQoKS51c2VfaW1hZ2Vfc2l6ZSYmdGhpcy5pbWFnZSYmKHI9dGhpcy5pbWFnZS5uYXR1cmFsV2lkdGgvdGhpcy5pbWFnZS5uYXR1cmFsSGVpZ2h0KSxyPGk/KHQ9bypyLGU9byk6KHQ9bixlPW4vcikse3dpZHRoOnQsaGVpZ2h0OmV9fX0se2tleToibG9hZEN1c3RvbUNvZGUiLHZhbHVlOmZ1bmN0aW9uKCl7aWYodGhpcy5zdG9yZS5zdGF0ZS5jdXN0b21fY29kZS5jdXN0b21fanMpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3QuaW5uZXJIVE1MPXRoaXMuc3RvcmUuc3RhdGUuY3VzdG9tX2NvZGUuY3VzdG9tX2pzLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCl9aWYodGhpcy5zdG9yZS5zdGF0ZS5jdXN0b21fY29kZS5jdXN0b21fY3NzKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO2UuaW5uZXJIVE1MPXRoaXMuc3RvcmUuc3RhdGUuY3VzdG9tX2NvZGUuY3VzdG9tX2Nzcyxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpfX19XSksdH0oKSxxZT17YXJ0Ym9hcmRJZDp2b2lkIDAsaXNGdWxsc2NyZWVuOiExfTt3aW5kb3cuSW1hZ2VNYXBQcm8uaW5pdD1mdW5jdGlvbih0LGUpe3ZhciBuLG89bmV3IFdlKHQsZSxhcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06cWUpO3dpbmRvdy5JbWFnZU1hcFByby5pbnN0YW5jZXNbKG51bGw9PT0obj1lLmdlbmVyYWwpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLm5hbWUpfHwiRGVmYXVsdCJdPW99LCJ1bmRlZmluZWQiIT10eXBlb2YgJCYmKCQuZm4uaW1hZ2VNYXBQcm89ZnVuY3Rpb24odCl7SW1hZ2VNYXBQcm8uaW5pdCh0aGlzWzBdLHQpfSk7dmFyIEhlPXZvaWQgMCxZZT12b2lkIDAsTmU9dm9pZCAwO3dpbmRvdy5kZWJ1Zz1mdW5jdGlvbih0KXtIZXx8KChIZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc2V0QXR0cmlidXRlKCJpZCIsImRlYnVnIiksZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYm9keSIpLmFwcGVuZENoaWxkKEhlKSksSGUuaW5uZXJIVE1MPXQsSGUuc3R5bGUudHJhbnNpdGlvblByb3BlcnR5PSJub25lIixIZS5zdHlsZS5vcGFjaXR5PTEsY2xlYXJJbnRlcnZhbChZZSksY2xlYXJUaW1lb3V0KE5lKSxOZT1zZXRUaW1lb3V0KChmdW5jdGlvbigpe1llPXNldEludGVydmFsKChmdW5jdGlvbigpe0hlLnN0eWxlLm9wYWNpdHk9Ljc1KkhlLnN0eWxlLm9wYWNpdHksSGUuc3R5bGUub3BhY2l0eTwuMSYmKEhlLnN0eWxlLm9wYWNpdHk9MCxjbGVhckludGVydmFsKFllKSl9KSw1MCl9KSwxZTMpfSx3aW5kb3cucHJpbnQ9d2luZG93LmRlYnVnfSkoKX0pKCk7
CiAgICBJbWFnZU1hcFByby5pbml0KCIjaW1hZ2UtbWFwLXBybyIsIHsKICAgICAgICBpZDogIjM5MzhlNDZkLTJjOTAtNDQ0Ny04NTg1LWVhZjYzMzg0OTZlYiIsCiAgICAgICAgZ2VuZXJhbDogeyBuYW1lOiAiR2xvYmFsIERpc3RyaWJ1dG9yIiwgc2hvcnRjb2RlOiAiZ2xvYmFsLWRpc3RyaWJ1dG9yLW1hcCIsIHJlc3BvbnNpdmU6IGZhbHNlIH0sCiAgICAgICAgZnVsbHNjcmVlbjogeyBzdGFydF9pbl9mdWxsc2NyZWVuX21vZGU6IHRydWUgfSwKICAgICAgICB6b29taW5nOiB7IGVuYWJsZV96b29taW5nOiB0cnVlIH0sCiAgICAgICAgY3VzdG9tX2NvZGU6IHsKICAgICAgICAgICAgY3VzdG9tX2NzczoKICAgICAgICAgICAgICAgICcuaW1wLXRvb2x0aXAge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5pbXAtdG9vbHRpcCAuaW1wLXRvb2x0aXAtY29udGVudCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTkwcHggIWltcG9ydGFudDtcbn1cblxuLmltcC10b29sdGlwIC5pbXAtdG9vbHRpcC1jb250ZW50IGgxLFxuLmltcC10b29sdGlwIC5pbXAtdG9vbHRpcC1jb250ZW50IGgyLFxuLmltcC10b29sdGlwIC5pbXAtdG9vbHRpcC1jb250ZW50IGgzIHtcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBJbnRlciBWYXJpYWJsZWZvbnQgT3BzeiBXZ2h0IiwgQXJpYWwsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgMTJweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbi5pbXAtdG9vbHRpcCAuaW1wLXRvb2x0aXAtY29udGVudCBoMSBzcGFuLFxuLmltcC10b29sdGlwIC5pbXAtdG9vbHRpcC1jb250ZW50IGgyIHNwYW4sXG4uaW1wLXRvb2x0aXAgLmltcC10b29sdGlwLWNvbnRlbnQgaDMgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogSW50ZXIgVmFyaWFibGVmb250IE9wc3ogV2dodCIsIEFyaWFsLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLmltcC10b29sdGlwIC5pbXAtdG9vbHRpcC1jb250ZW50IGRpdiB7XG4gICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogSW50ZXIgVmFyaWFibGVmb250IE9wc3ogV2dodCIsIEFyaWFsLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbi5pbXAtdG9vbHRpcCAuaW1wLXRvb2x0aXAtY29udGVudCBkaXYgYntcbiAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMTZweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBJbnRlciBWYXJpYWJsZWZvbnQgT3BzeiBXZ2h0IiwgQXJpYWwsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuLmltcC10b29sdGlwIC5pbXAtdG9vbHRpcC1jb250ZW50IGRpdiBhIHtcbiAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMTZweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBJbnRlciBWYXJpYWJsZWZvbnQgT3BzeiBXZ2h0IiwgQXJpYWwsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4uaW1wLXRvb2x0aXAgLmhzLWFycm93LWxlZnR7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDI0JSAhaW1wb3J0YW50O1xuICAgIHRvcDogNjAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGxlZnQ6IHVuc2V0O1xuICAgIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG4uaW1wLXRvb2x0aXAgLmhzLWFycm93LWxlZnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogIiI7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBsZWZ0OiAtMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNXB4O1xufVxuLmltcC10b29sdGlwW2RhdGEtdG9vbHRpcC1pZD0iNDZmYmY0MGUtMjJlMi00NTA2LWJjYjAtYWUwNjAxYzVmZjkzIl0ge1xuICBsZWZ0OiAtNjElO1xuICBib3R0b206IDlweDtcbn1cbi5pbXAtdG9vbHRpcFtkYXRhLXRvb2x0aXAtaWQ9ImNmMTcxYjE0LWE0ZmEtNGIzYy1hM2ViLTk2OWM1MTFiZDY2MyJdIHtcbiAgbGVmdDogOCU7XG59XG4uaW1wLXRvb2x0aXBbZGF0YS10b29sdGlwLWlkPSJhZWI5ZDk1YS05NWQ4LTQwYzgtOGNhOC1hM2IyYmRhNjdiMzciXSB7XG4gIGxlZnQ6IDglO1xuICBib3R0b206IDE1cHg7XG59XG4uaW1wLXRvb2x0aXBbZGF0YS10b29sdGlwLWlkPSI2MDNjOWJkMS01OTAwLTQ4NWMtYjdhNy1iMDJkNWVkNWI3NGYiXSB7XG4gIGxlZnQ6IDclO1xuICBib3R0b206IDExcHg7XG59XG4uaW1wLXRvb2x0aXBbZGF0YS10b29sdGlwLWlkPSJkMGMxZTE3ZS04YzI3LTRmMWUtYTE3Yi00YzBhMjk4MWZjM2QiXSB7XG4gICAgYm90dG9tOiAyN3B4O1xuICAgIGxlZnQ6IDklO1xufVxuLmltcC10b29sdGlwW2RhdGEtdG9vbHRpcC1pZD0iNmMxYWQ5ZDgtMmJmMi00NmFkLWFjMDctODhjMzZhNTc5MjRmIl0ge1xuIGJvdHRvbTogMzdweDtcbn1cbi5pbXAtdG9vbHRpcFtkYXRhLXRvb2x0aXAtaWQ9ImFiODhkYjJiLWNjMDQtNDI0MS1iYWUyLTFlM2FmYThmMjdmNiJdIHtcbiAgICAgIGxlZnQ6IDExJTtcbiAgICBib3R0b206IDEwcHg7XG59XG4uaW1wLXRvb2x0aXBbZGF0YS10b29sdGlwLWlkPSJmNGY0OWNmNS1mOTM2LTQyZjAtOTkwNy1iMzA3ZGFlYWI1OWUiXSB7XG4gICAgICBsZWZ0OiA3JTtcbiAgICBib3R0b206IDEwcHg7XG59XG4uaW1wLXRvb2x0aXBbZGF0YS10b29sdGlwLWlkPSJkYzc0YmE3Ni1jMjllLTQyNWYtYTYzMi1lMWM1ZjYxMDdmYzYiXSB7XG4gICAgIGxlZnQ6IC0xMiU7XG4gICAgYm90dG9tOiAyOHB4O1xufVxuLmltcC10b29sdGlwW2RhdGEtdG9vbHRpcC1pZD0iZjMyOTAyYWYtZGU1My00M2FhLTgxN2YtNDczMzA3Zjk0MGUwIl0ge1xuICAgICAgbGVmdDogLTExJTtcbiAgICBib3R0b206IDExcHg7XG59XG4uaW1wLXRvb2x0aXBbZGF0YS10b29sdGlwLWlkPSI2ZTkyYjA5My1iMGVmLTRkZWYtOTUyOC00NTlhNmVjZThmZDgiXSB7XG4gIGxlZnQ6IC05MiU7XG4gIGJvdHRvbTogLTIwcHg7XG59XG4uaW1wLXRvb2x0aXBbZGF0YS10b29sdGlwLWlkPSI4ZDljNmU5Mi0zYTBlLTQxMWQtYTBmNC01NDhhNTNiNThkNzgiXSB7XG4gIGxlZnQ6IC05JTtcbiAgICBib3R0b206IDIycHg7XG59XG4uaW1wLXRvb2x0aXBbZGF0YS10b29sdGlwLWlkPSI5NDNhMjcyMC02Yjk1LTQwYzItYmU5ZC0xYTM4OTM3OWYxNmIiXSB7XG4gICAgdG9wOiAtMjBweDtcbiAgICBsZWZ0OiA5JTtcbn1cbi5pbXAtdG9vbHRpcFtkYXRhLXRvb2x0aXAtaWQ9IjI2NWQzNzE2LTUxZTEtNGM4NS04NTMwLWQyODU5MDU3MzRmOSJdIHtcbiAgICBsZWZ0OiAtMTQlO1xuICB9XG4uaW1wLXRvb2x0aXBbZGF0YS10b29sdGlwLWlkPSI1MzhiMjljZS1lOGZmLTQ2ZDEtYjhjNC0zYjAxOGQxNmVlMDEiXSB7XG4gICAgbGVmdDogLTE2NyU7XG4gICAgdG9wOiA2NnB4O1xuICB9XG4uaW1wLXRvb2x0aXBbZGF0YS10b29sdGlwLWlkPSJiMWM4MjA2NS1lMTZlLTQzOWUtODkwZS00YWJhZTYzNTdjMWEiXSB7XG4gICAgbGVmdDogLTklO1xuICAgIGJvdHRvbTogN3B4O1xuICB9XG4uaW1wLXRvb2x0aXBbZGF0YS10b29sdGlwLWlkPSI4Y2Y0ZWM4YS1jMzgxLTRlMGItOWI2Mi1mNDI0ZGU1NGVlN2UiXSB7XG4gICAgbGVmdDogLTQ5JTtcbiAgICBib3R0b206IC0zMnB4O1xuICB9XG4uaW1wLXRvb2x0aXBbZGF0YS10b29sdGlwLWlkPSJiODNhYmM4MS0wNWUxLTQ3NjUtYWQzMS0wNDAyZGJlZDZiNzgiXSB7XG4gICAgbGVmdDogLTE0NSU7XG4gICAgYm90dG9tOiAtOHB4O1xuICB9LmltcC10b29sdGlwW2RhdGEtdG9vbHRpcC1pZD0iYjgzYWJjODEtMDVlMS00NzY1LWFkMzEtMDQwMmRiZWQ2Yjc4Il0gLmhzLWFycm93LmhzLWFycm93LWxlZnQge1xuICAgIGxlZnQ6IDEwNCU7XG4gIH1cbi5pbXAtdG9vbHRpcFtkYXRhLXRvb2x0aXAtaWQ9ImI4M2FiYzgxLTA1ZTEtNDc2NS1hZDMxLTA0MDJkYmVkNmI3OCJdIC5ocy1hcnJvdy5ocy1hcnJvdy1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH0nLAogICAgICAgIH0sCiAgICAgICAgYXJ0Ym9hcmRzOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHRpdGxlOiAiV29ybGQgTWFwIiwKICAgICAgICAgICAgICAgIGJhY2tncm91bmRfdHlwZTogImltYWdlIiwKICAgICAgICAgICAgICAgIGltYWdlX3VybDogImh0dHBzOi8vZGVtdGVjaC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDUvTWFwLTMucG5nIiwKICAgICAgICAgICAgICAgIHdpZHRoOiAxMzYwLAogICAgICAgICAgICAgICAgaGVpZ2h0OiA2OTIsCiAgICAgICAgICAgICAgICBjaGlsZHJlbjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICI5MDQxYTk2Yy04MjE5LTRiMDgtYTNmMy1lOGJjYzcwOTJmMzkiLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogIkltcG9ydGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInN2Zy1zaW5nbGUiLAogICAgICAgICAgICAgICAgICAgICAgICB4OiA4Ny42LAogICAgICAgICAgICAgICAgICAgICAgICB5OiA3OC40LAogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMC43MzUyOTQxMTc2NDcwNTg4LAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNywKICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICBzdmc6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWw6ICdcbjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2RfNTExMF8zNTA2KSI+XG48Y2lyY2xlIGN4PSI1IiBjeT0iNSIgcj0iNSIgZmlsbD0iI0ZFQ0EwMSIvPlxuPC9nPlxuPGRlZnM+XG48ZmlsdGVyIGlkPSJmaWx0ZXIwX2RfNTExMF8zNTA2IiB4PSIwIiB5PSIwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTEiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj5cbjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+XG48ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlQWxwaGEiIHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCIgcmVzdWx0PSJoYXJkQWxwaGEiLz5cbjxmZU9mZnNldCBkeT0iMSIvPlxuPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0ib3V0Ii8+XG48ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMSAwIi8+XG48ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvd181MTEwXzM1MDYiLz5cbjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iZWZmZWN0MV9kcm9wU2hhZG93XzUxMTBfMzUwNiIgcmVzdWx0PSJzaGFwZSIvPlxuPC9maWx0ZXI+XG48L2RlZnM+XG4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveDogIjAgMCAxMCAxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiZWI4YWVmY2UtNGVkYi00YTAzLTk0YTYtZTZkZGUwZTlkY2IzIiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICJJbXBvcnRlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJzdmctc2luZ2xlIiwKICAgICAgICAgICAgICAgICAgICAgICAgeDogNzQuOCwKICAgICAgICAgICAgICAgICAgICAgICAgeTogNjAuNSwKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDAuNzM1Mjk0MTE3NjQ3MDU4OCwKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjcsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpYzogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgc3ZnOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sOiAnXG48ZyBmaWx0ZXI9InVybCgjZmlsdGVyMF9kXzUxMTBfMzUwNikiPlxuPGNpcmNsZSBjeD0iNSIgY3k9IjUiIHI9IjUiIGZpbGw9IiNGRUNBMDEiLz5cbjwvZz5cbjxkZWZzPlxuPGZpbHRlciBpZD0iZmlsdGVyMF9kXzUxMTBfMzUwNiIgeD0iMCIgeT0iMCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjExIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+XG48ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPlxuPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+XG48ZmVPZmZzZXQgZHk9IjEiLz5cbjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9Im91dCIvPlxuPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEgMCIvPlxuPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfNTExMF8zNTA2Ii8+XG48ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd181MTEwXzM1MDYiIHJlc3VsdD0ic2hhcGUiLz5cbjwvZmlsdGVyPlxuPC9kZWZzPlxuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g6ICIwIDAgMTAgMTAiLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZDogImI2OWE0Y2M1LWQ0M2EtNDNhMy1hMjhiLTE0ZjVjYTU0NjNmYyIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAiSW1wb3J0ZWQiLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAic3ZnLXNpbmdsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHg6IDY4LjUsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDQ2LjUsCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjczNTI5NDExNzY0NzA1ODgsCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS43LAogICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWM6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZzogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbDogJ1xuPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF81MTEwXzM1MDYpIj5cbjxjaXJjbGUgY3g9IjUiIGN5PSI1IiByPSI1IiBmaWxsPSIjRkVDQTAxIi8+XG48L2c+XG48ZGVmcz5cbjxmaWx0ZXIgaWQ9ImZpbHRlcjBfZF81MTEwXzM1MDYiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPlxuPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz5cbjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPlxuPGZlT2Zmc2V0IGR5PSIxIi8+XG48ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJvdXQiLz5cbjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxIDAiLz5cbjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0iZWZmZWN0MV9kcm9wU2hhZG93XzUxMTBfMzUwNiIvPlxuPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfNTExMF8zNTA2IiByZXN1bHQ9InNoYXBlIi8+XG48L2ZpbHRlcj5cbjwvZGVmcz5cbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94OiAiMCAwIDEwIDEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICJmMTZiMWMzZS0zMzIxLTQ5YTItODdhNC1lM2Y4OTgzNmY2YjQiLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogIkltcG9ydGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInN2Zy1zaW5nbGUiLAogICAgICAgICAgICAgICAgICAgICAgICB4OiA3OS41LAogICAgICAgICAgICAgICAgICAgICAgICB5OiA0MCwKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDAuNzM1Mjk0MTE3NjQ3MDU4OCwKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjcsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpYzogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgc3ZnOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sOiAnXG48ZyBmaWx0ZXI9InVybCgjZmlsdGVyMF9kXzUxMTBfMzUwNikiPlxuPGNpcmNsZSBjeD0iNSIgY3k9IjUiIHI9IjUiIGZpbGw9IiNGRUNBMDEiLz5cbjwvZz5cbjxkZWZzPlxuPGZpbHRlciBpZD0iZmlsdGVyMF9kXzUxMTBfMzUwNiIgeD0iMCIgeT0iMCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjExIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+XG48ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPlxuPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+XG48ZmVPZmZzZXQgZHk9IjEiLz5cbjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9Im91dCIvPlxuPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEgMCIvPlxuPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfNTExMF8zNTA2Ii8+XG48ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd181MTEwXzM1MDYiIHJlc3VsdD0ic2hhcGUiLz5cbjwvZmlsdGVyPlxuPC9kZWZzPlxuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g6ICIwIDAgMTAgMTAiLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZDogIjljMzYwZWFiLWFiMDItNGIwMS1iMmIyLTNlMGU0NDFiYzY3YiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAiSW1wb3J0ZWQiLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAic3ZnLXNpbmdsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHg6IDY3LjksCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDM1LAogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMC43MzUyOTQxMTc2NDcwNTg4LAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNywKICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICBzdmc6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWw6ICdcbjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2RfNTExMF8zNTA2KSI+XG48Y2lyY2xlIGN4PSI1IiBjeT0iNSIgcj0iNSIgZmlsbD0iI0ZFQ0EwMSIvPlxuPC9nPlxuPGRlZnM+XG48ZmlsdGVyIGlkPSJmaWx0ZXIwX2RfNTExMF8zNTA2IiB4PSIwIiB5PSIwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTEiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj5cbjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+XG48ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlQWxwaGEiIHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCIgcmVzdWx0PSJoYXJkQWxwaGEiLz5cbjxmZU9mZnNldCBkeT0iMSIvPlxuPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0ib3V0Ii8+XG48ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMSAwIi8+XG48ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvd181MTEwXzM1MDYiLz5cbjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iZWZmZWN0MV9kcm9wU2hhZG93XzUxMTBfMzUwNiIgcmVzdWx0PSJzaGFwZSIvPlxuPC9maWx0ZXI+XG48L2RlZnM+XG4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveDogIjAgMCAxMCAxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiYWRiMmRhZjctNjk5My00NzY3LThmMjEtNWI0ZWMyMDZiYzdiIiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICJJbXBvcnRlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJzdmctc2luZ2xlIiwKICAgICAgICAgICAgICAgICAgICAgICAgeDogNTQuNywKICAgICAgICAgICAgICAgICAgICAgICAgeTogNDYuNSwKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDAuNzM1Mjk0MTE3NjQ3MDU4OCwKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjcsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpYzogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgc3ZnOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sOiAnXG48ZyBmaWx0ZXI9InVybCgjZmlsdGVyMF9kXzUxMTBfMzUwNikiPlxuPGNpcmNsZSBjeD0iNSIgY3k9IjUiIHI9IjUiIGZpbGw9IiNGRUNBMDEiLz5cbjwvZz5cbjxkZWZzPlxuPGZpbHRlciBpZD0iZmlsdGVyMF9kXzUxMTBfMzUwNiIgeD0iMCIgeT0iMCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjExIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+XG48ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPlxuPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+XG48ZmVPZmZzZXQgZHk9IjEiLz5cbjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9Im91dCIvPlxuPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEgMCIvPlxuPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfNTExMF8zNTA2Ii8+XG48ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd181MTEwXzM1MDYiIHJlc3VsdD0ic2hhcGUiLz5cbjwvZmlsdGVyPlxuPC9kZWZzPlxuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g6ICIwIDAgMTAgMTAiLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZDogIjJkMTRiYzllLWNjNmYtNDhkOS1iM2FiLWMxNTBjMzZlYmMxZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAiSW1wb3J0ZWQiLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAic3ZnLXNpbmdsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHg6IDU0LjMsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDc2LjMsCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjczNTI5NDExNzY0NzA1ODgsCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS43LAogICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWM6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZzogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbDogJ1xuPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF81MTEwXzM1MDYpIj5cbjxjaXJjbGUgY3g9IjUiIGN5PSI1IiByPSI1IiBmaWxsPSIjRkVDQTAxIi8+XG48L2c+XG48ZGVmcz5cbjxmaWx0ZXIgaWQ9ImZpbHRlcjBfZF81MTEwXzM1MDYiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPlxuPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz5cbjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPlxuPGZlT2Zmc2V0IGR5PSIxIi8+XG48ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJvdXQiLz5cbjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxIDAiLz5cbjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0iZWZmZWN0MV9kcm9wU2hhZG93XzUxMTBfMzUwNiIvPlxuPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfNTExMF8zNTA2IiByZXN1bHQ9InNoYXBlIi8+XG48L2ZpbHRlcj5cbjwvZGVmcz5cbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94OiAiMCAwIDEwIDEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICIwZWRjYmQ5Yi0zNjhjLTQwZmMtODhmNi0wNWZkOWQwNGZjOGUiLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogIkltcG9ydGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInN2Zy1zaW5nbGUiLAogICAgICAgICAgICAgICAgICAgICAgICB4OiAyNi41LAogICAgICAgICAgICAgICAgICAgICAgICB5OiA4MSwKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDAuNzM1Mjk0MTE3NjQ3MDU4OCwKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjcsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpYzogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgc3ZnOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sOiAnXG48ZyBmaWx0ZXI9InVybCgjZmlsdGVyMF9kXzUxMTBfMzUwNikiPlxuPGNpcmNsZSBjeD0iNSIgY3k9IjUiIHI9IjUiIGZpbGw9IiNGRUNBMDEiLz5cbjwvZz5cbjxkZWZzPlxuPGZpbHRlciBpZD0iZmlsdGVyMF9kXzUxMTBfMzUwNiIgeD0iMCIgeT0iMCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjExIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+XG48ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPlxuPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+XG48ZmVPZmZzZXQgZHk9IjEiLz5cbjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9Im91dCIvPlxuPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEgMCIvPlxuPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfNTExMF8zNTA2Ii8+XG48ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd181MTEwXzM1MDYiIHJlc3VsdD0ic2hhcGUiLz5cbjwvZmlsdGVyPlxuPC9kZWZzPlxuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g6ICIwIDAgMTAgMTAiLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZDogIjEzMzc5Mzg1LWVlMWQtNGNjNS04ZWJkLTc2Njc3YWZmMjFlZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAiSW1wb3J0ZWQiLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAic3ZnLXNpbmdsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHg6IDI4LjcsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDgwLjIsCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjczNTI5NDExNzY0NzA1ODgsCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS43LAogICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWM6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZzogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbDogJ1xuPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF81MTEwXzM1MDYpIj5cbjxjaXJjbGUgY3g9IjUiIGN5PSI1IiByPSI1IiBmaWxsPSIjRkVDQTAxIi8+XG48L2c+XG48ZGVmcz5cbjxmaWx0ZXIgaWQ9ImZpbHRlcjBfZF81MTEwXzM1MDYiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPlxuPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz5cbjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPlxuPGZlT2Zmc2V0IGR5PSIxIi8+XG48ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJvdXQiLz5cbjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxIDAiLz5cbjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0iZWZmZWN0MV9kcm9wU2hhZG93XzUxMTBfMzUwNiIvPlxuPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfNTExMF8zNTA2IiByZXN1bHQ9InNoYXBlIi8+XG48L2ZpbHRlcj5cbjwvZGVmcz5cbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94OiAiMCAwIDEwIDEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICI3N2Q1OWIyYi1kNWU1LTQ3ZmUtYjVkMy04MmQxMDRlNTQwN2UiLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogIkltcG9ydGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInN2Zy1zaW5nbGUiLAogICAgICAgICAgICAgICAgICAgICAgICB4OiAzMi40LAogICAgICAgICAgICAgICAgICAgICAgICB5OiA2Ny41LAogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMC43MzUyOTQxMTc2NDcwNTg4LAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNywKICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICBzdmc6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWw6ICdcbjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2RfNTExMF8zNTA2KSI+XG48Y2lyY2xlIGN4PSI1IiBjeT0iNSIgcj0iNSIgZmlsbD0iI0ZFQ0EwMSIvPlxuPC9nPlxuPGRlZnM+XG48ZmlsdGVyIGlkPSJmaWx0ZXIwX2RfNTExMF8zNTA2IiB4PSIwIiB5PSIwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTEiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj5cbjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+XG48ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlQWxwaGEiIHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCIgcmVzdWx0PSJoYXJkQWxwaGEiLz5cbjxmZU9mZnNldCBkeT0iMSIvPlxuPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0ib3V0Ii8+XG48ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMSAwIi8+XG48ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvd181MTEwXzM1MDYiLz5cbjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iZWZmZWN0MV9kcm9wU2hhZG93XzUxMTBfMzUwNiIgcmVzdWx0PSJzaGFwZSIvPlxuPC9maWx0ZXI+XG48L2RlZnM+XG4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveDogIjAgMCAxMCAxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiMWQ4NDkxMTUtMmU2MS00YzM4LWE4MmQtNWY5YTNiYzg0NTk3IiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICJJbXBvcnRlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJzdmctc2luZ2xlIiwKICAgICAgICAgICAgICAgICAgICAgICAgeDogMjUuNywKICAgICAgICAgICAgICAgICAgICAgICAgeTogNjYsCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjczNTI5NDExNzY0NzA1ODgsCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS43LAogICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWM6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZzogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbDogJ1xuPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF81MTEwXzM1MDYpIj5cbjxjaXJjbGUgY3g9IjUiIGN5PSI1IiByPSI1IiBmaWxsPSIjRkVDQTAxIi8+XG48L2c+XG48ZGVmcz5cbjxmaWx0ZXIgaWQ9ImZpbHRlcjBfZF81MTEwXzM1MDYiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPlxuPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz5cbjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPlxuPGZlT2Zmc2V0IGR5PSIxIi8+XG48ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJvdXQiLz5cbjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxIDAiLz5cbjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0iZWZmZWN0MV9kcm9wU2hhZG93XzUxMTBfMzUwNiIvPlxuPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfNTExMF8zNTA2IiByZXN1bHQ9InNoYXBlIi8+XG48L2ZpbHRlcj5cbjwvZGVmcz5cbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94OiAiMCAwIDEwIDEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICJhMjgyOWE3ZS02MDJhLTQwMTQtYTJiNi02MTkwMWE2NWVjYmEiLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogIkltcG9ydGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInN2Zy1zaW5nbGUiLAogICAgICAgICAgICAgICAgICAgICAgICB4OiAxNy42LAogICAgICAgICAgICAgICAgICAgICAgICB5OiA0OC4xLAogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMC43MzUyOTQxMTc2NDcwNTg4LAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNywKICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICBzdmc6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWw6ICdcbjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2RfNTExMF8zNTA2KSI+XG48Y2lyY2xlIGN4PSI1IiBjeT0iNSIgcj0iNSIgZmlsbD0iI0ZFQ0EwMSIvPlxuPC9nPlxuPGRlZnM+XG48ZmlsdGVyIGlkPSJmaWx0ZXIwX2RfNTExMF8zNTA2IiB4PSIwIiB5PSIwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTEiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj5cbjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+XG48ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlQWxwaGEiIHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCIgcmVzdWx0PSJoYXJkQWxwaGEiLz5cbjxmZU9mZnNldCBkeT0iMSIvPlxuPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0ib3V0Ii8+XG48ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMSAwIi8+XG48ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvd181MTEwXzM1MDYiLz5cbjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iZWZmZWN0MV9kcm9wU2hhZG93XzUxMTBfMzUwNiIgcmVzdWx0PSJzaGFwZSIvPlxuPC9maWx0ZXI+XG48L2RlZnM+XG4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveDogIjAgMCAxMCAxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiZmM2NWQ0ZjYtMzEyNS00MDNmLWFiNmMtOWY3Y2Y2YjMzMDliIiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICJJbXBvcnRlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJzdmctc2luZ2xlIiwKICAgICAgICAgICAgICAgICAgICAgICAgeDogMTMsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDI4LjksCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjczNTI5NDExNzY0NzA1ODgsCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS43LAogICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWM6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZzogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbDogJ1xuPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF81MTEwXzM1MDYpIj5cbjxjaXJjbGUgY3g9IjUiIGN5PSI1IiByPSI1IiBmaWxsPSIjRkVDQTAxIi8+XG48L2c+XG48ZGVmcz5cbjxmaWx0ZXIgaWQ9ImZpbHRlcjBfZF81MTEwXzM1MDYiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPlxuPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz5cbjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPlxuPGZlT2Zmc2V0IGR5PSIxIi8+XG48ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJvdXQiLz5cbjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxIDAiLz5cbjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0iZWZmZWN0MV9kcm9wU2hhZG93XzUxMTBfMzUwNiIvPlxuPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfNTExMF8zNTA2IiByZXN1bHQ9InNoYXBlIi8+XG48L2ZpbHRlcj5cbjwvZGVmcz5cbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94OiAiMCAwIDEwIDEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICIwYTIzYTY5Zi0zZGEyLTQ1YmQtOWEwOC1jYTJiODYxMWU1OGEiLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogIkltcG9ydGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInN2Zy1zaW5nbGUiLAogICAgICAgICAgICAgICAgICAgICAgICB4OiAyNi4yLAogICAgICAgICAgICAgICAgICAgICAgICB5OiA1OS42LAogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMC43MzUyOTQxMTc2NDcwNTg4LAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNywKICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICBzdmc6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWw6ICdcbjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2RfNTExMF8zNTA2KSI+XG48Y2lyY2xlIGN4PSI1IiBjeT0iNSIgcj0iNSIgZmlsbD0iI0ZFQ0EwMSIvPlxuPC9nPlxuPGRlZnM+XG48ZmlsdGVyIGlkPSJmaWx0ZXIwX2RfNTExMF8zNTA2IiB4PSIwIiB5PSIwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTEiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj5cbjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+XG48ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlQWxwaGEiIHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCIgcmVzdWx0PSJoYXJkQWxwaGEiLz5cbjxmZU9mZnNldCBkeT0iMSIvPlxuPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0ib3V0Ii8+XG48ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMSAwIi8+XG48ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvd181MTEwXzM1MDYiLz5cbjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iZWZmZWN0MV9kcm9wU2hhZG93XzUxMTBfMzUwNiIgcmVzdWx0PSJzaGFwZSIvPlxuPC9maWx0ZXI+XG48L2RlZnM+XG4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveDogIjAgMCAxMCAxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiNjIyYjQ4MzEtODU5ZS00YjA0LWJhOTAtZjU2ZmRmODVlMGYzIiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICJJbXBvcnRlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJzdmctc2luZ2xlIiwKICAgICAgICAgICAgICAgICAgICAgICAgeDogMTQuOCwKICAgICAgICAgICAgICAgICAgICAgICAgeTogMzguOSwKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDAuNzM1Mjk0MTE3NjQ3MDU4OCwKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjcsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpYzogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgc3ZnOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sOiAnXG48ZyBmaWx0ZXI9InVybCgjZmlsdGVyMF9kXzUxMTBfMzUwNikiPlxuPGNpcmNsZSBjeD0iNSIgY3k9IjUiIHI9IjUiIGZpbGw9IiNGRUNBMDEiLz5cbjwvZz5cbjxkZWZzPlxuPGZpbHRlciBpZD0iZmlsdGVyMF9kXzUxMTBfMzUwNiIgeD0iMCIgeT0iMCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjExIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+XG48ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPlxuPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+XG48ZmVPZmZzZXQgZHk9IjEiLz5cbjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9Im91dCIvPlxuPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEgMCIvPlxuPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfNTExMF8zNTA2Ii8+XG48ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd181MTEwXzM1MDYiIHJlc3VsdD0ic2hhcGUiLz5cbjwvZmlsdGVyPlxuPC9kZWZzPlxuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g6ICIwIDAgMTAgMTAiLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZDogIjUzOGIyOWNlLWU4ZmYtNDZkMS1iOGM0LTNiMDE4ZDE2ZWUwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAiQ29tbW9ud2VhbHRoIG9mIEluZGVwZW5kZW50IFN0YXRlcyIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJwb2x5IiwKICAgICAgICAgICAgICAgICAgICAgICAgeDogNTkuODg4OTIzNTU3NDgwMTUsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDcuNDk4MjY0MTA1OTYyMDEwNSwKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM4Ljc0NjY5MDIwMzAwMDg3NCwKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMy40NzgwNTQ1NzkxMjY0NywKICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdF9zdHlsZTogeyBvcGFjaXR5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlb3Zlcl9zdHlsZTogeyBiYWNrZ3JvdW5kX2NvbG9yOiAiI2ZlY2EwMSIsIGJhY2tncm91bmRfb3BhY2l0eTogMC42Njc1NTU5OTY4Mzc0MTkxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBfc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZF9jb2xvcjogIiNmZmZmZmYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvX3dpZHRoOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcF9jb250ZW50OiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogIkhlYWRpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICc8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAyMC44cHg7Ij5Db21tb253ZWFsdGggb2YgSW5kZXBlbmRlbnQgU3RhdGVzPC9zcGFuPicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGluZzogImgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcjogeyBpZDogIiIsIGNsYXNzZXM6ICIiLCBjc3M6ICIiIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogInNhbnMtc2VyaWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogMjAuOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAiIzAwMDAwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogImxlZnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94TW9kZWw6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogeyB0b3A6IDEwLCBib3R0b206IDEwLCBsZWZ0OiAxMCwgcmlnaHQ6IDEwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogIjY4NzcwYzg4LTk0OGUtNGM1MS04OTQ1LTI4OTI1YjlmNzAxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJQYXJhZ3JhcGgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICc8ZGl2PlxuICAgIDxkaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxiPkdpZHJvc25hYiBTZXJ2aWNlIExMQzxiciAvPjxiciAvPjwvYj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+MDUwMDQwLCBBbG1hdHksIEthemFraHN0YW48L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+QXR0bjogVGltdXIgWWVzYmVyZ2Vub3YgLyBTYWxlcyBEaXJlY3RvcjwvZGl2PlxuICAgICAgICAgICAgPGRpdj5FbWFpbDxzdHJvbmc+OiA8YSBocmVmPSJtYWlsdG86Z2lkcm9zbmFiXzEwQG1haWwucnUiPmdpZHJvc25hYl8xMEBtYWlsLnJ1PC9hPiwgPGEgaHJlZj0ibWFpbHRvOmluZm9AZ2lkcm9zbmFiLmt6Ij5pbmZvQGdpZHJvc25hYi5rejwvYT48L3N0cm9uZz48L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+U2t5cGU6IHRpbWFqb2tlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlBob25lOiA8YSBocmVmPSJ0ZWw6Kzc3MjczMTc4MzMwIj4rNyg3MjcpMzE3ODMzMDwvYT48L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+TW9iaWxlOiA8YSBocmVmPSJ0ZWw6Kzc3MDE4MTIzNjgzIj4rNyg3MDEpODEyMzY4MzwvYT48L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+V2Vic2l0ZTxzdHJvbmc+OiA8YSBocmVmPSJodHRwczovL3d3dy5naWRyb3NuYWIua3oiIHRhcmdldD0iX2JsYW5rIj53d3cuZ2lkcm9zbmFiLmt6PC9hPjwvc3Ryb25nPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj48L2Rpdj5cbiAgICAgICAgPGRpdj48L2Rpdj5cbiAgICAgICAgPGRpdj48L2Rpdj5cbiAgICAgICAgPGRpdj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PjwvZGl2PlxuICAgIDxkaXY+PC9kaXY+XG48L2Rpdj5cbjxkaXY+PC9kaXY+XG48ZGl2PjwvZGl2PicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAiIiwgY3NzOiAiIiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICJzYW5zLXNlcmlmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDE0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAyMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjMDAwMDAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hNb2RlbDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB7IHRvcDogMTAsIGJvdHRvbTogMTAsIGxlZnQ6IDEwLCByaWdodDogMTAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiZWEyMDJmN2QtZDg2ZS00NzJkLWE2N2MtNjlmZjkzMDY1NzI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgIHhfaW1hZ2VfYmFja2dyb3VuZDogNTkuODg4OTIzNTU3NDgwMTUsCiAgICAgICAgICAgICAgICAgICAgICAgIHlfaW1hZ2VfYmFja2dyb3VuZDogNy40OTgyNjQxMDU5NjIwMTA1LAogICAgICAgICAgICAgICAgICAgICAgICBwb2ludHM6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuMDk3OTQ5ODg2MTA0Nzg0LCB5OiAyNi45NDMwMDUxODEzNDcxNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNS4wMzQxNjg1NjQ5MjAyNzIsIHk6IDI5LjAxNTU0NDA0MTQ1MDc3NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNS4yNjE5NTg5OTc3MjIwOTUsIHk6IDI3LjcyMDIwNzI1Mzg4NjAxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE0LjY5MjQ4MjkxNTcxNzU0LCB5OiAyNS45MDY3MzU3NTEyOTUzMzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTQuMjM2OTAyMDUwMTEzODk0LCB5OiAyMy41NzUxMjk1MzM2Nzg3NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMy44OTUyMTY0MDA5MTExNjIsIHk6IDIyLjUzODg2MDEwMzYyNjk0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE1LjE0ODA2Mzc4MTMyMTE4MiwgeTogMTkuNDMwMDUxODEzNDcxNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNS40ODk3NDk0MzA1MjM5MTksIHk6IDE2LjgzOTM3ODIzODM0MTk3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE1Ljk0NTMzMDI5NjEyNzU2NCwgeTogMTQuNzY2ODM5Mzc4MjM4MzQxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE3LjA4NDI4MjQ2MDEzNjY3NCwgeTogMTQuNzY2ODM5Mzc4MjM4MzQxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE3Ljc2NzY1Mzc1ODU0MjE0LCB5OiAxNS41NDQwNDE0NTA3NzcyMDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTcuODgxNTQ4OTc0OTQzMDUsIHk6IDE3LjYxNjU4MDMxMDg4MDgyOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNy44ODE1NDg5NzQ5NDMwNSwgeTogMTguOTExOTE3MDk4NDQ1NTk2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE4LjEwOTMzOTQwNzc0NDg3NiwgeTogMjEuMjQzNTIzMzE2MDYyMTc3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE4LjEwOTMzOTQwNzc0NDg3NiwgeTogMjQuMDkzMjY0MjQ4NzA0NjY0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE4LjEwOTMzOTQwNzc0NDg3NiwgeTogMjYuNDI0ODcwNDY2MzIxMjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTguMTA5MzM5NDA3NzQ0ODc2LCB5OiAyOC43NTY0NzY2ODM5Mzc4MjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTguMTA5MzM5NDA3NzQ0ODc2LCB5OiAzMC44MjkwMTU1NDQwNDE0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNy4xOTgxNzc2NzY1Mzc1ODYsIHk6IDMyLjEyNDM1MjMzMTYwNjIyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE2LjI4NzAxNTk0NTMzMDI5NiwgeTogMzIuOTAxNTU0NDA0MTQ1MDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTQuNDY0NjkyNDgyOTE1NzE4LCB5OiAzMy42Nzg3NTY0NzY2ODM5NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMy42Njc0MjU5NjgxMDkzNCwgeTogMzQuOTc0MDkzMjY0MjQ4NzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTQuNjkyNDgyOTE1NzE3NTQsIHk6IDM0Ljk3NDA5MzI2NDI0ODcxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE1LjM3NTg1NDIxNDEyMzAwOCwgeTogMzQuNDU1OTU4NTQ5MjIyOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNi41MTQ4MDYzNzgxMzIxMTgsIHk6IDM0LjcxNTAyNTkwNjczNTc1NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNy4zMTIwNzI4OTI5Mzg0OTUsIHk6IDM0LjcxNTAyNTkwNjczNTc1NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOC42Nzg4MTU0ODk3NDk0MzIsIHk6IDMyLjEyNDM1MjMzMTYwNjIyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE5LjM2MjE4Njc4ODE1NDg5NywgeTogMzAuMzEwODgwODI5MDE1NTQ1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE5LjQ3NjA4MjAwNDU1NTgxLCB5OiAyOS4yNzQ2MTEzOTg5NjM3MjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjAuNzI4OTI5Mzg0OTY1ODMsIHk6IDI3Ljk3OTI3NDYxMTM5ODk2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMC44NDI4MjQ2MDEzNjY3NDMsIHk6IDI5LjUzMzY3ODc1NjQ3NjY4MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMS4yOTg0MDU0NjY5NzAzODcsIHk6IDMxLjA4ODA4MjkwMTU1NDQwNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMS42NDAwOTExMTYxNzMxMiwgeTogMzIuMTI0MzUyMzMxNjA2MjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjEuNTI2MTk1ODk5NzcyMjEyLCB5OiAyOS4wMTU1NDQwNDE0NTA3NzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjEuNTI2MTk1ODk5NzcyMjEyLCB5OiAyNy45NzkyNzQ2MTEzOTg5NjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjAuODQyODI0NjAxMzY2NzQzLCB5OiAyNi45NDMwMDUxODEzNDcxNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS45MzE2NjI4NzAxNTk0NTMsIHk6IDI3LjIwMjA3MjUzODg2MDEwNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS4zNjIxODY3ODgxNTQ4OTcsIHk6IDI3LjIwMjA3MjUzODg2MDEwNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS4xMzQzOTYzNTUzNTMwNzYsIHk6IDI1LjM4ODYwMTAzNjI2OTQzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE5LjEzNDM5NjM1NTM1MzA3NiwgeTogMjMuODM0MTk2ODkxMTkxNzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTkuMjQ4MjkxNTcxNzUzOTg4LCB5OiAyMS43NjE2NTgwMzEwODgwODIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTkuMDIwNTAxMTM4OTUyMTYzLCB5OiAyMC43MjUzODg2MDEwMzYyNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS40NzYwODIwMDQ1NTU4MSwgeTogMTkuNDMwMDUxODEzNDcxNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMC4wNDU1NTgwODY1NjAzNjIsIHk6IDE2LjgzOTM3ODIzODM0MTk3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIwLjYxNTAzNDE2ODU2NDkxOCwgeTogMTguNjUyODQ5NzQwOTMyNjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjAuNjE1MDM0MTY4NTY0OTE4LCB5OiAyMC40NjYzMjEyNDM1MjMzMTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjEuMjk4NDA1NDY2OTcwMzg3LCB5OiAyMC40NjYzMjEyNDM1MjMzMTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjEuNDEyMzAwNjgzMzcxMywgeTogMTguMzkzNzgyMzgzNDE5Njg3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIyLjA5NTY3MTk4MTc3Njc2NCwgeTogMTYuODM5Mzc4MjM4MzQxOTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjIuODkyOTM4NDk2NTgzMTQsIHk6IDE2LjgzOTM3ODIzODM0MTk3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIzLjQ2MjQxNDU3ODU4NzY5OCwgeTogMTcuODc1NjQ3NjY4MzkzNzgyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI0LjAzMTg5MDY2MDU5MjI1NywgeTogMTguNjUyODQ5NzQwOTMyNjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjQuNDg3NDcxNTI2MTk1OSwgeTogMTkuMTcwOTg0NDU1OTU4NTQ2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI0LjgyOTE1NzE3NTM5ODYzNSwgeTogMTkuNDMwMDUxODEzNDcxNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNC45NDMwNTIzOTE3OTk1NDQsIHk6IDIxLjUwMjU5MDY3MzU3NTEyOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNS4yODQ3MzgwNDEwMDIyOCwgeTogMjIuNzk3OTI3NDYxMTM5ODk2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI1LjM5ODYzMzI1NzQwMzE5LCB5OiAyMy41NzUxMjk1MzM2Nzg3NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNS4zOTg2MzMyNTc0MDMxOSwgeTogMjIuMDIwNzI1Mzg4NjAxMDM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI1LjYyNjQyMzY5MDIwNTAxMiwgeTogMjAuNDY2MzIxMjQzNTIzMzE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI1LjA1Njk0NzYwODIwMDQ2LCB5OiAxNi44MzkzNzgyMzgzNDE5NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNC4yNTk2ODEwOTMzOTQwOCwgeTogMTYuODM5Mzc4MjM4MzQxOTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjMuODA0MTAwMjI3NzkwNDM1LCB5OiAxNC4yNDg3MDQ2NjMyMTI0MzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjQuODI5MTU3MTc1Mzk4NjM1LCB5OiAxNC41MDc3NzIwMjA3MjUzODcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjYuMTk1ODk5NzcyMjA5NTY4LCB5OiAxMy45ODk2MzczMDU2OTk0ODIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjcuNDQ4NzQ3MTUyNjE5NTksIHk6IDEyLjk1MzM2Nzg3NTY0NzY2NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNy43OTA0MzI4MDE4MjIzMjMsIHk6IDEyLjk1MzM2Nzg3NTY0NzY2NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNy45MDQzMjgwMTgyMjMyMzYsIHk6IDEzLjIxMjQzNTIzMzE2MDYyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI4LjM1OTkwODg4MzgyNjg4LCB5OiAxMi42OTQzMDA1MTgxMzQ3MTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjcuNzkwNDMyODAxODIyMzIzLCB5OiAxMC42MjE3NjE2NTgwMzEwODkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjguNDczODA0MTAwMjI3Nzg4LCB5OiA5LjU4NTQ5MjIyNzk3OTI3MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMC42Mzc4MTMyMTE4NDUxMDYsIHk6IDcuNTEyOTUzMzY3ODc1NjQ4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMxLjY2Mjg3MDE1OTQ1MzMwNiwgeTogNy4yNTM4ODYwMTAzNjI2OTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzMuNDg1MTkzNjIxODY3ODgsIHk6IDYuNDc2NjgzOTM3ODIzODMzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM0LjI4MjQ2MDEzNjY3NDI2LCB5OiA1LjY5OTQ4MTg2NTI4NDk3NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNS41MzUzMDc1MTcwODQyOCwgeTogNS40NDA0MTQ1MDc3NzIwMjA1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM2LjIxODY3ODgxNTQ4OTc1LCB5OiA1LjQ0MDQxNDUwNzc3MjAyMDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzcuMDE1OTQ1MzMwMjk2MTMsIHk6IDUuNDQwNDE0NTA3NzcyMDIwNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNy4yNDM3MzU3NjMwOTc5NSwgeTogNC42NjMyMTI0MzUyMzMxNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNy44MTMyMTE4NDUxMDI1MSwgeTogNC42NjMyMTI0MzUyMzMxNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC40OTY1ODMxNDM1MDc5NzYsIHk6IDMuODg2MDEwMzYyNjk0MzAwNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC44MzgyNjg3OTI3MTA3MSwgeTogMi4zMzE2MDYyMTc2MTY1OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOS45NzcyMjA5NTY3MTk4MiwgeTogMS4yOTUzMzY3ODc1NjQ3NjY4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQwLjc3NDQ4NzQ3MTUyNjE5LCB5OiAwLjI1OTA2NzM1NzUxMjk1MzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDEuNzk5NTQ0NDE5MTM0NCwgeTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MS42ODU2NDkyMDI3MzM0OSwgeTogMS41NTQ0MDQxNDUwNzc3MjAyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQyLjcxMDcwNjE1MDM0MTY4NiwgeTogMi41OTA2NzM1NzUxMjk1MzM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQyLjcxMDcwNjE1MDM0MTY4NiwgeTogMy4zNjc4NzU2NDc2NjgzOTM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQzLjM5NDA3NzQ0ODc0NzE1NCwgeTogMy4zNjc4NzU2NDc2NjgzOTM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ0LjY0NjkyNDgyOTE1NzE3LCB5OiAzLjM2Nzg3NTY0NzY2ODM5MzggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDUuNTU4MDg2NTYwMzY0NDY1LCB5OiAyLjU5MDY3MzU3NTEyOTUzMzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDUuODk5NzcyMjA5NTY3MTk2LCB5OiAzLjYyNjk0MzAwNTE4MTM0NjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDYuNjk3MDM4NzI0MzczNTgsIHk6IDQuNDA0MTQ1MDc3NzIwMjA3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ3LjI2NjUxNDgwNjM3ODEzLCB5OiA1LjE4MTM0NzE1MDI1OTA2NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ny4yNjY1MTQ4MDYzNzgxMywgeTogNi43MzU3NTEyOTUzMzY3ODc1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ3LjI2NjUxNDgwNjM3ODEzLCB5OiA3LjUxMjk1MzM2Nzg3NTY0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NS43ODU4NzY5OTMxNjYyOCwgeTogOS4zMjY0MjQ4NzA0NjYzMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NC42NDY5MjQ4MjkxNTcxNywgeTogMTEuMzk4OTYzNzMwNTY5OTQ4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQzLjM5NDA3NzQ0ODc0NzE1NCwgeTogMTIuNDM1MjMzMTYwNjIxNzYxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQyLjU5NjgxMDkzMzk0MDc3LCB5OiAxMy40NzE1MDI1OTA2NzM1NzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDIuMjU1MTI1Mjg0NzM4MDQsIHk6IDE0Ljc2NjgzOTM3ODIzODM0MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0My42MjE4Njc4ODE1NDg5NywgeTogMTQuNTA3NzcyMDIwNzI1Mzg3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ1LjIxNjQwMDkxMTE2MTczLCB5OiAxMy4yMTI0MzUyMzMxNjA2MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ni4xMjc1NjI2NDIzNjkwMiwgeTogMTIuNjk0MzAwNTE4MTM0NzE2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ2LjU4MzE0MzUwNzk3MjY2NSwgeTogMTIuNjk0MzAwNTE4MTM0NzE2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ2LjkyNDgyOTE1NzE3NTM5NSwgeTogMTIuOTUzMzY3ODc1NjQ3NjY2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ3LjM4MDQxMDAyMjc3OTA0NiwgeTogMTMuOTg5NjM3MzA1Njk5NDgyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ4LjA2Mzc4MTMyMTE4NDUxNCwgeTogMTMuNDcxNTAyNTkwNjczNTc1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ4Ljk3NDk0MzA1MjM5MTgsIHk6IDEzLjQ3MTUwMjU5MDY3MzU3NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MCwgeTogMTMuNDcxNTAyNTkwNjczNTc1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUxLjEzODk1MjE2NDAwOTExLCB5OiAxMy43MzA1Njk5NDgxODY1MjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTEuNDgwNjM3ODEzMjExODUsIHk6IDE0Ljc2NjgzOTM3ODIzODM0MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Mi41MDU2OTQ3NjA4MjAwNCwgeTogMTUuNTQ0MDQxNDUwNzc3MjAyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU0LjMyODAxODIyMzIzNDYyLCB5OiAxNS41NDQwNDE0NTA3NzcyMDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTQuNzgzNTk5MDg4ODM4MjY1LCB5OiAxNC4yNDg3MDQ2NjMyMTI0MzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTUuMTI1Mjg0NzM4MDQxLCB5OiAxMy40NzE1MDI1OTA2NzM1NzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTUuOTIyNTUxMjUyODQ3Mzg0LCB5OiAxMy40NzE1MDI1OTA2NzM1NzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTYuODMzNzEyOTg0MDU0NjcsIHk6IDEzLjQ3MTUwMjU5MDY3MzU3NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ny44NTg3Njk5MzE2NjI4NywgeTogMTQuMjQ4NzA0NjYzMjEyNDM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU4LjY1NjAzNjQ0NjQ2OTI1LCB5OiAxNC43NjY4MzkzNzgyMzgzNDEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTguNDI4MjQ2MDEzNjY3NDI2LCB5OiAxNi4zMjEyNDM1MjMzMTYwNjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTguMzE0MzUwNzk3MjY2NTEsIHk6IDE3LjA5ODQ0NTU5NTg1NDkyMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OC44ODM4MjY4NzkyNzEwNywgeTogMTkuMTcwOTg0NDU1OTU4NTQ2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU5LjQ1MzMwMjk2MTI3NTYyNSwgeTogMjAuMjA3MjUzODg2MDEwMzYzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU5LjY4MTA5MzM5NDA3NzQ0LCB5OiAyMC45ODQ0NTU5NTg1NDkyMjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjAuMzY0NDY0NjkyNDgyOTEsIHk6IDIxLjI0MzUyMzMxNjA2MjE3NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2MC41OTIyNTUxMjUyODQ3MywgeTogMTkuMTcwOTg0NDU1OTU4NTQ2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYxLjUwMzQxNjg1NjQ5MjAzLCB5OiAxOS4xNzA5ODQ0NTU5NTg1NDYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjIuMTg2Nzg4MTU0ODk3NSwgeTogMTkuOTQ4MTg2NTI4NDk3NDEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjMuNDM5NjM1NTM1MzA3NTIsIHk6IDIwLjQ2NjMyMTI0MzUyMzMxOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NC4yMzY5MDIwNTAxMTM5LCB5OiAyMC4yMDcyNTM4ODYwMTAzNjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjUuNDg5NzQ5NDMwNTIzOTEsIHk6IDIwLjIwNzI1Mzg4NjAxMDM2MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni4yODcwMTU5NDUzMzAzLCB5OiAxOC45MTE5MTcwOTg0NDU1OTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjYuMjg3MDE1OTQ1MzMwMywgeTogMTcuNjE2NTgwMzEwODgwODI4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY3LjE5ODE3NzY3NjUzNzU4LCB5OiAxNi44MzkzNzgyMzgzNDE5NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OC45MDY2MDU5MjI1NTEyNSwgeTogMTYuODM5Mzc4MjM4MzQxOTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzAuODQyODI0NjAxMzY2NzQsIHk6IDE3LjYxNjU4MDMxMDg4MDgyOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MC4xNTk0NTMzMDI5NjEyNywgeTogMTguMTM0NzE1MDI1OTA2NzM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcxLjY0MDA5MTExNjE3MzEyLCB5OiAxNy44NzU2NDc2NjgzOTM3ODIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzIuMjA5NTY3MTk4MTc3NjcsIHk6IDE3Ljg3NTY0NzY2ODM5Mzc4MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Mi41NTEyNTI4NDczODA0MSwgeTogMTguMzkzNzgyMzgzNDE5Njg3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDczLjQ2MjQxNDU3ODU4NzcsIHk6IDE5LjE3MDk4NDQ1NTk1ODU0NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NC4yNTk2ODEwOTMzOTQwOCwgeTogMTkuNjg5MTE5MTcwOTg0NDU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc1LjA1Njk0NzYwODIwMDQ2LCB5OiAyMC43MjUzODg2MDEwMzYyNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NS4zOTg2MzMyNTc0MDMxOSwgeTogMjIuNTM4ODYwMTAzNjI2OTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzcuMzM0ODUxOTM2MjE4NjcsIHk6IDIxLjc2MTY1ODAzMTA4ODA4MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OC4zNTk5MDg4ODM4MjY4OCwgeTogMjEuNTAyNTkwNjczNTc1MTI4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc5LjcyNjY1MTQ4MDYzNzgxLCB5OiAyMS41MDI1OTA2NzM1NzUxMjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODAuODY1NjAzNjQ0NjQ2OTIsIHk6IDIzLjMxNjA2MjE3NjE2NTgwNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OS45NTQ0NDE5MTM0Mzk2NCwgeTogMjQuMzUyMzMxNjA2MjE3NjE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgwLjc1MTcwODQyODI0NjAyLCB5OiAyNS4zODg2MDEwMzYyNjk0MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS41NDg5NzQ5NDMwNTIzOSwgeTogMjYuMTY1ODAzMTA4ODA4Mjg3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgyLjQ2MDEzNjY3NDI1OTY3LCB5OiAyNS45MDY3MzU3NTEyOTUzMzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODQuMzk2MzU1MzUzMDc1MTcsIHk6IDI1LjkwNjczNTc1MTI5NTMzMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4NS4zMDc1MTcwODQyODI0NSwgeTogMjUuOTA2NzM1NzUxMjk1MzMzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg2LjU2MDM2NDQ2NDY5MjQ4LCB5OiAyNS4zODg2MDEwMzYyNjk0MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ny4wMTU5NDUzMzAyOTYxMywgeTogMjUuMzg4NjAxMDM2MjY5NDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODcuMTI5ODQwNTQ2Njk3MDQsIHk6IDI2LjQyNDg3MDQ2NjMyMTI0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg3LjY5OTMxNjYyODcwMTYsIHk6IDI3LjcyMDIwNzI1Mzg4NjAxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg4LjI2ODc5MjcxMDcwNjE1LCB5OiAyNy4yMDIwNzI1Mzg4NjAxMDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODguNDk2NTgzMTQzNTA3OTYsIHk6IDI1LjkwNjczNTc1MTI5NTMzMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OC43MjQzNzM1NzYzMDk3OSwgeTogMjUuMzg4NjAxMDM2MjY5NDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODkuNzQ5NDMwNTIzOTE4LCB5OiAyNS4zODg2MDEwMzYyNjk0MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5MC43NzQ0ODc0NzE1MjYyLCB5OiAyNS4xMjk1MzM2Nzg3NTY0NzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTEuOTEzNDM5NjM1NTM1MzEsIHk6IDI1LjEyOTUzMzY3ODc1NjQ3NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Mi43MTA3MDYxNTAzNDE2OCwgeTogMjUuMzg4NjAxMDM2MjY5NDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTMuNjIxODY3ODgxNTQ4OTcsIHk6IDI1LjkwNjczNTc1MTI5NTMzMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NC41MzMwMjk2MTI3NTYyNywgeTogMjYuNjgzOTM3ODIzODM0MTk2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk1LjQ0NDE5MTM0Mzk2MzU1LCB5OiAyNy45NzkyNzQ2MTEzOTg5NjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTYuMDEzNjY3NDI1OTY4MTEsIHk6IDI5LjAxNTU0NDA0MTQ1MDc3NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Ni41ODMxNDM1MDc5NzI2NiwgeTogMjkuNzkyNzQ2MTEzOTg5NjM3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk3LjM4MDQxMDAyMjc3OTA1LCB5OiAzMC4zMTA4ODA4MjkwMTU1NDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTcuODM1OTkwODg4MzgyNjgsIHk6IDMxLjM0NzE1MDI1OTA2NzM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk4LjI5MTU3MTc1Mzk4NjMzLCB5OiAzMi42NDI0ODcwNDY2MzIxMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OC42MzMyNTc0MDMxODkwNiwgeTogMzMuOTM3ODIzODM0MTk2ODkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTguODYxMDQ3ODM1OTkwODksIHk6IDM0LjcxNTAyNTkwNjczNTc1NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OS40MzA1MjM5MTc5OTU0NCwgeTogMzMuNjc4NzU2NDc2NjgzOTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTAwLCB5OiAzOS4zNzgyMzgzNDE5Njg5MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OC41MTkzNjIxODY3ODgxNiwgeTogMzguNjAxMDM2MjY5NDMwMDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTguMDYzNzgxMzIxMTg0NSwgeTogMzcuODIzODM0MTk2ODkxMTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTcuMTUyNjE5NTg5OTc3MjIsIHk6IDM3LjgyMzgzNDE5Njg5MTE5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk2LjQ2OTI0ODI5MTU3MTc0LCB5OiAzNi41Mjg0OTc0MDkzMjY0MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Ni4yNDE0NTc4NTg3Njk5MywgeTogMzQuOTc0MDkzMjY0MjQ4NzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTUuNzg1ODc2OTkzMTY2MjgsIHk6IDM3LjA0NjYzMjEyNDM1MjMzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk1LjMzMDI5NjEyNzU2MjY1LCB5OiAzOC44NjAxMDM2MjY5NDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTQuMzA1MjM5MTc5OTU0NDQsIHk6IDM4Ljg2MDEwMzYyNjk0MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5My4xNjYyODcwMTU5NDUzMywgeTogMzguMzQxOTY4OTExOTE3MDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTEuOTEzNDM5NjM1NTM1MzEsIHk6IDM4Ljg2MDEwMzYyNjk0MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5MS42ODU2NDkyMDI3MzM0OSwgeTogMzkuMTE5MTcwOTg0NDU1OTU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkyLjM2OTAyMDUwMTEzODk1LCB5OiA0MC40MTQ1MDc3NzIwMjA3MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5My4yODAxODIyMzIzNDYyNSwgeTogNDAuMTU1NDQwNDE0NTA3NzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTMuODQ5NjU4MzE0MzUwNzksIHk6IDQwLjE1NTQ0MDQxNDUwNzc3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk0LjUzMzAyOTYxMjc1NjI3LCB5OiA0MS43MDk4NDQ1NTk1ODU0OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NC41MzMwMjk2MTI3NTYyNywgeTogNDMuMDA1MTgxMzQ3MTUwMjU2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk0LjUzMzAyOTYxMjc1NjI3LCB5OiA0NC4wNDE0NTA3NzcyMDIwNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5My41MDc5NzI2NjUxNDgwNiwgeTogNDQuMzAwNTE4MTM0NzE1MDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTIuNTk2ODEwOTMzOTQwNzcsIHk6IDQ1LjMzNjc4NzU2NDc2Njg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkxLjkxMzQzOTYzNTUzNTMxLCB5OiA0Ni4zNzMwNTY5OTQ4MTg2NTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTEuMjMwMDY4MzM3MTI5ODUsIHk6IDQ2LjM3MzA1Njk5NDgxODY1NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5MC4yMDUwMTEzODk1MjE2NCwgeTogNDcuMTUwMjU5MDY3MzU3NTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTAuMDkxMTE2MTczMTIwNzQsIHk6IDQ3LjQwOTMyNjQyNDg3MDQ3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg5LjE3OTk1NDQ0MTkxMzQ1LCB5OiA0Ni44OTExOTE3MDk4NDQ1NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OC45NTIxNjQwMDkxMTE2MywgeTogNTAuMjU5MDY3MzU3NTEyOTU0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg4LjA0MTAwMjI3NzkwNDMzLCB5OiA1MC41MTgxMzQ3MTUwMjU5MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ny4yNDM3MzU3NjMwOTc5NCwgeTogNTAuNTE4MTM0NzE1MDI1OTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODYuMjE4Njc4ODE1NDg5NzUsIHk6IDUwLjc3NzIwMjA3MjUzODg2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg0LjczODA0MTAwMjI3NzkxLCB5OiA1MS4wMzYyNjk0MzAwNTE4MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4My43MTI5ODQwNTQ2Njk3LCB5OiA1Mi41OTA2NzM1NzUxMjk1MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Mi44MDE4MjIzMjM0NjI0MiwgeTogNTMuODg2MDEwMzYyNjk0MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Mi42ODc5MjcxMDcwNjE1LCB5OiA1NC42NjMyMTI0MzUyMzMxNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Mi44MDE4MjIzMjM0NjI0MiwgeTogNTUuOTU4NTQ5MjIyNzk3OTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODIuODAxODIyMzIzNDYyNDIsIHk6IDU4LjAzMTA4ODA4MjkwMTU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgyLjgwMTgyMjMyMzQ2MjQyLCB5OiA1OS4wNjczNTc1MTI5NTMzNjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODIuNTc0MDMxODkwNjYwNTksIHk6IDYwLjg4MDgyOTAxNTU0NDA0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS44OTA2NjA1OTIyNTUxMywgeTogNjIuOTUzMzY3ODc1NjQ3NjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODEuMDkzMzk0MDc3NDQ4NzUsIHk6IDY0LjUwNzc3MjAyMDcyNTM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgwLjQxMDAyMjc3OTA0MzI3LCB5OiA2NS4yODQ5NzQwOTMyNjQyNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MC4wNjgzMzcxMjk4NDA1NCwgeTogNjcuODc1NjQ3NjY4MzkzNzggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzkuMjcxMDcwNjE1MDM0MTYsIHk6IDY5LjE3MDk4NDQ1NTk1ODU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc4LjcwMTU5NDUzMzAyOTYyLCB5OiA3MC4yMDcyNTM4ODYwMTAzNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OC4xMzIxMTg0NTEwMjUwNSwgeTogNjcuMzU3NTEyOTUzMzY3ODcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzcuOTA0MzI4MDE4MjIzMjQsIHk6IDY0LjUwNzc3MjAyMDcyNTM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc3LjkwNDMyODAxODIyMzI0LCB5OiA2MS4zOTg5NjM3MzA1Njk5NDYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzguNTg3Njk5MzE2NjI4NywgeTogNTguODA4MjkwMTU1NDQwNDEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzkuMTU3MTc1Mzk4NjMzMjYsIHk6IDU2Ljk5NDgxODY1Mjg0OTc0NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MC41MjM5MTc5OTU0NDQyLCB5OiA1NS40NDA0MTQ1MDc3NzIwMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MC45Nzk0OTg4NjEwNDc4NCwgeTogNTQuMTQ1MDc3NzIwMjA3MjU0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgxLjg5MDY2MDU5MjI1NTEzLCB5OiA1Mi4zMzE2MDYyMTc2MTY1NzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODIuOTE1NzE3NTM5ODYzMzIsIHk6IDQ5LjIyMjc5NzkyNzQ2MTE0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgzLjcxMjk4NDA1NDY2OTcsIHk6IDQ3LjY2ODM5Mzc4MjM4MzQyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgzLjk0MDc3NDQ4NzQ3MTUzLCB5OiA0NS41OTU4NTQ5MjIyNzk3OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4NC4xNjg1NjQ5MjAyNzMzNSwgeTogNDQuNTU5NTg1NDkyMjI3OTc0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgzLjcxMjk4NDA1NDY2OTcsIHk6IDQ1LjU5NTg1NDkyMjI3OTc5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgyLjU3NDAzMTg5MDY2MDU5LCB5OiA0Ny4xNTAyNTkwNjczNTc1MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS42NjI4NzAxNTk0NTMzLCB5OiA0Ny45Mjc0NjExMzk4OTYzNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS4zMjExODQ1MTAyNTA1NiwgeTogNDYuODkxMTkxNzA5ODQ0NTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODAuOTc5NDk4ODYxMDQ3ODQsIHk6IDQ2LjYzMjEyNDM1MjMzMTYxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc5Ljk1NDQ0MTkxMzQzOTY0LCB5OiA0Ni44OTExOTE3MDk4NDQ1NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OS4wNDMyODAxODIyMzIzNSwgeTogNDYuODkxMTkxNzA5ODQ0NTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzguMjQ2MDEzNjY3NDI1OTcsIHk6IDQ4LjcwNDY2MzIxMjQzNTIzNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ni45OTMxNjYyODcwMTU5NSwgeTogNTAuMjU5MDY3MzU3NTEyOTU0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc3LjEwNzA2MTUwMzQxNjg2LCB5OiA1MS44MTM0NzE1MDI1OTA2NjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzUuOTY4MTA5MzM5NDA3NzUsIHk6IDUzLjEwODgwODI5MDE1NTQ0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc1LjE3MDg0MjgyNDYwMTM3LCB5OiA1Mi44NDk3NDA5MzI2NDI0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NC40ODc0NzE1MjYxOTU5LCB5OiA1Mi41OTA2NzM1NzUxMjk1MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Mi44OTI5Mzg0OTY1ODMxNCwgeTogNTIuODQ5NzQwOTMyNjQyNDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzEuNjQwMDkxMTE2MTczMTIsIHk6IDUyLjg0OTc0MDkzMjY0MjQ4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY5LjEzNDM5NjM1NTM1MzA4LCB5OiA1Mi44NDk3NDA5MzI2NDI0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OC40NTEwMjUwNTY5NDc2MSwgeTogNTMuNjI2OTQzMDA1MTgxMzQ2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY3Ljc2NzY1Mzc1ODU0MjE0LCB5OiA1NC40MDQxNDUwNzc3MjAyMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni43NDI1OTY4MTA5MzM5NSwgeTogNTUuOTU4NTQ5MjIyNzk3OTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjUuNzE3NTM5ODYzMzI1NzQsIHk6IDU2Ljk5NDgxODY1Mjg0OTc0NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NC40NjQ2OTI0ODI5MTU3MiwgeTogNTkuMDY3MzU3NTEyOTUzMzY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY0LjAwOTExMTYxNzMxMjA3LCB5OiA2MC44ODA4MjkwMTU1NDQwNDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjMuNjY3NDI1OTY4MTA5MzM1LCB5OiA2Mi45NTMzNjc4NzU2NDc2NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NC4wMDkxMTE2MTczMTIwNywgeTogNjQuNTA3NzcyMDIwNzI1MzggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjQuOTIwMjczMzQ4NTE5MzYsIHk6IDY1LjAyNTkwNjczNTc1MTI5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY1LjYwMzY0NDY0NjkyNDgzLCB5OiA2NS4wMjU5MDY3MzU3NTEyOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni42Mjg3MDE1OTQ1MzMwMywgeTogNjUuMjg0OTc0MDkzMjY0MjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjYuOTcwMzg3MjQzNzM1NzYsIHk6IDY2LjMyMTI0MzUyMzMxNjA3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY3LjA4NDI4MjQ2MDEzNjY4LCB5OiA2Ny4wOTg0NDU1OTU4NTQ5MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ny4wODQyODI0NjAxMzY2OCwgeTogNjguMTM0NzE1MDI1OTA2NzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjYuOTcwMzg3MjQzNzM1NzYsIHk6IDY5Ljk0ODE4NjUyODQ5NzQyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY2Ljg1NjQ5MjAyNzMzNDg1LCB5OiA3MS4yNDM1MjMzMTYwNjIxOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni42Mjg3MDE1OTQ1MzMwMywgeTogNzMuNTc1MTI5NTMzNjc4NzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjYuNjI4NzAxNTk0NTMzMDMsIHk6IDc1LjY0NzY2ODM5Mzc4MjM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY2LjA1OTIyNTUxMjUyODQ3LCB5OiA3Ny40NjExMzk4OTYzNzMwNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NS44MzE0MzUwNzk3MjY2NSwgeTogNzguNDk3NDA5MzI2NDI0ODcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjUuMDM0MTY4NTY0OTIwMjYsIHk6IDgwLjgyOTAxNTU0NDA0MTQ1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY0LjM1MDc5NzI2NjUxNDgsIHk6IDgyLjM4MzQxOTY4OTExOTE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYzLjY2NzQyNTk2ODEwOTMzNSwgeTogODQuNDU1OTU4NTQ5MjIyOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Mi44NzAxNTk0NTMzMDI5NywgeTogODYuNTI4NDk3NDA5MzI2NDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjEuODQ1MTAyNTA1Njk0NzYsIHk6IDg3LjMwNTY5OTQ4MTg2NTI5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjgyMDA0NTU1ODA4NjU1NSwgeTogODcuMzA1Njk5NDgxODY1MjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjAuMTM2Njc0MjU5NjgxMDksIHk6IDg2LjI2OTQzMDA1MTgxMzQ3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjI1MDU2OTQ3NjA4MjAwNiwgeTogODQuMTk2ODkxMTkxNzA5ODQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjEuMDQ3ODM1OTkwODg4MzgsIHk6IDg0LjE5Njg5MTE5MTcwOTg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYxLjk1ODk5NzcyMjA5NTY3NCwgeTogODEuODY1Mjg0OTc0MDkzMjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjIuMzAwNjgzMzcxMjk4NDA1LCB5OiA3OS43OTI3NDYxMTM5ODk2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Mi41Mjg0NzM4MDQxMDAyMywgeTogNzguMjM4MzQxOTY4OTExOTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjIuNDE0NTc4NTg3Njk5MzI0LCB5OiA3Ny4yMDIwNzI1Mzg4NjAxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYxLjczMTIwNzI4OTI5Mzg1NiwgeTogNzguMjM4MzQxOTY4OTExOTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjAuMjUwNTY5NDc2MDgyMDA2LCB5OiA3Ny45NzkyNzQ2MTEzOTg5NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2MC4xMzY2NzQyNTk2ODEwOSwgeTogNzUuOTA2NzM1NzUxMjk1MzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTkuMTExNjE3MzEyMDcyODk0LCB5OiA3NS4zODg2MDEwMzYyNjk0MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OC4wODY1NjAzNjQ0NjQ2OSwgeTogNzMuODM0MTk2ODkxMTkxNzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTcuNzQ0ODc0NzE1MjYxOTY1LCB5OiA3MC45ODQ0NTU5NTg1NDkyMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ni45NDc2MDgyMDA0NTU1NzYsIHk6IDY4LjM5Mzc4MjM4MzQxOTY5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU2LjAzNjQ0NjQ2OTI0ODI5LCB5OiA2Ny42MTY1ODAzMTA4ODA4MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NC4zMjgwMTgyMjMyMzQ2MiwgeTogNjYuNTgwMzEwODgwODI5MDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTMuNjQ0NjQ2OTI0ODI5MTUsIHk6IDY3LjA5ODQ0NTU5NTg1NDkzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjk2MTI3NTYyNjQyMzY4NSwgeTogNjcuODc1NjQ3NjY4MzkzNzggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTIuMTY0MDA5MTExNjE3MzIsIHk6IDY4LjEzNDcxNTAyNTkwNjczIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjI3NzkwNDMyODAxODIyNCwgeTogNjkuNjg5MTE5MTcwOTg0NDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTIuMDUwMTEzODk1MjE2NCwgeTogNzEuMjQzNTIzMzE2MDYyMTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTEuNTk0NTMzMDI5NjEyNzU1LCB5OiA3Mi41Mzg4NjAxMDM2MjY5NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MC41Njk0NzYwODIwMDQ1NiwgeTogNzIuNzk3OTI3NDYxMTM5OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MC4xMTM4OTUyMTY0MDA5MiwgeTogNzMuODM0MTk2ODkxMTkxNzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDkuMDg4ODM4MjY4NzkyNzEsIHk6IDczLjgzNDE5Njg5MTE5MTcxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ4LjA2Mzc4MTMyMTE4NDUxNCwgeTogNzMuNTc1MTI5NTMzNjc4NzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDcuODM1OTkwODg4MzgyNjksIHk6IDc0LjA5MzI2NDI0ODcwNDY2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ2LjU4MzE0MzUwNzk3MjY2NSwgeTogNzQuNjExMzk4OTYzNzMwNTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDUuODk5NzcyMjA5NTY3MTk2LCB5OiA3NC44NzA0NjYzMjEyNDM1MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NC42NDY5MjQ4MjkxNTcxNywgeTogNzQuODcwNDY2MzIxMjQzNTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDMuNjIxODY3ODgxNTQ4OTcsIHk6IDczLjgzNDE5Njg5MTE5MTcxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQyLjQ4MjkxNTcxNzUzOTg3LCB5OiA3My4zMTYwNjIxNzYxNjU4MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Mi4wMjczMzQ4NTE5MzYyMjQsIHk6IDczLjMxNjA2MjE3NjE2NTgxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQxLjExNjE3MzEyMDcyODkzLCB5OiA3My4zMTYwNjIxNzYxNjU4MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOS44NjMzMjU3NDAzMTg5MDYsIHk6IDcyLjUzODg2MDEwMzYyNjk0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM5LjUyMTY0MDA5MTExNjE3NiwgeTogNzAuNDY2MzIxMjQzNTIzMzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzguODM4MjY4NzkyNzEwNzEsIHk6IDcwLjQ2NjMyMTI0MzUyMzMxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM4LjcyNDM3MzU3NjMwOTc5NCwgeTogNzEuNTAyNTkwNjczNTc1MTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzguMDQxMDAyMjc3OTA0MzI2LCB5OiA3MC45ODQ0NTU5NTg1NDkyMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNy40NzE1MjYxOTU4OTk3NywgeTogNjkuNDMwMDUxODEzNDcxNTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzYuOTAyMDUwMTEzODk1MjIsIHk6IDcwLjcyNTM4ODYwMTAzNjI3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM2LjQ0NjQ2OTI0ODI5MTU3LCB5OiA3MS43NjE2NTgwMzEwODgwOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNi40NDY0NjkyNDgyOTE1NywgeTogNzIuNTM4ODYwMTAzNjI2OTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzUuNzYzMDk3OTQ5ODg2MSwgeTogNzIuNzk3OTI3NDYxMTM5OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNC43MzgwNDEwMDIyNzc5LCB5OiA3Mi41Mzg4NjAxMDM2MjY5NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNC4wNTQ2Njk3MDM4NzI0MzUsIHk6IDcyLjI3OTc5Mjc0NjExNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMy4xNDM1MDc5NzI2NjUxNSwgeTogNzIuMjc5NzkyNzQ2MTE0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMyLjM0NjI0MTQ1Nzg1ODc3NCwgeTogNzIuMjc5NzkyNzQ2MTE0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMxLjQzNTA3OTcyNjY1MTQ4NCwgeTogNzIuNzk3OTI3NDYxMTM5OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMS4wOTMzOTQwNzc0NDg3NSwgeTogNzMuODM0MTk2ODkxMTkxNzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzAuMDY4MzM3MTI5ODQwNTQzLCB5OiA3My44MzQxOTY4OTExOTE3MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOS42MTI3NTYyNjQyMzY5LCB5OiA3NC4wOTMyNjQyNDg3MDQ2NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOS4wNDMyODAxODIyMzIzNDQsIHk6IDc0LjM1MjMzMTYwNjIxNzYyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI4LjgxNTQ4OTc0OTQzMDUyMiwgeTogNzQuNjExMzk4OTYzNzMwNTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjguMDE4MjIzMjM0NjI0MTQ1LCB5OiA3OC4yMzgzNDE5Njg5MTE5MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNy41NjI2NDIzNjkwMjA1LCB5OiA3OS41MzM2Nzg3NTY0NzY2OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNi41Mzc1ODU0MjE0MTIzMDIsIHk6IDc5Ljc5Mjc0NjExMzk4OTY0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI1LjUxMjUyODQ3MzgwNDEwMywgeTogODEuODY1Mjg0OTc0MDkzMjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjUuNTEyNTI4NDczODA0MTAzLCB5OiA4My40MTk2ODkxMTkxNzA5OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNC43MTUyNjE5NTg5OTc3MjIsIHk6IDg0LjE5Njg5MTE5MTcwOTg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIzLjgwNDEwMDIyNzc5MDQzNSwgeTogODUuMjMzMTYwNjIxNzYxNjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjMuNjkwMjA1MDExMzg5NTIzLCB5OiA4Ny41NjQ3NjY4MzkzNzgyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMy41NzYzMDk3OTQ5ODg2MSwgeTogODkuNjM3MzA1Njk5NDgxODYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjMuMTIwNzI4OTI5Mzg0OTYzLCB5OiA5MS4xOTE3MDk4NDQ1NTk1OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMS40MTIzMDA2ODMzNzEzLCB5OiA5MS43MDk4NDQ1NTk1ODU0OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMC42MTUwMzQxNjg1NjQ5MTgsIHk6IDkzLjc4MjM4MzQxOTY4OTEzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE5LjU4OTk3NzIyMDk1NjcyLCB5OiA5NS4wNzc3MjAyMDcyNTM4OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS4zNjIxODY3ODgxNTQ4OTcsIHk6IDk3LjE1MDI1OTA2NzM1NzUxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE5LjM2MjE4Njc4ODE1NDg5NywgeTogOTguOTYzNzMwNTY5OTQ4MTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTguNzkyNzEwNzA2MTUwMzQsIHk6IDEwMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNy45OTU0NDQxOTEzNDM5NjQsIHk6IDEwMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNy40MjU5NjgxMDkzMzk0MDgsIHk6IDk4LjcwNDY2MzIxMjQzNTI0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE2LjI4NzAxNTk0NTMzMDI5NiwgeTogOTguNDQ1NTk1ODU0OTIyMjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTUuNDg5NzQ5NDMwNTIzOTE5LCB5OiA5OS43NDA5MzI2NDI0ODcwNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNC45MjAyNzMzNDg1MTkzNiwgeTogOTkuMjIyNzk3OTI3NDYxMTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTQuODA2Mzc4MTMyMTE4NDUsIHk6IDk3LjE1MDI1OTA2NzM1NzUxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE0LjgwNjM3ODEzMjExODQ1LCB5OiA5NS4zMzY3ODc1NjQ3NjY4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNC40NjQ2OTI0ODI5MTU3MTgsIHk6IDk4LjE4NjUyODQ5NzQwOTMzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEzLjc4MTMyMTE4NDUxMDI1LCB5OiA5OC4xODY1Mjg0OTc0MDkzMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMy4yMTE4NDUxMDI1MDU2OTUsIHk6IDk2Ljg5MTE5MTcwOTg0NDU2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEyLjUyODQ3MzgwNDEwMDIzLCB5OiA5NS44NTQ5MjIyNzk3OTI3NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMi4wNzI4OTI5Mzg0OTY1ODMsIHk6IDk0LjgxODY1Mjg0OTc0MDk0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEwLjkzMzk0MDc3NDQ4NzQ3MSwgeTogOTIuNDg3MDQ2NjMyMTI0MzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTAuMzY0NDY0NjkyNDgyOTE1LCB5OiA5MS43MDk4NDQ1NTk1ODU0OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5LjU2NzE5ODE3NzY3NjUzOCwgeTogOTAuNDE0NTA3NzcyMDIwNzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC41NDIxNDEyMzAwNjgzMzcsIHk6IDg5LjYzNzMwNTY5OTQ4MTg2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcuNTE3MDg0MjgyNDYwMTM2LCB5OiA5MC4xNTU0NDA0MTQ1MDc3NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2LjgzMzcxMjk4NDA1NDY3LCB5OiA5MC42NzM1NzUxMjk1MzM2NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2LjI2NDIzNjkwMjA1MDExNSwgeTogOTAuNjczNTc1MTI5NTMzNjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNS40NjY5NzAzODcyNDM3MzYsIHk6IDg5LjExOTE3MDk4NDQ1NTk1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQuNDQxOTEzNDM5NjM1NTM1LCB5OiA4OC4wODI5MDE1NTQ0MDQxNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzLjUzMDc1MTcwODQyODI0NiwgeTogODcuMDQ2NjMyMTI0MzUyMzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMy4wNzUxNzA4NDI4MjQ2MDE2LCB5OiA4NS43NTEyOTUzMzY3ODc1NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzLjA3NTE3MDg0MjgyNDYwMTYsIHk6IDgzLjkzNzgyMzgzNDE5Njg5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMuOTg2MzMyNTc0MDMxODkxLCB5OiA4My40MTk2ODkxMTkxNzA5OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzLjk4NjMzMjU3NDAzMTg5MSwgeTogODEuNjA2MjE3NjE2NTgwMzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMy4xODkwNjYwNTkyMjU1MTMsIHk6IDgwLjMxMDg4MDgyOTAxNTU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIuNzMzNDg1MTkzNjIxODY4LCB5OiA4MC41Njk5NDgxODY1Mjg0OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxLjcwODQyODI0NjAxMzY2NzUsIHk6IDgxLjA4ODA4MjkwMTU1NDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMC45MTExNjE3MzEyMDcyODkzLCB5OiA3OC43NTY0NzY2ODM5Mzc4MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAwLjM0MTY4NTY0OTIwMjczMzUsIHk6IDc3LjIwMjA3MjUzODg2MDEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMCwgeTogNzUuMzg4NjAxMDM2MjY5NDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMC4yMjc3OTA0MzI4MDE4MjIzMiwgeTogNzMuNTc1MTI5NTMzNjc4NzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMS4xMzg5NTIxNjQwMDkxMTE2LCB5OiA3Mi41Mzg4NjAxMDM2MjY5NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyLjA1MDExMzg5NTIxNjQwMSwgeTogNjkuNjg5MTE5MTcwOTg0NDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMi42MTk1ODk5NzcyMjA5NTcsIHk6IDcwLjQ2NjMyMTI0MzUyMzMxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMuNTMwNzUxNzA4NDI4MjQ2LCB5OiA3MS41MDI1OTA2NzM1NzUxMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0LjMyODAxODIyMzIzNDYyNCwgeTogNzEuNTAyNTkwNjczNTc1MTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNS4yMzkxNzk5NTQ0NDE5MTQsIHk6IDcyLjc5NzkyNzQ2MTEzOTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNi4xNTAzNDE2ODU2NDkyMDMsIHk6IDczLjA1Njk5NDgxODY1Mjg1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcuNTE3MDg0MjgyNDYwMTM2LCB5OiA3MS43NjE2NTgwMzEwODgwOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4LjU0MjE0MTIzMDA2ODMzNywgeTogNzEuNzYxNjU4MDMxMDg4MDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOS4xMTE2MTczMTIwNzI4OTMsIHk6IDcyLjI3OTc5Mjc0NjExNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5LjY4MTA5MzM5NDA3NzQ0OSwgeTogNzEuMjQzNTIzMzE2MDYyMTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC44ODM4MjY4NzkyNzEwNywgeTogNjguOTExOTE3MDk4NDQ1NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ljg4MzgyNjg3OTI3MTA3LCB5OiA2Ny4zNTc1MTI5NTMzNjc4NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ljg4MzgyNjg3OTI3MTA3LCB5OiA2NC41MDc3NzIwMjA3MjUzOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ljg4MzgyNjg3OTI3MTA3LCB5OiA2MS45MTcwOTg0NDU1OTU4NTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC44ODM4MjY4NzkyNzEwNywgeTogNTkuNTg1NDkyMjI3OTc5MjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC41NDIxNDEyMzAwNjgzMzcsIHk6IDU3Ljc3MjAyMDcyNTM4ODYxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDguNDI4MjQ2MDEzNjY3NDI2LCB5OiA1Ni45OTQ4MTg2NTI4NDk3NDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC41NDIxNDEyMzAwNjgzMzcsIHk6IDU0LjQwNDE0NTA3NzcyMDIxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDguNDI4MjQ2MDEzNjY3NDI2LCB5OiA1Mi44NDk3NDA5MzI2NDI0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4LjQyODI0NjAxMzY2NzQyNiwgeTogNTEuMDM2MjY5NDMwMDUxODIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC43Njk5MzE2NjI4NzAxNTgsIHk6IDQ4LjQ0NTU5NTg1NDkyMjI4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDguODgzODI2ODc5MjcxMDcsIHk6IDQ1LjA3NzcyMDIwNzI1Mzg4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkuMTExNjE3MzEyMDcyODkzLCB5OiA0Mi43NDYxMTM5ODk2MzczMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5LjIyNTUxMjUyODQ3MzgwNSwgeTogMzkuNjM3MzA1Njk5NDgxODY0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkuNzk0OTg4NjEwNDc4MzYsIHk6IDM3LjgyMzgzNDE5Njg5MTE5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEwLjQ3ODM1OTkwODg4MzgyOCwgeTogMzYuNTI4NDk3NDA5MzI2NDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTEuMzg5NTIxNjQwMDkxMTE2LCB5OiAzNS4yMzMxNjA2MjE3NjE2NTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTIuMTg2Nzg4MTU0ODk3NDk0LCB5OiAzNC4xOTY4OTExOTE3MDk4NDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTIuNzU2MjY0MjM2OTAyMDUyLCB5OiAzMy45Mzc4MjM4MzQxOTY4OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMi44NzAxNTk0NTMzMDI5NjIsIHk6IDMzLjkzNzgyMzgzNDE5Njg5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEzLjIxMTg0NTEwMjUwNTY5NSwgeTogMzIuNjQyNDg3MDQ2NjMyMTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuMjExODQ1MTAyNTA1Njk1LCB5OiAzMS4wODgwODI5MDE1NTQ0MDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuNTUzNTMwNzUxNzA4NDMsIHk6IDI4Ljc1NjQ3NjY4MzkzNzgyNyB9LAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZDogIjhjZjRlYzhhLWMzODEtNGUwYi05YjYyLWY0MjRkZTU0ZWU3ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAiQXNpYSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJwb2x5IiwKICAgICAgICAgICAgICAgICAgICAgICAgeDogNjMuNTk3MjI2Nzk1MjIwMTEsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDQwLjg4OTg3OTEyMjk4MjExNiwKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIyLjM3NDIyNzcxNDAzMzUzNywKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNS42NzIyOTA1NTgwODY2MjMsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc3R5bGU6IHsgb3BhY2l0eTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJfc3R5bGU6IHsgYmFja2dyb3VuZF9jb2xvcjogIiNmZWNhMDEiLCBiYWNrZ3JvdW5kX29wYWNpdHk6IDAuNjY3NTU1OTk2ODM3NDE5MSB9LAogICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwX3N0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRfY29sb3I6ICIjZmZmZmZmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b193aWR0aDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBfY29udGVudDogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJIZWFkaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAiQXNpYSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGluZzogImgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcjogeyBpZDogIiIsIGNsYXNzZXM6ICIiLCBjc3M6ICIiIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogInNhbnMtc2VyaWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogMjAuOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAiIzAwMDAwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogImxlZnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94TW9kZWw6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogeyB0b3A6IDEwLCBib3R0b206IDEwLCBsZWZ0OiAxMCwgcmlnaHQ6IDEwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogIjY4NzcwYzg4LTk0OGUtNGM1MS04OTQ1LTI4OTI1YjlmNzAxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJQYXJhZ3JhcGgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICc8ZGl2PlxuICAgIDxiPkdFT1BPTFkgU0ROIEJIRDxiciAvPjxiciAvPjwvYj5cbjwvZGl2PlxuPGRpdj48L2Rpdj5cbjxkaXY+XG4gICAgPGRpdj43IEphbGFuIFBKVSAzLzQyPC9kaXY+XG4gICAgPGRpdj5TdW53YXkgRGFtYW5zYXJhIFRlY2hub2xvZ3kgUGFyazwvZGl2PlxuICAgIDxkaXY+NDc4MTAgUGV0YWxpbmcgSmF5YTwvZGl2PlxuICAgIDxkaXY+U2VsYW5nb3IsIE1hbGF5c2lhPC9kaXY+XG4gICAgPGRpdj5BdHRlbnRpb24gOiBEZXJlayBMaW0vTWFuYWdpbmcgRGlyZWN0b3I8L2Rpdj5cbiAgICA8ZGl2PkVtYWlsOiA8Yj48YSBocmVmPSJtYWlsdG86ZGVyZWtAZ2VvcG9seS5jb20ubXkiPmRlcmVrQGdlb3BvbHkuY29tLm15PC9hPjwvYj48L2Rpdj5cbiAgICA8ZGl2PlNreXBlOiBnZW9wb2x5LmRlcmVrPC9kaXY+XG4gICAgPGRpdj5QaG9uZTogPGEgaHJlZj0idGVsOis2MDM3ODg1MDEwMyI+KyA2MDMg4oCTIDc4ODUgMDEwMzwvYT4sIDxhIGhyZWY9InRlbDorNjA3NzMyODE3NyI+KyA2MDc3MzIgODE3NzwvYT48L2Rpdj5cbiAgICA8ZGl2Pk1vYmlsZTogPGEgaHJlZj0idGVsOis2MDE5MzM2MjQwNSI+KyA2MDE5IOKAkyAzMzYgMjQwNTwvYT48L2Rpdj5cbiAgICA8ZGl2PkZheDogPGEgaHJlZj0idGVsOis2MDM3ODg1MDEwNCI+KyA2MDMg4oCTIDc4ODUgMDEwNDwvYT48L2Rpdj5cbiAgICA8ZGl2PldlYnNpdGU6IDxiPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdlb3BvbHkuY29tLm15IiB0YXJnZXQ9Il9ibGFuayI+d3d3Lmdlb3BvbHkuY29tLm15PC9hPjwvYj48L2Rpdj5cbjwvZGl2PlxuPGRpdj48YnIgLz48L2Rpdj4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyOiB7IGlkOiAiIiwgY2xhc3NlczogIiIsIGNzczogIiIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAic2Fucy1zZXJpZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAxNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogMjIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAiIzAwMDAwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogImxlZnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94TW9kZWw6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogeyB0b3A6IDEwLCBib3R0b206IDEwLCBsZWZ0OiAxMCwgcmlnaHQ6IDEwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogImVhMjAyZjdkLWQ4NmUtNDcyZC1hNjdjLTY5ZmY5MzA2NTcyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICB4X2ltYWdlX2JhY2tncm91bmQ6IDYzLjY4NTQ4ODA0ODUyOTkwNSwKICAgICAgICAgICAgICAgICAgICAgICAgeV9pbWFnZV9iYWNrZ3JvdW5kOiA0MC44ODk4NzkxMjI5ODIxMTYsCiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50czogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAwLjc4ODk1NDYzNTEwODQ2OCwgeTogMjcuNzAyNzAyNzAyNzAyNjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMi43NjEzNDEyMjI4Nzk3MDEsIHk6IDI0LjY2MjE2MjE2MjE2MjE2NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAwLjU5MTcxNTk3NjMzMTM1MSwgeTogMTkuNTk0NTk0NTk0NTk0NTkzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDAsIHk6IDE3LjkwNTQwNTQwNTQwNTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMy4zNTMwNTcxOTkyMTEwMjA3LCB5OiAxNy45MDU0MDU0MDU0MDU0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUuMzI1NDQzNzg2OTgyMjU0LCB5OiAxNi44OTE4OTE4OTE4OTE4ODggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNi4zMTE2MzcwODA4Njc4NzIsIHk6IDE0LjE4OTE4OTE4OTE4OTE5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcuNDk1MDY5MDMzNTMwNTczLCB5OiAxMy44NTEzNTEzNTEzNTEzNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5LjA3Mjk3ODMwMzc0NzUwOCwgeTogMTIuNDk5OTk5OTk5OTk5OTk2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkuODYxOTMyOTM4ODU2MDQsIHk6IDExLjE0ODY0ODY0ODY0ODY2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDExLjA0NTM2NDg5MTUxODc0MywgeTogOS4xMjE2MjE2MjE2MjE2MTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTIuNjIzMjc0MTYxNzM1NjgsIHk6IDYuNzU2NzU2NzU2NzU2NzY3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEzLjAxNzc1MTQ3OTI4OTkxMywgeTogMy43MTYyMTYyMTYyMTYyMTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuNjA5NDY3NDU1NjIxMjk2LCB5OiAxLjY4OTE4OTE4OTE4OTE5MTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTYuMTczNTcwMDE5NzIzODQ3LCB5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE2LjU2ODA0NzMzNzI3ODA4NSwgeTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNy41NTQyNDA2MzExNjM2OTcsIHk6IDAuNjc1Njc1Njc1Njc1NjgyMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOC4xNDU5NTY2MDc0OTUwOCwgeTogMS42ODkxODkxODkxODkxOTE3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE5LjEzMjE0OTkwMTM4MDcsIHk6IDMuMDQwNTQwNTQwNTQwNTI4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS43MjM4NjU4Nzc3MTIwMiwgeTogNC4wNTQwNTQwNTQwNTQwNjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTguNzM3NjcyNTgzODI2NDY2LCB5OiA1LjA2NzU2NzU2NzU2NzU3NTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjAuMTE4MzQzMTk1MjY2MjUsIHk6IDQuMzkxODkxODkxODkxODkzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIwLjkwNzI5NzgzMDM3NDc4NCwgeTogNC4zOTE4OTE4OTE4OTE4OTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjEuNjk2MjUyNDY1NDgzMjUsIHk6IDUuNDA1NDA1NDA1NDA1NDAzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIyLjA5MDcyOTc4MzAzNzQ4NSwgeTogNy40MzI0MzI0MzI0MzI0MjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjIuNDg1MjA3MTAwNTkxNzIsIHk6IDkuMTIxNjIxNjIxNjIxNjE0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIyLjQ4NTIwNzEwMDU5MTcyLCB5OiAxMS44MjQzMjQzMjQzMjQzMTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjIuNjgyNDQ1NzU5MzY4ODA0LCB5OiAxMy41MTM1MTM1MTM1MTM1MDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjMuNjY4NjM5MDUzMjU0NDIsIHk6IDE0Ljg2NDg2NDg2NDg2NDg3MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNC42NTQ4MzIzNDcxNDAwMzcsIHk6IDE1LjIwMjcwMjcwMjcwMjY5OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNS42NDEwMjU2NDEwMjU2NTcsIHk6IDE2LjIxNjIxNjIxNjIxNjIwNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNi44MjQ0NTc1OTM2ODgzNTQsIHk6IDE2Ljg5MTg5MTg5MTg5MTg4OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNy44MTA2NTA4ODc1NzM5NzQsIHk6IDE3LjkwNTQwNTQwNTQwNTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjkuNTg1Nzk4ODE2NTY4MDU4LCB5OiAxOC45MTg5MTg5MTg5MTg5MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMS4xNjM3MDgwODY3ODQ5OTMsIHk6IDE5LjkzMjQzMjQzMjQzMjQ0NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMi41NDQzNzg2OTgyMjQ4NSwgeTogMjAuOTQ1OTQ1OTQ1OTQ1OTU0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMzLjkyNTA0OTMwOTY2NDY5LCB5OiAyMS42MjE2MjE2MjE2MjE2MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNS43MDAxOTcyMzg2NTg3OCwgeTogMjEuNjIxNjIxNjIxNjIxNjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzcuNDc1MzQ1MTY3NjUyODYsIHk6IDIyLjk3Mjk3Mjk3Mjk3Mjk3NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOS42NDQ5NzA0MTQyMDExOCwgeTogMjAuOTQ1OTQ1OTQ1OTQ1OTU0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQwLjgyODQwMjM2Njg2Mzg4NCwgeTogMTkuMjU2NzU2NzU2NzU2NzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDIuMjA5MDcyOTc4MzAzNzQsIHk6IDE4LjkxODkxODkxODkxODkxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQzLjk4NDIyMDkwNzI5NzgyNSwgeTogMTguOTE4OTE4OTE4OTE4OTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDQuNzczMTc1NTQyNDA2MjksIHk6IDIwLjYwODEwODEwODEwODEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDUuOTU2NjA3NDk1MDY5MDUsIHk6IDIyLjI5NzI5NzI5NzI5NzI5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ2LjM1MTA4NDgxMjYyMzI5LCB5OiAyNC45OTk5OTk5OTk5OTk5OTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDUuOTU2NjA3NDk1MDY5MDUsIHk6IDI3LjM2NDg2NDg2NDg2NDg3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ1Ljk1NjYwNzQ5NTA2OTA1LCB5OiAyOC4zNzgzNzgzNzgzNzgzOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ni41NDgzMjM0NzE0MDAzNywgeTogMzAuMDY3NTY3NTY3NTY3NTY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ3LjUzNDUxNjc2NTI4NTk4NiwgeTogMzEuNzU2NzU2NzU2NzU2NzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguMTI2MjMyNzQxNjE3MzcsIHk6IDMzLjEwODEwODEwODEwODEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguOTE1MTg3Mzc2NzI1ODQsIHk6IDM0LjQ1OTQ1OTQ1OTQ1OTQ2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ5LjcwNDE0MjAxMTgzNDMxLCB5OiAzNC40NTk0NTk0NTk0NTk0NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MS4wODQ4MTI2MjMyNzQxNSwgeTogMzQuNDU5NDU5NDU5NDU5NDYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTMuMDU3MTk5MjExMDQ1MzksIHk6IDMzLjEwODEwODEwODEwODEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTMuNjQ4OTE1MTg3Mzc2NzEsIHk6IDMyLjA5NDU5NDU5NDU5NDU5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU1LjIyNjgyNDQ1NzU5MzcxNSwgeTogMzIuMDk0NTk0NTk0NTk0NTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTYuNDEwMjU2NDEwMjU2NDEsIHk6IDMyLjc3MDI3MDI3MDI3MDI3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU3LjE5OTIxMTA0NTM2NDg4LCB5OiAzNC4xMjE2MjE2MjE2MjE2MzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTcuMzk2NDQ5NzA0MTQyMDMsIHk6IDM0Ljc5NzI5NzI5NzI5NzI4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ny4zOTY0NDk3MDQxNDIwMywgeTogMzcuNTAwMDAwMDAwMDAwMDE0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU2LjYwNzQ5NTA2OTAzMzU2LCB5OiAzOS44NjQ4NjQ4NjQ4NjQ4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ni42MDc0OTUwNjkwMzM1NiwgeTogNDEuODkxODkxODkxODkxODggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTcuNzkwOTI3MDIxNjk2MjYsIHk6IDQ0LjI1Njc1Njc1Njc1Njc2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU4LjU3OTg4MTY1NjgwNDczLCB5OiA0Ni45NTk0NTk0NTk0NTk0NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OS4zNjg4MzYyOTE5MTMyLCB5OiA0OC45ODY0ODY0ODY0ODY0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OS41NjYwNzQ5NTA2OTAzNSwgeTogNTEuMDEzNTEzNTEzNTEzNDk1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU5Ljk2MDU1MjI2ODI0NDU4NCwgeTogNTMuMDQwNTQwNTQwNTQwNTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTkuOTYwNTUyMjY4MjQ0NTg0LCB5OiA1My4wNDA1NDA1NDA1NDA1NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OS45NjA1NTIyNjgyNDQ1ODQsIHk6IDU1LjA2NzU2NzU2NzU2NzU2NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OS45NjA1NTIyNjgyNDQ1ODQsIHk6IDU2LjQxODkxODkxODkxODkwNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OC45NzQzNTg5NzQzNTg5NjQsIHk6IDU3Ljc3MDI3MDI3MDI3MDI2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU3Ljk4ODE2NTY4MDQ3MzM0NCwgeTogNTkuNDU5NDU5NDU5NDU5NDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTYuMjEzMDE3NzUxNDc5MjYsIHk6IDYxLjQ4NjQ4NjQ4NjQ4NjUwNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NS4yMjY4MjQ0NTc1OTM3MTUsIHk6IDYxLjgyNDMyNDMyNDMyNDMzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU0LjI0MDYzMTE2MzcwODA5NSwgeTogNjEuMTQ4NjQ4NjQ4NjQ4NjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTMuMjU0NDM3ODY5ODIyNDgsIHk6IDU5LjEyMTYyMTYyMTYyMTYyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjg1OTk2MDU1MjI2ODI1LCB5OiA1Ny43NzAyNzAyNzAyNzAyNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MS42NzY1Mjg1OTk2MDU1NCwgeTogNTUuNDA1NDA1NDA1NDA1NDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTAuODg3NTczOTY0NDk3MDgsIHk6IDU1LjQwNTQwNTQwNTQwNTQyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUwLjA5ODYxOTMyOTM4ODU0LCB5OiA1NC4wNTQwNTQwNTQwNTQwNTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDkuMzA5NjY0Njk0MjgwMDcsIHk6IDU1LjA2NzU2NzU2NzU2NzU2NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OC45MTUxODczNzY3MjU4NCwgeTogNTYuNDE4OTE4OTE4OTE4OTA1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ4LjUyMDcxMDA1OTE3MTYwNiwgeTogNTguMTA4MTA4MTA4MTA4MDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguMzIzNDcxNDAwMzk0NDYsIHk6IDU5LjQ1OTQ1OTQ1OTQ1OTQ1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ4LjMyMzQ3MTQwMDM5NDQ2LCB5OiA2Mi41MDAwMDAwMDAwMDAwMTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDkuNzA0MTQyMDExODM0MzEsIHk6IDY0LjE4OTE4OTE4OTE4OTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTAuMjk1ODU3OTg4MTY1NjksIHk6IDY1LjU0MDU0MDU0MDU0MDUzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUxLjI4MjA1MTI4MjA1MTI0LCB5OiA2Ny4yMjk3Mjk3Mjk3Mjk3MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Mi4wNzEwMDU5MTcxNTk3NywgeTogNjkuNTk0NTk0NTk0NTk0NjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTIuNjYyNzIxODkzNDkxMDk2LCB5OiA3Mi4yOTcyOTcyOTcyOTczIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUzLjQ1MTY3NjUyODU5OTYyLCB5OiA3NS4wMDAwMDAwMDAwMDAwMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NC4yNDA2MzExNjM3MDgwOTUsIHk6IDc2LjY4OTE4OTE4OTE4OTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDYuNzQ1NTYyMTMwMTc3NTIsIHk6IDc5LjA1NDA2ODMyNzU5ODggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTUuMjI2ODI0NDU3NTkzNzE1LCB5OiA3OC4wNDA1NDA1NDA1NDA1MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ny45ODgxNjU2ODA0NzMzNDQsIHk6IDc4LjA0MDU0MDU0MDU0MDUzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU5LjU2NjA3NDk1MDY5MDM1LCB5OiA3OC4wNDA1NDA1NDA1NDA1MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2MC4xNTc3OTA5MjcwMjE2NywgeTogNzcuNzAyNzAyNzAyNzAyNjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjIuMTMwMTc3NTE0NzkyOTA1LCB5OiA3Ny4zNjQ4NjQ4NjQ4NjQ4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Mi45MTkxMzIxNDk5MDEzNywgeTogNzUuMDAwMDAwMDAwMDAwMDEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjQuODkxNTE4NzM3NjcyNiwgeTogNzIuOTcyOTcyOTcyOTcyOTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjYuMDc0OTUwNjkwMzM1MzEsIHk6IDcwLjk0NTk0NTk0NTk0NTkxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY4LjI0NDU3NTkzNjg4MzYyLCB5OiA2OS4yNTY3NTY3NTY3NTY3NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OC42MzkwNTMyNTQ0Mzc4NSwgeTogNjYuODkxODkxODkxODkxOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OS40MjgwMDc4ODk1NDYzMiwgeTogNjQuMTg5MTg5MTg5MTg5MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MS4wMDU5MTcxNTk3NjMzMywgeTogNTkuNDU5NDU5NDU5NDU5NDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzEuOTkyMTEwNDUzNjQ4ODgsIHk6IDU3LjQzMjQzMjQzMjQzMjQzNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3My4zNzI3ODEwNjUwODg3MywgeTogNTUuMDY3NTY3NTY3NTY3NTY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDczLjM3Mjc4MTA2NTA4ODczLCB5OiA1MS42ODkxODkxODkxODkyMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3My4zNzI3ODEwNjUwODg3MywgeTogNDkuNjYyMTYyMTYyMTYyMTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzMuMzcyNzgxMDY1MDg4NzMsIHk6IDQ2LjYyMTYyMTYyMTYyMTYzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDczLjc2NzI1ODM4MjY0MzA0LCB5OiA0NC41OTQ1OTQ1OTQ1OTQ2MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NC43NTM0NTE2NzY1Mjg1OCwgeTogNDMuOTE4OTE4OTE4OTE4OTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzYuMTM0MTIyMjg3OTY4NDQsIHk6IDQ0LjU5NDU5NDU5NDU5NDYxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc1LjczOTY0NDk3MDQxNDIsIHk6IDQ3LjYzNTEzNTEzNTEzNTE0NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NS41NDI0MDYzMTE2MzcwNSwgeTogNDguOTg2NDg2NDg2NDg2NDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzUuNzM5NjQ0OTcwNDE0MiwgeTogNTAuMDAwMDAwMDAwMDAwMDE0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc3LjEyMDMxNTU4MTg1NDA0LCB5OiA1MS42ODkxODkxODkxODkyMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OS4wOTI3MDIxNjk2MjUyMSwgeTogNTQuMzkxODkxODkxODkxOTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzkuODgxNjU2ODA0NzMzNjgsIHk6IDU2LjQxODkxODkxODkxODkwNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MC4yNzYxMzQxMjIyODc5OCwgeTogNTguNzgzNzgzNzgzNzgzODA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgwLjQ3MzM3Mjc4MTA2NTA3LCB5OiA2MS4xNDg2NDg2NDg2NDg2NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MC44Njc4NTAwOTg2MTkzNywgeTogNjMuNTEzNTEzNTEzNTEzNDk1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgwLjg2Nzg1MDA5ODYxOTM3LCB5OiA2NC44NjQ4NjQ4NjQ4NjQ4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MC42NzA2MTE0Mzk4NDIyMiwgeTogNjkuOTMyNDMyNDMyNDMyNDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODEuMDY1MDg4NzU3Mzk2NDUsIHk6IDcwLjYwODEwODEwODEwODA4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgyLjI0ODUyMDcxMDA1OTE1LCB5OiA3My4zMTA4MTA4MTA4MTA4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgzLjAzNzQ3NTM0NTE2NzY5LCB5OiA3Ni42ODkxODkxODkxODkyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgzLjgyNjQyOTk4MDI3NjE1LCB5OiA3OC4wNDA1NDA1NDA1NDA1MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4NC42MTUzODQ2MTUzODQ2MywgeTogNzguNzE2MjE2MjE2MjE2MjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODYuMzkwNTMyNTQ0Mzc4NywgeTogODAuNzQzMjQzMjQzMjQzMjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODguNTYwMTU3NzkwOTI3MDIsIHk6IDgyLjA5NDU5NDU5NDU5NDYxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg5LjE1MTg3Mzc2NzI1ODQxLCB5OiA4Mi4wOTQ1OTQ1OTQ1OTQ2MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5MC4zMzUzMDU3MTk5MjExMSwgeTogODQuMTIxNjIxNjIxNjIxNjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTAuNzI5NzgzMDM3NDc1MzQsIHk6IDg2LjQ4NjQ4NjQ4NjQ4NjQ3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkxLjEyNDI2MDM1NTAyOTU4LCB5OiA4Ny41IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkyLjUwNDkzMDk2NjQ2OTQyLCB5OiA4Ni4xNDg2NDg2NDg2NDg2NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NC40NzczMTc1NTQyNDA2NiwgeTogODUuNDcyOTcyOTcyOTcyOTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTcuMDQxNDIwMTE4MzQzMjEsIHk6IDg2LjgyNDMyNDMyNDMyNDMyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk4LjYxOTMyOTM4ODU2MDE1LCB5OiA4Ny41IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk5LjAxMzgwNjcwNjExNDM4LCB5OiA4OS44NjQ4NjQ4NjQ4NjQ4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OS4yMTEwNDUzNjQ4OTE1MywgeTogOTEuNTU0MDU0MDU0MDU0MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OS4yMTEwNDUzNjQ4OTE1MywgeTogOTQuMjU2NzU2NzU2NzU2NzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTAwLCB5OiA5Ny42MzUxMzUxMzUxMzUxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk5LjIxMTA0NTM2NDg5MTUzLCB5OiAxMDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTcuMjM4NjU4Nzc3MTIwMywgeTogOTkuNjYyMTYyMTYyMTYyMTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTYuNjQ2OTQyODAwNzg4OTgsIHk6IDk1LjYwODEwODEwODEwODE0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk0LjY3NDU1NjIxMzAxNzc1LCB5OiA5Mi41Njc1Njc1Njc1Njc1OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Mi41MDQ5MzA5NjY0Njk0MiwgeTogOTEuODkxODkxODkxODkxODYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTEuNTE4NzM3NjcyNTgzODEsIHk6IDkwLjg3ODM3ODM3ODM3ODM5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg5LjU0NjM1MTA4NDgxMjY0LCB5OiA4OS44NjQ4NjQ4NjQ4NjQ4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ny4xNzk0ODcxNzk0ODcxNywgeTogODkuODY0ODY0ODY0ODY0ODQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODYuNTg3NzcxMjAzMTU1OCwgeTogODcuODM3ODM3ODM3ODM3ODIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODUuOTk2MDU1MjI2ODI0NDgsIHk6IDg0LjEyMTYyMTYyMTYyMTYzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg1LjIwNzEwMDU5MTcxNiwgeTogODIuNzcwMjcwMjcwMjcwMjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODQuMjIwOTA3Mjk3ODMwMzIsIHk6IDgwLjQwNTQwNTQwNTQwNTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODAuNDczMzcyNzgxMDY1MDcsIHk6IDgwLjQwNTQwNTQwNTQwNTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzkuMjg5OTQwODI4NDAyMzcsIHk6IDgxLjQxODkxODkxODkxODkyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc2LjkyMzA3NjkyMzA3Njk2LCB5OiA4MS40MTg5MTg5MTg5MTg5MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NS4xNDc5Mjg5OTQwODI4MiwgeTogODEuNDE4OTE4OTE4OTE4OTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzQuNTU2MjEzMDE3NzUxNDksIHk6IDgyLjQzMjQzMjQzMjQzMjQyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc2LjEzNDEyMjI4Nzk2ODQ0LCB5OiA4My40NDU5NDU5NDU5NDU5NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ny41MTQ3OTI4OTk0MDgyOCwgeTogODMuNzgzNzgzNzgzNzgzNzkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzUuOTM2ODgzNjI5MTkxMzQsIHk6IDg1LjgxMDgxMDgxMDgxMDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzUuNTQyNDA2MzExNjM3MDUsIHk6IDg4LjE3NTY3NTY3NTY3NTY5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc3LjMxNzU1NDI0MDYzMTIsIHk6IDg5Ljg2NDg2NDg2NDg2NDg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc3LjUxNDc5Mjg5OTQwODI4LCB5OiA5Mi4yMjk3Mjk3Mjk3Mjk3NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ni4zMzEzNjA5NDY3NDU1OCwgeTogOTEuMjE2MjE2MjE2MjE2MjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzUuNTQyNDA2MzExNjM3MDUsIHk6IDg5Ljg2NDg2NDg2NDg2NDg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc0LjM1ODk3NDM1ODk3NDM1LCB5OiA4OC44NTEzNTEzNTEzNTEzNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3My45NjQ0OTcwNDE0MjAxLCB5OiA5MC41NDA1NDA1NDA1NDA1NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NC4xNjE3MzU3MDAxOTcyNiwgeTogOTIuNTY3NTY3NTY3NTY3NTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzMuMTc1NTQyNDA2MzExNjUsIHk6IDkzLjI0MzI0MzI0MzI0MzIzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcyLjc4MTA2NTA4ODc1NzQyLCB5OiA5MS41NTQwNTQwNTQwNTQxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcyLjU4MzgyNjQyOTk4MDI2LCB5OiA4OS41MjcwMjcwMjcwMjcwMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Mi41ODM4MjY0Mjk5ODAyNiwgeTogODguMTc1Njc1Njc1Njc1NjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzIuMTg5MzQ5MTEyNDI2MDMsIHk6IDg3LjE2MjE2MjE2MjE2MjE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcxLjU5NzYzMzEzNjA5NDcxLCB5OiA4Mi43NzAyNzAyNzAyNzAyNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MS41OTc2MzMxMzYwOTQ3MSwgeTogODEuMDgxMDgxMDgxMDgxMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MC42MTE0Mzk4NDIyMDkxLCB5OiA4MS4wODEwODEwODEwODExIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY5LjgyMjQ4NTIwNzEwMDU2LCB5OiA4My4xMDgxMDgxMDgxMDgwOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OS44MjI0ODUyMDcxMDA1NiwgeTogODUuNDcyOTcyOTcyOTcyOTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjguODM2MjkxOTEzMjE1LCB5OiA4Ny41IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY4LjQ0MTgxNDU5NTY2MDc3LCB5OiA4OC41MTM1MTM1MTM1MTM1MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ny44NTAwOTg2MTkzMjkzOSwgeTogODkuMTg5MTg5MTg5MTg5MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NS44Nzc3MTIwMzE1NTgyMiwgeTogODkuODY0ODY0ODY0ODY0ODQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjUuODc3NzEyMDMxNTU4MjIsIHk6IDg5Ljg2NDg2NDg2NDg2NDg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY0LjI5OTgwMjc2MTM0MTIxLCB5OiA4OC41MTM1MTM1MTM1MTM1MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Mi43MjE4OTM0OTExMjQyODQsIHk6IDg3LjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjEuNTM4NDYxNTM4NDYxNTIsIHk6IDg0LjEyMTYyMTYyMTYyMTYzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjM1NTAyOTU4NTc5ODgyLCB5OiA4MS40MTg5MTg5MTg5MTg5MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NC40Mzc4Njk4MjI0ODUyNCwgeTogODMuNzgzODE1MTg1NTgyMjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTQuNzA0MTI5NzgyMDIyNzUsIHk6IDg3LjA5OTQ3NzI4MjM0NTk5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU1LjMxMTgwNzc0NzEzNTAzNSwgeTogOTAuOTg4NDI5NTk3OTY0MDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTYuMDg2MzQxNzgxNTc0MTM0LCB5OiA5NS45NDUyMDk1MDM5MTMxMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1My42MDkzODU4NjE3MjY5NiwgeTogOTIuOTM0MDI2NTQzNjQwOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MS4wODQ4MTI2MjMyNzQxNSwgeTogODkuODY0OTU2MjE1NTUxMzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguODQ4ODcxNTcxNzYwMDE0LCB5OiA4NS4wMDc2MDA2NDk0NTY3NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NC44OTE2MzgxNjEzMTEwNSwgeTogNzUuOTgyNDMwNjgwODc2OTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDIuOTk4MDI3NjEzNDEyMjYsIHk6IDcyLjI5NzIzNDQ5MzcwMDMzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ1Ljc1OTM2ODgzNjI5MTkwNSwgeTogNzIuMjk3MjQwMjAzMTE4MjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguNjc0NjcyMTQyMzIyMzM2LCB5OiA3NC41MzU3MDg3MzUyODk5MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MS40NzkyODk5NDA4Mjg0LCB5OiA3Ni42ODkxODkxODkxODkyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUwLjA5ODYxOTMyOTM4ODU0LCB5OiA3My42NDg2NDg2NDg2NDg2NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OS4zMDk2NjQ2OTQyODAwNywgeTogNzEuMjgzNzgzNzgzNzgzNzkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguNzE3OTQ4NzE3OTQ4NjksIHk6IDY4LjkxODkxODkxODkxODg5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ3LjkyODk5NDA4Mjg0MDIzLCB5OiA2Ni41NTQwNTQwNTQwNTQwNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ny4xNDAwMzk0NDc3MzE3NiwgeTogNjQuNTI3MDI3MDI3MDI3MDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDYuNTQ4MzIzNDcxNDAwMzcsIHk6IDYyLjE2MjE2MjE2MjE2MjE2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ2LjM1MTA4NDgxMjYyMzI5LCB5OiA1OC43ODM3ODM3ODM3ODM4MDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDYuMzUxMDg0ODEyNjIzMjksIHk6IDU1LjQwNTQwNTQwNTQwNTQyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ2LjM1MTA4NDgxMjYyMzI5LCB5OiA1MS42ODkxODkxODkxODkyMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NS43NTkzNjg4MzYyOTE5MDUsIHk6IDQ3Ljk3Mjk3Mjk3Mjk3Mjk3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ1LjU2MjEzMDE3NzUxNDgyLCB5OiA0NS42MDgxMDgxMDgxMDgwOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NC45NzA0MTQyMDExODM0NCwgeTogNDQuOTMyNDMyNDMyNDMyNDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDQuNTc1OTM2ODgzNjI5MjA0LCB5OiA0NS45NDU5NDU5NDU5NDU5NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0My43ODY5ODIyNDg1MjA3NCwgeTogNDcuMjk3Mjk3Mjk3Mjk3Mjg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQyLjgwMDc4ODk1NDYzNTEyLCB5OiA0Ny45NzI5NzI5NzI5NzI5NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MS42MTczNTcwMDE5NzI0MTUsIHk6IDQ2LjYyMTYyMTYyMTYyMTYzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQxLjIyMjg3OTY4NDQxODEyLCB5OiA0My45MTg5MTg5MTg5MTg5MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOS42NDQ5NzA0MTQyMDExOCwgeTogMzkuODY0ODY0ODY0ODY0ODYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzkuMjUwNDkzMDk2NjQ2OTUsIHk6IDM2LjE0ODY0ODY0ODY0ODY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM5LjI1MDQ5MzA5NjY0Njk1LCB5OiAzMy4xMDgxMDgxMDgxMDgxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM5LjA1MzI1NDQzNzg2OTc5NiwgeTogMzAuNDA1NDA1NDA1NDA1Mzk2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM4Ljg1NjAxNTc3OTA5MjcxNSwgeTogMjguMDQwNTQwNTQwNTQwNTQ3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM4LjY1ODc3NzEyMDMxNTU3LCB5OiAyNy4zNjQ4NjQ4NjQ4NjQ4NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC4wNjcwNjExNDM5ODQyNSwgeTogMjcuMzY0ODY0ODY0ODY0ODcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzcuMjc4MTA2NTA4ODc1NzgsIHk6IDI2LjAxMzUxMzUxMzUxMzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzYuMjkxOTEzMjE0OTkwMTYsIHk6IDI0Ljk5OTk5OTk5OTk5OTk5MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNC43MTQwMDM5NDQ3NzMxNiwgeTogMjQuNjYyMTYyMTYyMTYyMTY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMzLjcyNzgxMDY1MDg4NzU1LCB5OiAyNC42NjIxNjIxNjIxNjIxNjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzIuOTM4ODU2MDE1Nzc5MDgsIHk6IDI0LjY2MjE2MjE2MjE2MjE2NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMS45NTI2NjI3MjE4OTM0NiwgeTogMjQuNjYyMTYyMTYyMTYyMTY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMwLjM3NDc1MzQ1MTY3NjUyMiwgeTogMjMuOTg2NDg2NDg2NDg2NDg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI5Ljk4MDI3NjEzNDEyMjI5MiwgeTogMjMuMzEwODEwODEwODEwOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOC45OTQwODI4NDAyMzY2NzIsIHk6IDIyLjYzNTEzNTEzNTEzNTEyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI4LjIwNTEyODIwNTEyODIwNCwgeTogMjEuNjIxNjIxNjIxNjIxNjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjYuNjI3MjE4OTM0OTExMjczLCB5OiAyMC45NDU5NDU5NDU5NDU5NTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjUuNDQzNzg2OTgyMjQ4NTA4LCB5OiAxOS41OTQ1OTQ1OTQ1OTQ1OTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjQuNjU0ODMyMzQ3MTQwMDM3LCB5OiAxNy41Njc1Njc1Njc1Njc1NzIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjMuODY1ODc3NzEyMDMxNTcsIHk6IDE1LjU0MDU0MDU0MDU0MDU1NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMy40NzE0MDAzOTQ0NzczMzUsIHk6IDEyLjgzNzgzNzgzNzgzNzg1MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMi42ODI0NDU3NTkzNjg4MDQsIHk6IDkuNzk3Mjk3Mjk3Mjk3Mjk2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIxLjMwMTc3NTE0NzkyOTAxOCwgeTogNi40MTg5MTg5MTg5MTg5MTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTkuMzI5Mzg4NTYwMTU3Nzg1LCB5OiA0LjcyOTcyOTcyOTcyOTcyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE4LjM0MzE5NTI2NjI3MjE2NSwgeTogNS4wNjc1Njc1Njc1Njc1NzU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE3LjE1OTc2MzMxMzYwOTQ2NCwgeTogNi4wODEwODEwODEwODEwODUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTYuNzY1Mjg1OTk2MDU1MjMsIHk6IDYuNDE4OTE4OTE4OTE4OTExIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE2LjU2ODA0NzMzNzI3ODA4NSwgeTogNy43NzAyNzAyNzAyNzAyNzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTYuNTY4MDQ3MzM3Mjc4MDg1LCB5OiA5LjEyMTYyMTYyMTYyMTYxNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNi43NjUyODU5OTYwNTUyMywgeTogMTAuNDcyOTcyOTcyOTcyOTc3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE3LjU1NDI0MDYzMTE2MzY5NywgeTogMTEuMTQ4NjQ4NjQ4NjQ4NjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTcuMzU3MDAxOTcyMzg2NjEyLCB5OiAxMi40OTk5OTk5OTk5OTk5OTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTYuOTYyNTI0NjU0ODMyMzE1LCB5OiAxNC44NjQ4NjQ4NjQ4NjQ4NzIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTUuNzc5MDkyNzAyMTY5NjEzLCB5OiAxNi4yMTYyMTYyMTYyMTYyMDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTQuOTkwMTM4MDY3MDYxMTQ2LCB5OiAxNy45MDU0MDU0MDU0MDU0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE0LjAwMzk0NDc3MzE3NTUyOCwgeTogMTkuNTk0NTk0NTk0NTk0NTkzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEyLjgyMDUxMjgyMDUxMjgyOCwgeTogMjAuOTQ1OTQ1OTQ1OTQ1OTU0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDExLjgzNDMxOTUyNjYyNzIxLCB5OiAyMS4yODM3ODM3ODM3ODM3ODIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTEuMjQyNjAzNTUwMjk1ODI3LCB5OiAyMi45NzI5NzI5NzI5NzI5NzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTEuMDQ1MzY0ODkxNTE4NzQzLCB5OiAyNC45OTk5OTk5OTk5OTk5OTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTEuNjM3MDgwODY3ODUwMTI1LCB5OiAyNi4wMTM1MTM1MTM1MTM1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDExLjgzNDMxOTUyNjYyNzIxLCB5OiAyNy43MDI3MDI3MDI3MDI2OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMi4yMjg3OTY4NDQxODE0NDQsIHk6IDI4LjM3ODM3ODM3ODM3ODM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDExLjA0NTM2NDg5MTUxODc0MywgeTogMjkuMDU0MDU0MDU0MDU0MDU2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkuNjY0Njk0MjgwMDc4ODkyLCB5OiAyOS43Mjk3Mjk3Mjk3Mjk3NDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOS4yNzAyMTY5NjI1MjQ2NTcsIHk6IDI5LjM5MTg5MTg5MTg5MTg4OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4LjA4Njc4NTAwOTg2MTk1NiwgeTogMjguMzc4Mzc4Mzc4Mzc4MzggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNy4yOTc4MzAzNzQ3NTM0MjQsIHk6IDI3LjAyNzAyNzAyNzAyNzA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYuMzExNjM3MDgwODY3ODcyLCB5OiAyNy4wMjcwMjcwMjcwMjcwNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0LjczMzcyNzgxMDY1MDg3MiwgeTogMjcuMzY0ODY0ODY0ODY0ODcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMy41NTAyOTU4NTc5ODgxNjksIHk6IDI3LjM2NDg2NDg2NDg2NDg3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiNmU5MmIwOTMtYjBlZi00ZGVmLTk1MjgtNDU5YTZlY2U4ZmQ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICJDYW5hZGEgKEFsbCBQcm92aW5jZXMpIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInBvbHkiLAogICAgICAgICAgICAgICAgICAgICAgICB4OiA3LjU4NDAxNTQ1ODIxNzI2MDUsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDEzLjc5MjY4MTAzMTk2MzAzNywKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIzLjc4NjQwNzc2Njk5MDI4NywKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMi40NjMyNTQyMzgzMjU3OTYsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc3R5bGU6IHsgb3BhY2l0eTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJfc3R5bGU6IHsgYmFja2dyb3VuZF9jb2xvcjogIiNmZWNhMDEiLCBiYWNrZ3JvdW5kX29wYWNpdHk6IDAuNjY3NTU1OTk2ODM3NDE5MSB9LAogICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwX3N0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRfY29sb3I6ICIjZmZmZmZmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b193aWR0aDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBfY29udGVudDogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJIZWFkaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAiQ2FuYWRhIChBbGwgUHJvdmluY2VzKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGluZzogImgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcjogeyBpZDogIiIsIGNsYXNzZXM6ICIiLCBjc3M6ICIiIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogInNhbnMtc2VyaWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogMjAuOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAiIzAwMDAwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogImxlZnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94TW9kZWw6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogeyB0b3A6IDEwLCBib3R0b206IDEwLCBsZWZ0OiAxMCwgcmlnaHQ6IDEwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogIjY4NzcwYzg4LTk0OGUtNGM1MS04OTQ1LTI4OTI1YjlmNzAxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJQYXJhZ3JhcGgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICc8ZGl2PlxuICAgIDxzdHJvbmc+U2FuZGFsZSBVdGlsaXR5IFByb2R1Y3RzPGJyIC8+PGJyIC8+PC9zdHJvbmc+XG48L2Rpdj5cbjxkaXY+PC9kaXY+XG48ZGl2PkF0dG46IEJyZXR0IERlYmVydDk3MTYtNDB0aCBTdHJlZXQgU0VDYWxnYXJ5LCBBQiwgVDJDIDJQM0NhbmFkYTwvZGl2PlxuPGRpdj5FbWFpbDogPGEgaHJlZj0ibWFpbHRvOmJkZWJlcnRAc2FuZGFsZS5jYSI+PHN0cm9uZz5iZGViZXJ0QHNhbmRhbGUuY2E8L3N0cm9uZz48L2E+PC9kaXY+XG48ZGl2PlBob25lOiA8YSBocmVmPSJ0ZWw6KzQwMzY2MzIxMDEiPisgKDQwMykgNjYzLTIxMDE8L2E+PC9kaXY+XG48ZGl2PkZheDogPGEgaHJlZj0idGVsOis0MDM3MjAwMDIwIj4rKDQwMykgNzIwLTAwMjA8L2E+PC9kaXY+XG48ZGl2Pk1vYmlsZTogPGEgaHJlZj0idGVsOis0MDM0NjIzNTMzIj4rICg0MDMpIDQ2Mi0zNTMzPC9hPjwvZGl2PlxuPGRpdj5XZWJzaXRlPHN0cm9uZz46IDxhIGhyZWY9Imh0dHBzOi8vd3d3LnNhbmRhbGUuY2EiIHRhcmdldD0iX2JsYW5rIj53d3cuc2FuZGFsZS5jYTwvYT4mbmJzcDs8L3N0cm9uZz48L2Rpdj5cbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAiIiwgY3NzOiAiIiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICJzYW5zLXNlcmlmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDE0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAyMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjMDAwMDAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hNb2RlbDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB7IHRvcDogMTAsIGJvdHRvbTogMTAsIGxlZnQ6IDEwLCByaWdodDogMTAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiZWEyMDJmN2QtZDg2ZS00NzJkLWE2N2MtNjlmZjkzMDY1NzI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgIHhfaW1hZ2VfYmFja2dyb3VuZDogNy41ODQwMTU0NTgyMTcyNjA1LAogICAgICAgICAgICAgICAgICAgICAgICB5X2ltYWdlX2JhY2tncm91bmQ6IDEzLjc5MjY4MTAzMTk2MzAzNywKICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDAsIHk6IDEwLjgxMDgxMDgxMDgxMDgxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDAsIHk6IDQ5LjAzNDc0OTAzNDc0OTAzNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxLjg1NTI4NzU2OTU3MzI4NCwgeTogNDcuODc2NDQ3ODc2NDQ3ODggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMi4wNDA4MTYzMjY1MzA2MTIzLCB5OiA0OS44MDY5NDk4MDY5NDk4MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzLjMzOTUxNzYyNTIzMTkxMSwgeTogNTAuMTkzMDUwMTkzMDUwMTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNC4wODE2MzI2NTMwNjEyMjUsIHk6IDUyLjUwOTY1MjUwOTY1MjUwNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0LjgyMzc0NzY4MDg5MDUzOCwgeTogNTEuMzUxMzUxMzUxMzUxMzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNS41NjU4NjI3MDg3MTk4NTIsIHk6IDQ5LjgwNjk0OTgwNjk0OTgxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYuNDkzNTA2NDkzNTA2NDkzLCB5OiA0OS44MDY5NDk4MDY5NDk4MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3LjIzNTYyMTUyMTMzNTgwNywgeTogNTAuOTY1MjUwOTY1MjUwOTY2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcuNzkyMjA3NzkyMjA3NzkyLCB5OiA1NC4wNTQwNTQwNTQwNTQwNTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC41MzQzMjI4MjAwMzcxMDYsIHk6IDU1LjU5ODQ1NTU5ODQ1NTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOS42NDc0OTUzNjE3ODEwNzUsIHk6IDU2Ljc1Njc1Njc1Njc1Njc2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEwLjIwNDA4MTYzMjY1MzA2MSwgeTogNjAuNjE3NzYwNjE3NzYwNjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTIuMDU5MzY5MjAyMjI2MzQ2LCB5OiA2MS43NzYwNjE3NzYwNjE3NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMi44MDE0ODQyMzAwNTU2NiwgeTogNjIuOTM0MzYyOTM0MzYyOTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTIuMjQ0ODk3OTU5MTgzNjczLCB5OiA2Ny4xODE0NjcxODE0NjcxOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMi4yNDQ4OTc5NTkxODM2NzMsIHk6IDY5Ljg4NDE2OTg4NDE2OTg5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEzLjU0MzU5OTI1Nzg4NDk3MiwgeTogNzMuMzU5MDczMzU5MDczMzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTQuNjU2NzcxNzk5NjI4OTQyLCB5OiA3NS42NzU2NzU2NzU2NzU2OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNS45NTU0NzMwOTgzMzAyNDEsIHk6IDc3LjYwNjE3NzYwNjE3NzYxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE2LjY5NzU4ODEyNjE1OTU1NSwgeTogNzguNzY0NDc4NzY0NDc4NzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTguMzY3MzQ2OTM4Nzc1NTEyLCB5OiA4MS40NjcxODE0NjcxODE0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS42NjYwNDgyMzc0NzY4MDgsIHk6IDgzLjc4Mzc4Mzc4Mzc4Mzc5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIwLjc3OTIyMDc3OTIyMDc4LCB5OiA4Ni4xMDAzODYxMDAzODYwOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMS43MDY4NjQ1NjQwMDc0MiwgeTogODYuMTAwMzg2MTAwMzg2MDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjMuMzc2NjIzMzc2NjIzMzc1LCB5OiA4Ni4xMDAzODYxMDAzODYwOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNS43ODg0OTcyMTcwNjg2NDUsIHk6IDg2LjEwMDM4NjEwMDM4NjA5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI4LjAxNDg0MjMwMDU1NjU4NywgeTogODYuMTAwMzg2MTAwMzg2MDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzAuMjQxMTg3Mzg0MDQ0NTI2LCB5OiA4NS4zMjgxODUzMjgxODUzMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMS43MjU0MTc0Mzk3MDMxNSwgeTogODUuNzE0Mjg1NzE0Mjg1NzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzUuNDM1OTkyNTc4ODQ5NzIsIHk6IDg2LjEwMDM4NjEwMDM4NjA5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM2LjU0OTE2NTEyMDU5MzY5LCB5OiA4NC41NTU5ODQ1NTU5ODQ1NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC40MDQ0NTI2OTAxNjY5OCwgeTogODUuMzI4MTg1MzI4MTg1MzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDAuNDQ1MjY5MDE2Njk3NTksIHk6IDg1LjMyODE4NTMyODE4NTMzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ0LjE1NTg0NDE1NTg0NDE2LCB5OiA4NS4zMjgxODUzMjgxODUzMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ni4zODIxODkyMzkzMzIwOSwgeTogODQuOTQyMDg0OTQyMDg0OTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguNjA4NTM0MzIyODIwMDM0LCB5OiA4NS4zMjgxODUzMjgxODUzMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MS4yMDU5MzY5MjAyMjI2NCwgeTogODYuMTAwMzg2MTAwMzg2MDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTMuODAzMzM5NTE3NjI1MjQsIHk6IDg1LjMyODE4NTMyODE4NTMzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU2LjQwMDc0MjExNTAyNzgyNSwgeTogODYuMTAwMzg2MTAwMzg2MDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTguNjI3MDg3MTk4NTE1NzcsIHk6IDg4LjAzMDg4ODAzMDg4ODA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjY2NzkwMzUyNTA0NjM4NCwgeTogODYuMTAwMzg2MTAwMzg2MDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjIuNTIzMTkxMDk0NjE5NjcsIHk6IDg1LjcxNDI4NTcxNDI4NTcxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYzLjYzNjM2MzYzNjM2MzYzLCB5OiA4OC4wMzA4ODgwMzA4ODgwNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NS4xMjA1OTM2OTIwMjIyNywgeTogODkuMTg5MTg5MTg5MTg5MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni40MTkyOTQ5OTA3MjM1NywgeTogOTEuMTE5NjkxMTE5NjkxMTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjcuOTAzNTI1MDQ2MzgyMTksIHk6IDk0LjIwODQ5NDIwODQ5NDIyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY5Ljc1ODgxMjYxNTk1NTQ2LCB5OiA5NS43NTI4OTU3NTI4OTU3NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MS45ODUxNTc2OTk0NDM0MiwgeTogOTguNDU1NTk4NDU1NTk4NDYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzMuNDY5Mzg3NzU1MTAyMDUsIHk6IDEwMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NC45NTM2MTc4MTA3NjA2NiwgeTogMTAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc3LjE3OTk2Mjg5NDI0ODYsIHk6IDk2LjEzODk5NjEzODk5NjEzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc5LjAzNTI1MDQ2MzgyMTksIHk6IDk0LjIwODQ5NDIwODQ5NDIyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc5Ljc3NzM2NTQ5MTY1MTIxLCB5OiA5Ni45MTExOTY5MTExOTY5MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Mi4wMDM3MTA1NzUxMzkxNCwgeTogOTYuMTM4OTk2MTM4OTk2MTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODMuMTE2ODgzMTE2ODgzMTIsIHk6IDkzLjgyMjM5MzgyMjM5MzgyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg0LjIzMDA1NTY1ODYyNzEsIHk6IDkxLjg5MTg5MTg5MTg5MTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODYuMDg1MzQzMjI4MjAwMzcsIHk6IDkzLjQzNjI5MzQzNjI5MzQ0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg2LjY0MTkyOTQ5OTA3MjM2LCB5OiA5NC45ODA2OTQ5ODA2OTQ5OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ny43NTUxMDIwNDA4MTYzMywgeTogOTYuMTM4OTk2MTM4OTk2MTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODkuNDI0ODYwODUzNDMyMjksIHk6IDk1Ljc1Mjg5NTc1Mjg5NTc1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg5LjIzOTMzMjA5NjQ3NDk1LCB5OiA5MS44OTE4OTE4OTE4OTE5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg4LjMxMTY4ODMxMTY4ODMxLCB5OiA4OS45NjEzODk5NjEzODk5NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OS4wNTM4MDMzMzk1MTc2MywgeTogODcuNjQ0Nzg3NjQ0Nzg3NjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODkuNjEwMzg5NjEwMzg5NiwgeTogODUuNzE0Mjg1NzE0Mjg1NzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODguNjgyNzQ1ODI1NjAyOTYsIHk6IDg1LjcxNDI4NTcxNDI4NTcxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg3Ljk0MDYzMDc5Nzc3MzY1LCB5OiA4NS43MTQyODU3MTQyODU3MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ny4wMTI5ODcwMTI5ODcwMSwgeTogODUuMzI4MTg1MzI4MTg1MzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODUuODk5ODE0NDcxMjQzMDUsIHk6IDg1LjMyODE4NTMyODE4NTMzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg0LjYwMTExMzE3MjU0MTc0LCB5OiA4Ni40ODY0ODY0ODY0ODY0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4My44NTg5OTgxNDQ3MTI0MywgeTogODcuNjQ0Nzg3NjQ0Nzg3NjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODMuMTE2ODgzMTE2ODgzMTIsIHk6IDg4LjgwMzA4ODgwMzA4ODggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODIuNTYwMjk2ODQ2MDExMTMsIHk6IDg5LjU3NTI4OTU3NTI4OTU3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgyLjM3NDc2ODA4OTA1MzgsIHk6IDg5LjU3NTI4OTU3NTI4OTU3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgzLjExNjg4MzExNjg4MzEyLCB5OiA4Ni44NzI1ODY4NzI1ODY4OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4NC4yMzAwNTU2NTg2MjcxLCB5OiA4NS43MTQyODU3MTQyODU3MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4NS41Mjg3NTY5NTczMjgzOCwgeTogODMuNzgzNzgzNzgzNzgzNzkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODYuNjQxOTI5NDk5MDcyMzYsIHk6IDgyLjYyNTQ4MjYyNTQ4MjYzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg3LjU2OTU3MzI4Mzg1OSwgeTogODEuMDgxMDgxMDgxMDgxMDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODguNDk3MjE3MDY4NjQ1NjQsIHk6IDgwLjY5NDk4MDY5NDk4MDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTAuMzUyNTA0NjM4MjE4OTIsIHk6IDgwLjY5NDk4MDY5NDk4MDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTEuODM2NzM0NjkzODc3NTYsIHk6IDgwLjY5NDk4MDY5NDk4MDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTQuMjQ4NjA4NTM0MzIyODEsIHk6IDc5LjkyMjc3OTkyMjc3OTkyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk1LjkxODM2NzM0NjkzODc3LCB5OiA3OS4xNTA1NzkxNTA1NzkxNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Ny43NzM2NTQ5MTY1MTIwNiwgeTogNzcuNjA2MTc3NjA2MTc3NjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTkuMjU3ODg0OTcyMTcwNjksIHk6IDc2LjQ0Nzg3NjQ0Nzg3NjQ1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEwMCwgeTogNzQuNTE3Mzc0NTE3Mzc0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMDAsIHk6IDczLjM1OTA3MzM1OTA3MzM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk4Ljg4NjgyNzQ1ODI1NjA0LCB5OiA3MC42NTYzNzA2NTYzNzA2NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Ny43NzM2NTQ5MTY1MTIwNiwgeTogNjguMzM5NzY4MzM5NzY4MzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTcuMDMxNTM5ODg4NjgyNzQsIHk6IDY4LjMzOTc2ODMzOTc2ODM0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk1LjczMjgzODU4OTk4MTQ1LCB5OiA2OS44ODQxNjk4ODQxNjk4OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NS43MzI4Mzg1ODk5ODE0NSwgeTogNjkuODg0MTY5ODg0MTY5ODkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTYuMTAzODk2MTAzODk2MSwgeTogNjcuNTY3NTY3NTY3NTY3NTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTYuNjYwNDgyMzc0NzY4MDgsIHk6IDY3LjE4MTQ2NzE4MTQ2NzE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk1LjkxODM2NzM0NjkzODc3LCB5OiA2Ni43OTUzNjY3OTUzNjY3OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NC42MTk2NjYwNDgyMzc0OCwgeTogNjUuMjUwOTY1MjUwOTY1MjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTMuODc3NTUxMDIwNDA4MTYsIHk6IDYxLjc3NjA2MTc3NjA2MTc3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkzLjMyMDk2NDc0OTUzNjE3LCB5OiA1OS40NTk0NTk0NTk0NTk0NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Mi45NDk5MDcyMzU2MjE1MiwgeTogNTYuNzU2NzU2NzU2NzU2NzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTIuMjA3NzkyMjA3NzkyMjEsIHk6IDU0LjQ0MDE1NDQ0MDE1NDQ0NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5MS40NjU2NzcxNzk5NjI5LCB5OiA1MC45NjUyNTA5NjUyNTA5NjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTAuOTA5MDkwOTA5MDkwOSwgeTogNDkuMDM0NzQ5MDM0NzQ5MDM0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkwLjM1MjUwNDYzODIxODkyLCB5OiA0Ny4xMDQyNDcxMDQyNDcxMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OS43OTU5MTgzNjczNDY5NCwgeTogNDcuMTA0MjQ3MTA0MjQ3MTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODkuMjM5MzMyMDk2NDc0OTUsIHk6IDQ3LjEwNDI0NzEwNDI0NzExIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg5LjIzOTMzMjA5NjQ3NDk1LCB5OiA0Ny4xMDQyNDcxMDQyNDcxMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OC4zMTE2ODgzMTE2ODgzMSwgeTogNDguNjQ4NjQ4NjQ4NjQ4NjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODcuNTY5NTczMjgzODU5LCB5OiA1MC45NjUyNTA5NjUyNTA5NjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODYuODI3NDU4MjU2MDI5NjksIHk6IDUyLjEyMzU1MjEyMzU1MjExNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ni4yNzA4NzE5ODUxNTc3LCB5OiA1Mi41MDk2NTI1MDk2NTI1MDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODUuNTI4NzU2OTU3MzI4MzgsIHk6IDUyLjg5NTc1Mjg5NTc1MjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODUuNTI4NzU2OTU3MzI4MzgsIHk6IDUyLjg5NTc1Mjg5NTc1MjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODQuMjMwMDU1NjU4NjI3MSwgeTogNTEuNzM3NDUxNzM3NDUxNzM1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgzLjY3MzQ2OTM4Nzc1NTEsIHk6IDUwLjE5MzA1MDE5MzA1MDE5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgzLjMwMjQxMTg3Mzg0MDQ0LCB5OiA0OS4wMzQ3NDkwMzQ3NDkwMzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODMuMzAyNDExODczODQwNDQsIHk6IDQ4LjY0ODY0ODY0ODY0ODY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgyLjkzMTM1NDM1OTkyNTc5LCB5OiA0NS45NDU5NDU5NDU5NDU5NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Mi4zNzQ3NjgwODkwNTM4LCB5OiA0NC4wMTU0NDQwMTU0NDQwMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS4yNjE1OTU1NDczMDk4MiwgeTogNDQuMDE1NDQ0MDE1NDQ0MDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODAuMzMzOTUxNzYyNTIzMiwgeTogNDAuOTI2NjQwOTI2NjQwOTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzguNjY0MTkyOTQ5OTA3MjMsIHk6IDM4Ljk5NjEzODk5NjEzODk5NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ny4zNjU0OTE2NTEyMDU5NCwgeTogMzguOTk2MTM4OTk2MTM4OTk1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc3LjE3OTk2Mjg5NDI0ODYsIHk6IDM4Ljk5NjEzODk5NjEzODk5NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NS44ODEyNjE1OTU1NDczMSwgeTogMzguOTk2MTM4OTk2MTM4OTk1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc0Ljc2ODA4OTA1MzgwMzM1LCB5OiAzOC42MTAwMzg2MTAwMzg2MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NC4zOTcwMzE1Mzk4ODg2OSwgeTogMzguNjEwMDM4NjEwMDM4NjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzMuNjU0OTE2NTEyMDU5MzYsIHk6IDM5LjM4MjIzOTM4MjIzOTM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDczLjY1NDkxNjUxMjA1OTM2LCB5OiAzOS43NjgzMzk3NjgzMzk3NjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzQuNTgyNTYwMjk2ODQ2MDEsIHk6IDQ3Ljg3NjQ0Nzg3NjQ0Nzg4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDczLjY1NDkxNjUxMjA1OTM2LCB5OiA0Ny44NzY0NDc4NzY0NDc4OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3My42NTQ5MTY1MTIwNTkzNiwgeTogNDkuNDIwODQ5NDIwODQ5NDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzMuNjU0OTE2NTEyMDU5MzYsIHk6IDUyLjEyMzU1MjEyMzU1MjExNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NC4zOTcwMzE1Mzk4ODg2OSwgeTogNTQuMDU0MDU0MDU0MDU0MDU2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc0Ljk1MzYxNzgxMDc2MDY2LCB5OiA1NS45ODQ1NTU5ODQ1NTU5OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NS41MTAyMDQwODE2MzI2NSwgeTogNTcuMTQyODU3MTQyODU3MTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzUuMzI0Njc1MzI0Njc1MzMsIHk6IDU5LjA3MzM1OTA3MzM1OTA4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc1LjMyNDY3NTMyNDY3NTMzLCB5OiA2MC4yMzE2NjAyMzE2NjAyMzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzUuMTM5MTQ2NTY3NzE4LCB5OiA2MS4zODk5NjEzODk5NjEzOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NC4zOTcwMzE1Mzk4ODg2OSwgeTogNjMuMzIwNDYzMzIwNDYzMzIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzQuMDI1OTc0MDI1OTc0MDIsIHk6IDY0LjA5MjY2NDA5MjY2NDEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzIuOTEyODAxNDg0MjMwMDYsIHk6IDY2LjAyMzE2NjAyMzE2NjAzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcxLjk4NTE1NzY5OTQ0MzQyLCB5OiA2Ni43OTUzNjY3OTUzNjY3OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Mi41NDE3NDM5NzAzMTU0LCB5OiA2OS44ODQxNjk4ODQxNjk4OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Mi43MjcyNzI3MjcyNzI3MywgeTogNzMuMzU5MDczMzU5MDczMzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzEuNzk5NjI4OTQyNDg2MDgsIHk6IDc0LjUxNzM3NDUxNzM3NDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzAuNTAwOTI3NjQzNzg0NzgsIHk6IDc0LjkwMzQ3NDkwMzQ3NDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjkuNTczMjgzODU4OTk4MTUsIHk6IDcxLjgxNDY3MTgxNDY3MTgxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY5LjU3MzI4Mzg1ODk5ODE1LCB5OiA3MS44MTQ2NzE4MTQ2NzE4MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OC42NDU2NDAwNzQyMTE1LCB5OiA2OS4xMTE5NjkxMTE5NjkxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY4LjY0NTY0MDA3NDIxMTUsIHk6IDY3LjU2NzU2NzU2NzU2NzU2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY4LjA4OTA1MzgwMzMzOTUxLCB5OiA2Ny4xODE0NjcxODE0NjcxOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni42MDQ4MjM3NDc2ODA4OCwgeTogNjUuNjM3MDY1NjM3MDY1NjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjQuOTM1MDY0OTM1MDY0OTMsIHk6IDYzLjcwNjU2MzcwNjU2MzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjQuMzc4NDc4NjY0MTkyOTUsIHk6IDYyLjU0ODI2MjU0ODI2MjU0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYzLjI2NTMwNjEyMjQ0ODk4LCB5OiA2MS4wMDM4NjEwMDM4NjEwMDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjIuNzA4NzE5ODUxNTc3LCB5OiA2MC4yMzE2NjAyMzE2NjAyMzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjEuOTY2NjA0ODIzNzQ3NjksIHk6IDU5LjQ1OTQ1OTQ1OTQ1OTQ2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYxLjU5NTU0NzMwOTgzMzAyLCB5OiA1OC42ODcyNTg2ODcyNTg2OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2MC42Njc5MDM1MjUwNDYzODQsIHk6IDU3LjUyODk1NzUyODk1NzUzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjQ4MjM3NDc2ODA4OTA1LCB5OiA1Ny41Mjg5NTc1Mjg5NTc1MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OS41NTQ3MzA5ODMzMDI0MDYsIHk6IDU2Ljc1Njc1Njc1Njc1Njc2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU4LjgxMjYxNTk1NTQ3MzEsIHk6IDU2Ljc1Njc1Njc1Njc1Njc2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU4LjgxMjYxNTk1NTQ3MzEsIHk6IDU2Ljc1Njc1Njc1Njc1Njc2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU4LjI1NjAyOTY4NDYwMTEyLCB5OiA1Ni43NTY3NTY3NTY3NTY3NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ny44ODQ5NzIxNzA2ODY0NSwgeTogNTYuNzU2NzU2NzU2NzU2NzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTcuNjk5NDQzNDEzNzI5MTIsIHk6IDU2Ljc1Njc1Njc1Njc1Njc2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU2Ljc3MTc5OTYyODk0MjQ5LCB5OiA1NS4yMTIzNTUyMTIzNTUyMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NS4yODc1Njk1NzMyODM4NTQsIHk6IDUyLjEyMzU1MjEyMzU1MjExNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NC45MTY1MTIwNTkzNjkyMDQsIHk6IDUxLjczNzQ1MTczNzQ1MTczNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NC4xNzQzOTcwMzE1Mzk4OSwgeTogNTAuMTkzMDUwMTkzMDUwMTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTQuMTc0Mzk3MDMxNTM5ODksIHk6IDQ3Ljg3NjQ0Nzg3NjQ0Nzg4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU1LjI4NzU2OTU3MzI4Mzg1NCwgeTogNDMuNjI5MzQzNjI5MzQzNjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTUuODQ0MTU1ODQ0MTU1ODQsIHk6IDQxLjMxMjc0MTMxMjc0MTMxNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ni41ODYyNzA4NzE5ODUxNiwgeTogMzguNjEwMDM4NjEwMDM4NjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTcuNjk5NDQzNDEzNzI5MTIsIHk6IDM2LjI5MzQzNjI5MzQzNjI5NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OC40NDE1NTg0NDE1NTg0NCwgeTogMzUuNTIxMjM1NTIxMjM1NTI1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU4Ljk5ODE0NDcxMjQzMDQyNCwgeTogMzUuMTM1MTM1MTM1MTM1MTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTkuNTU0NzMwOTgzMzAyNDA2LCB5OiAzMy45NzY4MzM5NzY4MzM5NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2MS4wMzg5NjEwMzg5NjEwMzQsIHk6IDMyLjQzMjQzMjQzMjQzMjQzNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Mi4xNTIxMzM1ODA3MDUwMDUsIHk6IDMwLjUwMTkzMDUwMTkzMDUwMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Mi44OTQyNDg2MDg1MzQzMiwgeTogMjguOTU3NTI4OTU3NTI4OTU0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYyLjUyMzE5MTA5NDYxOTY3LCB5OiAyOC45NTc1Mjg5NTc1Mjg5NTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjEuNTk1NTQ3MzA5ODMzMDIsIHk6IDI4LjU3MTQyODU3MTQyODU3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjg1MzQzMjI4MjAwMzcxLCB5OiAyNy43OTkyMjc3OTkyMjc4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjI5Njg0NjAxMTEzMTcyLCB5OiAyNi4yNTQ4MjYyNTQ4MjYyNTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjAuMTExMzE3MjU0MTc0NCwgeTogMjUuMDk2NTI1MDk2NTI1MDk1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYxLjU5NTU0NzMwOTgzMzAyLCB5OiAyNC43MTA0MjQ3MTA0MjQ3MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Mi41MjMxOTEwOTQ2MTk2NywgeTogMjYuNjQwOTI2NjQwOTI2NjQ0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYyLjcwODcxOTg1MTU3NywgeTogMjcuMDI3MDI3MDI3MDI3MDI4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYzLjgyMTg5MjM5MzMyMDk2NSwgeTogMjcuMDI3MDI3MDI3MDI3MDI4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY0Ljc0OTUzNjE3ODEwNzYsIHk6IDI1LjA5NjUyNTA5NjUyNTA5NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NS4xMjA1OTM2OTIwMjIyNywgeTogMjMuMTY2MDIzMTY2MDIzMTY2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY2LjA0ODIzNzQ3NjgwODkxLCB5OiAyMS4yMzU1MjEyMzU1MjEyMzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjYuOTc1ODgxMjYxNTk1NTUsIHk6IDIxLjIzNTUyMTIzNTUyMTIzMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OS4yMDIyMjYzNDUwODM0OSwgeTogMjIuMDA3NzIyMDA3NzIyMDEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjkuOTQ0MzQxMzcyOTEyOCwgeTogMTkuMzA1MDE5MzA1MDE5MzA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY5LjIwMjIyNjM0NTA4MzQ5LCB5OiAxOC4xNDY3MTgxNDY3MTgxNDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjguODMxMTY4ODMxMTY4ODQsIHk6IDE2LjIxNjIxNjIxNjIxNjIxOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OC44MzExNjg4MzExNjg4NCwgeTogMTMuODk5NjEzODk5NjEzOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OS4yMDIyMjYzNDUwODM0OSwgeTogMTIuMzU1MjEyMzU1MjEyMzU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY5LjIwMjIyNjM0NTA4MzQ5LCB5OiAxMS41ODMwMTE1ODMwMTE1ODMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjguNjQ1NjQwMDc0MjExNSwgeTogMTAuODEwODEwODEwODEwODEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjcuOTAzNTI1MDQ2MzgyMTksIHk6IDEwLjQyNDcxMDQyNDcxMDQyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni40MTkyOTQ5OTA3MjM1NywgeTogOS42NTI1MDk2NTI1MDk2NTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjUuNjc3MTc5OTYyODk0MjQsIHk6IDkuNjUyNTA5NjUyNTA5NjUyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY1LjQ5MTY1MTIwNTkzNjkyLCB5OiAxMC4wMzg2MTAwMzg2MTAwMzggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjUuMzA2MTIyNDQ4OTc5NiwgeTogMTMuMTI3NDEzMTI3NDEzMTI2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY0LjU2NDAwNzQyMTE1MDI4LCB5OiAxNC42NzE4MTQ2NzE4MTQ2NzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjQuMzc4NDc4NjY0MTkyOTUsIHk6IDE2LjYwMjMxNjYwMjMxNjYwMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NC4wMDc0MjExNTAyNzgzLCB5OiAxOC4xNDY3MTgxNDY3MTgxNDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjMuNjM2MzYzNjM2MzYzNjMsIHk6IDE4LjUzMjgxODUzMjgxODUzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYyLjE1MjEzMzU4MDcwNTAwNSwgeTogMTguNTMyODE4NTMyODE4NTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjEuNzgxMDc2MDY2NzkwMzU1LCB5OiAxOC4xNDY3MTgxNDY3MTgxNDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjEuNTk1NTQ3MzA5ODMzMDIsIHk6IDEzLjEyNzQxMzEyNzQxMzEyNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2MS4wMzg5NjEwMzg5NjEwMzQsIHk6IDExLjk2OTExMTk2OTExMTk3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjI5Njg0NjAxMTEzMTcyLCB5OiAxMy41MTM1MTM1MTM1MTM1MTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTkuNzQwMjU5NzQwMjU5NzQsIHk6IDEzLjUxMzUxMzUxMzUxMzUxNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OC42MjcwODcxOTg1MTU3NywgeTogMTEuOTY5MTExOTY5MTExOTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTcuNjk5NDQzNDEzNzI5MTIsIHk6IDExLjU4MzAxMTU4MzAxMTU4MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NS40NzMwOTgzMzAyNDExODYsIHk6IDEyLjM1NTIxMjM1NTIxMjM1NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NS40NzMwOTgzMzAyNDExODYsIHk6IDEyLjc0MTMxMjc0MTMxMjc0MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NS40NzMwOTgzMzAyNDExODYsIHk6IDEyLjc0MTMxMjc0MTMxMjc0MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NS4yODc1Njk1NzMyODM4NTQsIHk6IDE1LjgzMDExNTgzMDExNTgzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUzLjQzMjI4MjAwMzcxMDU3NiwgeTogMTQuNjcxODE0NjcxODE0NjczIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUzLjQzMjI4MjAwMzcxMDU3NiwgeTogMTYuNjAyMzE2NjAyMzE2NjAyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjg3NTY5NTczMjgzODU5NCwgeTogMjAuMDc3MjIwMDc3MjIwMDc2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUxLjc2MjUyMzE5MTA5NDYyLCB5OiAxNy43NjA2MTc3NjA2MTc3NjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTEuMDIwNDA4MTYzMjY1MzEsIHk6IDE3Ljc2MDYxNzc2MDYxNzc2MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OS45MDcyMzU2MjE1MjEzNCwgeTogMTcuNzYwNjE3NzYwNjE3NzYyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ4LjQyMzAwNTU2NTg2MjcxLCB5OiAxNy43NjA2MTc3NjA2MTc3NjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDYuNzUzMjQ2NzUzMjQ2NzUsIHk6IDE3LjM3NDUxNzM3NDUxNzM3NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ni4xOTY2NjA0ODIzNzQ3NywgeTogMTYuOTg4NDE2OTg4NDE2OTg2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU3LjUxMzkxNDY1Njc3MTgsIHk6IDEwLjQyNDcxMDQyNDcxMDQyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ni45NTczMjgzODU4OTk4MiwgeTogOS4yNjY0MDkyNjY0MDkyNjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTYuMjE1MjEzMzU4MDcwNTEsIHk6IDcuNzIyMDA3NzIyMDA3NzIyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU2LjAyOTY4NDYwMTExMzE3NSwgeTogNS43OTE1MDU3OTE1MDU3OTE1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU0LjkxNjUxMjA1OTM2OTIwNCwgeTogMy44NjEwMDM4NjEwMDM4NjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTQuNzMwOTgzMzAyNDExODcsIHk6IDIuMzE2NjAyMzE2NjAyMzE2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NC4xNzQzOTcwMzE1Mzk4OSwgeTogMC4zODYxMDAzODYxMDAzODYxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUzLjA2MTIyNDQ4OTc5NTkyLCB5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUzLjA2MTIyNDQ4OTc5NTkyLCB5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUxLjU3Njk5NDQzNDEzNzI5LCB5OiA2Ljk0OTgwNjk0OTgwNjk1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjMxOTEwOTQ2MTk2NjYwNSwgeTogOC40OTQyMDg0OTQyMDg0OTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTIuNTA0NjM4MjE4OTIzOTQsIHk6IDguODgwMzA4ODgwMzA4ODgxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjUwNDYzODIxODkyMzk0LCB5OiAxMS41ODMwMTE1ODMwMTE1ODMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTEuNzYyNTIzMTkxMDk0NjIsIHk6IDEzLjEyNzQxMzEyNzQxMzEyNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OS41MzYxNzgxMDc2MDY2NywgeTogMTMuODk5NjEzODk5NjEzOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OS4xNjUxMjA1OTM2OTIwMiwgeTogMTQuMjg1NzE0Mjg1NzE0Mjg1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ3LjMwOTgzMzAyNDExODc0LCB5OiAxNS4wNTc5MTUwNTc5MTUwNTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDcuMzA5ODMzMDI0MTE4NzQsIHk6IDE1LjA1NzkxNTA1NzkxNTA1OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ni4zODIxODkyMzkzMzIwOSwgeTogMTUuNDQ0MDE1NDQ0MDE1NDQzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ0LjM0MTM3MjkxMjgwMTQ4LCB5OiAxNS40NDQwMTU0NDQwMTU0NDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDQuMTU1ODQ0MTU1ODQ0MTYsIHk6IDE1LjgzMDExNTgzMDExNTgzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQzLjA0MjY3MTYxNDEwMDE4NiwgeTogMTUuODMwMTE1ODMwMTE1ODMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDEuOTI5NDk5MDcyMzU2MjE1LCB5OiAxNC42NzE4MTQ2NzE4MTQ2NzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDEuMTg3Mzg0MDQ0NTI2OSwgeTogMTQuNjcxODE0NjcxODE0NjczIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM5Ljg4ODY4Mjc0NTgyNTYwNSwgeTogMTYuMjE2MjE2MjE2MjE2MjE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM5Ljg4ODY4Mjc0NTgyNTYwNSwgeTogMTkuMzA1MDE5MzA1MDE5MzA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM5LjcwMzE1Mzk4ODg2ODI3LCB5OiAyMC40NjMzMjA0NjMzMjA0NjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzkuNzAzMTUzOTg4ODY4MjcsIHk6IDIwLjQ2MzMyMDQ2MzMyMDQ2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOS43MDMxNTM5ODg4NjgyNywgeTogMjEuMjM1NTIxMjM1NTIxMjMzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM4LjQwNDQ1MjY5MDE2Njk4LCB5OiAyMC4wNzcyMjAwNzcyMjAwNzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzcuNjYyMzM3NjYyMzM3NjYsIHk6IDE4LjUzMjgxODUzMjgxODUzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM3LjEwNTc1MTM5MTQ2NTY3NCwgeTogMTguMTQ2NzE4MTQ2NzE4MTQ3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM1LjI1MDQ2MzgyMTg5MjM5LCB5OiAxOC4xNDY3MTgxNDY3MTgxNDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzMuMjA5NjQ3NDk1MzYxNzg2LCB5OiAxOC4xNDY3MTgxNDY3MTgxNDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzEuMzU0MzU5OTI1Nzg4NSwgeTogMTcuNzYwNjE3NzYwNjE3NzYyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMxLjE2ODgzMTE2ODgzMTE3LCB5OiAxNy4zNzQ1MTczNzQ1MTczNzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzEuMTY4ODMxMTY4ODMxMTcsIHk6IDE3LjM3NDUxNzM3NDUxNzM3NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMC42MTIyNDQ4OTc5NTkxODMsIHk6IDE2LjIxNjIxNjIxNjIxNjIxOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMC40MjY3MTYxNDEwMDE4NTUsIHk6IDE0LjI4NTcxNDI4NTcxNDI4NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOC43NTY5NTczMjgzODU5LCB5OiAxMy4xMjc0MTMxMjc0MTMxMjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjguMzg1ODk5ODE0NDcxMjQ0LCB5OiAxMy4xMjc0MTMxMjc0MTMxMjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjYuOTAxNjY5NzU4ODEyNjIsIHk6IDEzLjEyNzQxMzEyNzQxMzEyNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNS42MDI5Njg0NjAxMTEzMiwgeTogMTIuMzU1MjEyMzU1MjEyMzU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI0LjQ4OTc5NTkxODM2NzM0NiwgeTogMTEuOTY5MTExOTY5MTExOTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjMuMTkxMDk0NjE5NjY2MDQ2LCB5OiAxMS4xOTY5MTExOTY5MTExOTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjIuMDc3OTIyMDc3OTIyMDgsIHk6IDEwLjAzODYxMDAzODYxMDAzOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMS43MDY4NjQ1NjQwMDc0MiwgeTogMTAuMDM4NjEwMDM4NjEwMDM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIwLjk2NDc0OTUzNjE3ODEwOCwgeTogMTAuODEwODEwODEwODEwODEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTkuNDgwNTE5NDgwNTE5NDgzLCB5OiAxMC44MTA4MTA4MTA4MTA4MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOC43Mzg0MDQ0NTI2OTAxNjUsIHk6IDEwLjgxMDgxMDgxMDgxMDgxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE4LjE4MTgxODE4MTgxODE4MywgeTogMTAuODEwODEwODEwODEwODEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTcuNDM5NzAzMTUzOTg4ODY2LCB5OiAxMC4wMzg2MTAwMzg2MTAwMzggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTcuMjU0MTc0Mzk3MDMxNTQsIHk6IDkuNjUyNTA5NjUyNTA5NjUyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE2LjUxMjA1OTM2OTIwMjIyNywgeTogOC44ODAzMDg4ODAzMDg4ODEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTUuNTg0NDE1NTg0NDE1NTg0LCB5OiA2LjU2MzcwNjU2MzcwNjU2MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNS4wMjc4MjkzMTM1NDM2LCB5OiA4LjEwODEwODEwODEwODEwOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNC40NzEyNDMwNDI2NzE2MTMsIHk6IDguMTA4MTA4MTA4MTA4MTA5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEzLjM1ODA3MDUwMDkyNzY0NCwgeTogOC44ODAzMDg4ODAzMDg4ODEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTEuMzE3MjU0MTc0Mzk3MDMyLCB5OiA5LjI2NjQwOTI2NjQwOTI2NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMC4zODk2MTAzODk2MTAzOSwgeTogMTAuODEwODEwODEwODEwODEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTAuMjA0MDgxNjMyNjUzMDYxLCB5OiAxMS45NjkxMTE5NjkxMTE5NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMC4wMTg1NTI4NzU2OTU3MzIsIHk6IDEyLjM1NTIxMjM1NTIxMjM1NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5LjQ2MTk2NjYwNDgyMzc0NywgeTogMTEuNTgzMDExNTgzMDExNTgzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcuOTc3NzM2NTQ5MTY1MTIxLCB5OiA5LjY1MjUwOTY1MjUwOTY1MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2LjY3OTAzNTI1MDQ2MzgyMiwgeTogMTAuODEwODEwODEwODEwODEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNi42NzkwMzUyNTA0NjM4MjIsIHk6IDExLjU4MzAxMTU4MzAxMTU4MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2LjY3OTAzNTI1MDQ2MzgyMiwgeTogMTIuNzQxMzEyNzQxMzEyNzQyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYuNjc5MDM1MjUwNDYzODIyLCB5OiAxMi43NDEzMTI3NDEzMTI3NDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNC44MjM3NDc2ODA4OTA1MzgsIHk6IDEzLjEyNzQxMzEyNzQxMzEyNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0LjI2NzE2MTQxMDAxODU1MywgeTogMTEuOTY5MTExOTY5MTExOTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMi45Njg0NjAxMTEzMTcyNTQ0LCB5OiAxMS4xOTY5MTExOTY5MTExOTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMi4wNDA4MTYzMjY1MzA2MTIzLCB5OiAxMC40MjQ3MTA0MjQ3MTA0MjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMS4yOTg3MDEyOTg3MDEyOTg3LCB5OiAxMC40MjQ3MTA0MjQ3MTA0MjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMC43NDIxMTUwMjc4MjkzMTM2LCB5OiAxMC40MjQ3MTA0MjQ3MTA0MjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDkuNzIxNzA2ODY0NTY0MDA1LCB5OiA4MC42OTQ5ODA2OTQ5ODA3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ4Ljc5NDA2MzA3OTc3NzM3LCB5OiA3OS41MzY2Nzk1MzY2Nzk1MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OC40MjMwMDU1NjU4NjI3MSwgeTogNzcuNjA2MTc3NjA2MTc3NjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDcuNDk1MzYxNzgxMDc2MDcsIHk6IDc0LjUxNzM3NDUxNzM3NDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDcuNjgwODkwNTM4MDMzMzk1LCB5OiA3Mi45NzI5NzI5NzI5NzI5NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OC4wNTE5NDgwNTE5NDgwNSwgeTogNzIuOTcyOTcyOTcyOTcyOTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguMjM3NDc2ODA4OTA1Mzg0LCB5OiA3NS42NzU2NzU2NzU2NzU2OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OC45Nzk1OTE4MzY3MzQ2OSwgeTogNzcuMjIwMDc3MjIwMDc3MjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDkuNTM2MTc4MTA3NjA2NjcsIHk6IDc4Ljc2NDQ3ODc2NDQ3ODc3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUwLjQ2MzgyMTg5MjM5MzMzLCB5OiA3Ny4yMjAwNzcyMjAwNzcyMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MC40NjM4MjE4OTIzOTMzMywgeTogNzQuNTE3Mzc0NTE3Mzc0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OS43MjE3MDY4NjQ1NjQwMDUsIHk6IDczLjc0NTE3Mzc0NTE3Mzc0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ5LjE2NTEyMDU5MzY5MjAyLCB5OiA3Mi45NzI5NzI5NzI5NzI5NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OS4xNjUxMjA1OTM2OTIwMiwgeTogNzEuODE0NjcxODE0NjcxODEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDkuOTA3MjM1NjIxNTIxMzQsIHk6IDcxLjA0MjQ3MTA0MjQ3MTA1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUwLjI3ODI5MzEzNTQzNTk5NSwgeTogNzEuMDQyNDcxMDQyNDcxMDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTEuMDIwNDA4MTYzMjY1MzEsIHk6IDcyLjIwMDc3MjIwMDc3MjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTEuOTQ4MDUxOTQ4MDUxOTQsIHk6IDc1LjI4OTU3NTI4OTU3NTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTIuMTMzNTgwNzA1MDA5MjcsIHk6IDc2LjQ0Nzg3NjQ0Nzg3NjQ1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjEzMzU4MDcwNTAwOTI3LCB5OiA3Ny45OTIyNzc5OTIyNzc5OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNS42MjE1MjEzMzU4MDcwNDYsIHk6IDUyLjEyMzU1MjEyMzU1MjExNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNy40NzY4MDg5MDUzODAzMywgeTogNTAuNTc5MTUwNTc5MTUwNTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzguNTg5OTgxNDQ3MTI0MywgeTogNTAuNTc5MTUwNTc5MTUwNTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzguOTYxMDM4OTYxMDM4OTY2LCB5OiA1MS43Mzc0NTE3Mzc0NTE3MzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzguMjE4OTIzOTMzMjA5NjQ1LCB5OiA1MS43Mzc0NTE3Mzc0NTE3MzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzYuMzYzNjM2MzYzNjM2MzcsIHk6IDUyLjUwOTY1MjUwOTY1MjUwNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNi4zNjM2MzYzNjM2MzYzNywgeTogNTIuNTA5NjUyNTA5NjUyNTA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMwLjA1NTY1ODYyNzA4NzIsIHk6IDQ1LjU1OTg0NTU1OTg0NTU1NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOS4xMjgwMTQ4NDIzMDA1NiwgeTogNDMuMjQzMjQzMjQzMjQzMjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjguMzg1ODk5ODE0NDcxMjQ0LCB5OiAzOC45OTYxMzg5OTYxMzg5OTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjguMzg1ODk5ODE0NDcxMjQ0LCB5OiAzOC42MTAwMzg2MTAwMzg2MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOS42ODQ2MDExMTMxNzI1NDQsIHk6IDM4LjYxMDAzODYxMDAzODYxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI5LjY4NDYwMTExMzE3MjU0NCwgeTogMzguNjEwMDM4NjEwMDM4NjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzIuMjgyMDAzNzEwNTc1MTQsIHk6IDQwLjkyNjY0MDkyNjY0MDkzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMzLjAyNDExODczODQwNDQ1NCwgeTogNDAuOTI2NjQwOTI2NjQwOTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzQuODc5NDA2MzA3OTc3NzMsIHk6IDM5Ljc2ODMzOTc2ODMzOTc2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNi41NDkxNjUxMjA1OTM2OSwgeTogMzguOTk2MTM4OTk2MTM4OTk1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM1Ljk5MjU3ODg0OTcyMTcxLCB5OiAzOC45OTYxMzg5OTYxMzg5OTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzMuOTUxNzYyNTIzMTkxMDksIHk6IDM5Ljc2ODMzOTc2ODMzOTc2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMi40Njc1MzI0Njc1MzI0NjUsIHk6IDQzLjI0MzI0MzI0MzI0MzI0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMxLjM1NDM1OTkyNTc4ODUsIHk6IDQ1LjU1OTg0NTU1OTg0NTU1NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMi40NDg5Nzk1OTE4MzY3MzYsIHk6IDI5LjM0MzYyOTM0MzYyOTM0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMS4zMzU4MDcwNTAwOTI3NjUsIHk6IDI3LjAyNzAyNzAyNzAyNzAyOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMC40MDgxNjMyNjUzMDYxMjIsIHk6IDI1LjQ4MjYyNTQ4MjYyNTQ4MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMC40MDgxNjMyNjUzMDYxMjIsIHk6IDIzLjE2NjAyMzE2NjAyMzE2NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMi4yNjM0NTA4MzQ4Nzk0MDcsIHk6IDIyLjM5MzgyMjM5MzgyMjM5MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNS4yMzE5MTA5NDYxOTY2NjMsIHk6IDIwLjQ2MzMyMDQ2MzMyMDQ2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNC40ODk3OTU5MTgzNjczNDYsIHk6IDIyLjM5MzgyMjM5MzgyMjM5MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMy45MzMyMDk2NDc0OTUzNjQsIHk6IDI0LjcxMDQyNDcxMDQyNDcxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI4LjIwMDM3MTA1NzUxMzkxMiwgeTogMjYuMjU0ODI2MjU0ODI2MjUyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI1LjA0NjM4MjE4OTIzOTMzLCB5OiAyOC45NTc1Mjg5NTc1Mjg5NTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjQuNDg5Nzk1OTE4MzY3MzQ2LCB5OiAyOS43Mjk3Mjk3Mjk3Mjk3MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNC40ODk3OTU5MTgzNjczNDYsIHk6IDI5LjcyOTcyOTcyOTcyOTczIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiYWViOWQ5NWEtOTVkOC00MGM4LThjYTgtYTNiMmJkYTY3YjM3IiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICJDZW50cmFsIEFtZXJpY2EiLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAicG9seSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHg6IDIxLjE4MzQ1NzY3MzM4NTA5NiwKICAgICAgICAgICAgICAgICAgICAgICAgeTogNTIuMjM0ODUxOTY0MTA3ODMsCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyLjk3ODgxNzI5OTIwNTY0OCwKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1LjM5ODk4Njc4MTIxOTIyOSwKICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdF9zdHlsZTogeyBvcGFjaXR5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlb3Zlcl9zdHlsZTogeyBiYWNrZ3JvdW5kX2NvbG9yOiAiI2ZlY2EwMSIsIGJhY2tncm91bmRfb3BhY2l0eTogMC42Njc1NTU5OTY4Mzc0MTkxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBfc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZF9jb2xvcjogIiNmZmZmZmYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvX3dpZHRoOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcF9jb250ZW50OiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogIkhlYWRpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICJDZW50cmFsIEFtZXJpY2EiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmc6ICJoMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAiIiwgY3NzOiAiIiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICJzYW5zLXNlcmlmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDIwLjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICI2ODc3MGM4OC05NDhlLTRjNTEtODk0NS0yODkyNWI5ZjcwMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiUGFyYWdyYXBoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAiPGRpdj48ZGl2PjxzdHJvbmc+U0lHU0E8YnI+PGJyPjwvc3Ryb25nPjwvZGl2PjwvZGl2PjxkaXY+PC9kaXY+PGRpdj5TZXJ2aWNpb3MgZGUgSW5nZW5pZXJpYSBHZW9zaW50ZXRpY2EgUy5BLjwvZGl2PjxkaXY+QXBkby4gNTkyLTEyNTA8L2Rpdj48ZGl2PkVzY2F6dSwgQ29zdGEgUmljYTwvZGl2PjxkaXY+QXR0bjogTmlja3kgQXJhdWpvPC9kaXY+PGRpdj5FbWFpbDogPGI+Z2Vvbmlja3lAZ21haWwuY29tPC9iPjwvZGl2PjxkaXY+UGhvbmU6ICsgKDUwNikgMjkwLTA1MTc8L2Rpdj48ZGl2PkZheDogKyAoNTA2KSAyOTAtMjExOCZuYnNwOzwvZGl2PiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAiIiwgY3NzOiAiIiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICJzYW5zLXNlcmlmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDE0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAyMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjMDAwMDAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hNb2RlbDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB7IHRvcDogMTAsIGJvdHRvbTogMTAsIGxlZnQ6IDEwLCByaWdodDogMTAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiZWEyMDJmN2QtZDg2ZS00NzJkLWE2N2MtNjlmZjkzMDY1NzI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgIHhfaW1hZ2VfYmFja2dyb3VuZDogMjEuMTgzNDU3NjczMzg1MDk2LAogICAgICAgICAgICAgICAgICAgICAgICB5X2ltYWdlX2JhY2tncm91bmQ6IDUyLjIzNDg1MTk2NDEwNzgzLAogICAgICAgICAgICAgICAgICAgICAgICBwb2ludHM6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMCwgeTogMzQuMTM2NTQ2MTg0NzM4OTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMC43NDA3NDA3NDA3NDA3NDA4LCB5OiAyMy42OTQ3NzkxMTY0NjU4NjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMy4zMzMzMzMzMzMzMzMzMzM1LCB5OiAyMC44ODM1MzQxMzY1NDYxODUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNi42NjY2NjY2NjY2NjY2NjcsIHk6IDIwLjA4MDMyMTI4NTE0MDU2MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMS44NTE4NTE4NTE4NTE4NTMsIHk6IDE5LjI3NzEwODQzMzczNDk0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE3LjAzNzAzNzAzNzAzNzAzOCwgeTogMTkuMjc3MTA4NDMzNzM0OTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuMzMzMzMzMzMzMzMzMzM0LCB5OiAxMS42NDY1ODYzNDUzODE1MjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTAsIHk6IDEwLjQ0MTc2NzA2ODI3MzA5MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4LjUxODUxODUxODUxODUxOSwgeTogOC4wMzIxMjg1MTQwNTYyMjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTEuMTExMTExMTExMTExMTEsIHk6IDUuMjIwODgzNTM0MTM2NTQ2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEyLjk2Mjk2Mjk2Mjk2Mjk2MiwgeTogMi40MDk2Mzg1NTQyMTY4Njc3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE3Ljc3Nzc3Nzc3Nzc3Nzc4LCB5OiAwLjgwMzIxMjg1MTQwNTYyMjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjUuOTI1OTI1OTI1OTI1OTI0LCB5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI4Ljg4ODg4ODg4ODg4ODg4NiwgeTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMi41OTI1OTI1OTI1OTI1OTUsIHk6IDEwLjg0MzM3MzQ5Mzk3NTkwMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMS44NTE4NTE4NTE4NTE4NTUsIHk6IDE1LjI2MTA0NDE3NjcwNjgyOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMi4yMjIyMjIyMjIyMjIyMiwgeTogMjEuMjg1MTQwNTYyMjQ4OTk4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM5LjI1OTI1OTI1OTI1OTI2LCB5OiAyMy4yOTMxNzI2OTA3NjMwNTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDIuNTkyNTkyNTkyNTkyNTk1LCB5OiAyMy4yOTMxNzI2OTA3NjMwNTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTYuMjk2Mjk2Mjk2Mjk2MywgeTogMjIuODkxNTY2MjY1MDYwMjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjEuODUxODUxODUxODUxODUsIHk6IDIwLjQ4MTkyNzcxMDg0MzM3MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni4yOTYyOTYyOTYyOTYzLCB5OiAyMC40ODE5Mjc3MTA4NDMzNzIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzIuOTYyOTYyOTYyOTYyOTYsIHk6IDIyLjQ4OTk1OTgzOTM1NzQzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc4Ljg4ODg4ODg4ODg4ODg5LCB5OiAyNS4zMDEyMDQ4MTkyNzcxMDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODMuMzMzMzMzMzMzMzMzMzQsIHk6IDMwLjEyMDQ4MTkyNzcxMDg0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4My4zMzMzMzMzMzMzMzMzNCwgeTogMzQuMTM2NTQ2MTg0NzM4OTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODIuMjIyMjIyMjIyMjIyMjEsIHk6IDQxLjM2NTQ2MTg0NzM4OTU1NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS4xMTExMTExMTExMTExMSwgeTogNDcuNzkxMTY0NjU4NjM0NTM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgwLCB5OiA1Ni42MjY1MDYwMjQwOTYzOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OS42Mjk2Mjk2Mjk2Mjk2MywgeTogNjQuNjU4NjM0NTM4MTUyNjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODIuNTkyNTkyNTkyNTkyNiwgeTogNzUuMTAwNDAxNjA2NDI1NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ni4yOTYyOTYyOTYyOTYyOSwgeTogNzkuNTE4MDcyMjg5MTU2NjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODkuMjU5MjU5MjU5MjU5MjcsIHk6IDgzLjkzNTc0Mjk3MTg4NzU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk1LjkyNTkyNTkyNTkyNTkyLCB5OiA5MC43NjMwNTIyMDg4MzUzMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OS4yNTkyNTkyNTkyNTkyNSwgeTogOTIuMzY5NDc3OTExNjQ2NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMDAsIHk6IDk2Ljc4NzE0ODU5NDM3NzUxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk4Ljg4ODg4ODg4ODg4ODg5LCB5OiAxMDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTcuMDM3MDM3MDM3MDM3MDQsIHk6IDk5LjU5ODM5MzU3NDI5NzE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg1LjE4NTE4NTE4NTE4NTE5LCB5OiA5NS45ODM5MzU3NDI5NzE4OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Mi41OTI1OTI1OTI1OTI2LCB5OiA5NC43NzkxMTY0NjU4NjM0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MC43NDA3NDA3NDA3NDA3NSwgeTogOTEuOTY3ODcxNDg1OTQzNzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzQuMDc0MDc0MDc0MDc0MDgsIHk6IDg3Ljk1MTgwNzIyODkxNTY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY0LjA3NDA3NDA3NDA3NDA4LCB5OiA4NC4zMzczNDkzOTc1OTAzNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Mi41OTI1OTI1OTI1OTI1OSwgeTogODAuMzIxMjg1MTQwNTYyMjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjEuNDgxNDgxNDgxNDgxNDgsIHk6IDc2LjMwNTIyMDg4MzUzNDE1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYyLjk2Mjk2Mjk2Mjk2Mjk2LCB5OiA3Mi42OTA3NjMwNTIyMDg4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NS41NTU1NTU1NTU1NTU1NiwgeTogNzIuNjkwNzYzMDUyMjA4ODQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjcuNDA3NDA3NDA3NDA3NCwgeTogNjkuNDc3OTExNjQ2NTg2MzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjUuNTU1NTU1NTU1NTU1NTYsIHk6IDY1Ljg2MzQ1MzgxNTI2MTA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjM3MDM3MDM3MDM3MDM3NCwgeTogNjMuMDUyMjA4ODM1MzQxMzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTYuMjk2Mjk2Mjk2Mjk2MywgeTogNjEuODQ3Mzg5NTU4MjMyOTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDkuMjU5MjU5MjU5MjU5MjYsIHk6IDU3LjQyOTcxODg3NTUwMjAxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ0LjA3NDA3NDA3NDA3NDA3NiwgeTogNTMuODE1MjYxMDQ0MTc2NzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDAsIHk6IDUxLjAwNDAxNjA2NDI1NzAzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM0LjA3NDA3NDA3NDA3NDA3NiwgeTogNDkuNzk5MTk2Nzg3MTQ4NTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjcuNzc3Nzc3Nzc3Nzc3NzgsIHk6IDQ2LjE4NDczODk1NTgyMzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjAuNzQwNzQwNzQwNzQwNzQsIHk6IDM5Ljc1OTAzNjE0NDU3ODMxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIyLjk2Mjk2Mjk2Mjk2Mjk2MiwgeTogMzkuMzU3NDI5NzE4ODc1NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNy40MDc0MDc0MDc0MDc0MSwgeTogMzUuMzQxMzY1NDYxODQ3MzkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjYuMjk2Mjk2Mjk2Mjk2Mjk0LCB5OiAzMi41MzAxMjA0ODE5Mjc3MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNS41NTU1NTU1NTU1NTU1NTQsIHk6IDMyLjUzMDEyMDQ4MTkyNzcxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI0LjQ0NDQ0NDQ0NDQ0NDQ0MywgeTogMzIuOTMxNzI2OTA3NjMwNTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjIuNTkyNTkyNTkyNTkyNTksIHk6IDM1Ljc0Mjk3MTg4NzU1MDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjEuNDgxNDgxNDgxNDgxNDgsIHk6IDM2LjE0NDU3ODMxMzI1MzAxNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOC41MTg1MTg1MTg1MTg1MiwgeTogMzcuNzUxMDA0MDE2MDY0MjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTcuMDM3MDM3MDM3MDM3MDM4LCB5OiAzOC41NTQyMTY4Njc0Njk4OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNS45MjU5MjU5MjU5MjU5MjcsIHk6IDM5LjM1NzQyOTcxODg3NTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuMzMzMzMzMzMzMzMzMzM0LCB5OiAzOS43NTkwMzYxNDQ1NzgzMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMi41OTI1OTI1OTI1OTI1OTIsIHk6IDQwLjE2MDY0MjU3MDI4MTEzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDExLjExMTExMTExMTExMTExLCB5OiA0MC4xNjA2NDI1NzAyODExMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMC43NDA3NDA3NDA3NDA3NCwgeTogNDAuMTYwNjQyNTcwMjgxMTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTAsIHk6IDQwLjE2MDY0MjU3MDI4MTEzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcuNzc3Nzc3Nzc3Nzc3Nzc4LCB5OiAzOS4zNTc0Mjk3MTg4NzU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUuOTI1OTI1OTI1OTI1OTI2NSwgeTogMzguOTU1ODIzMjkzMTcyNjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMi45NjI5NjI5NjI5NjI5NjMyLCB5OiAzNy43NTEwMDQwMTYwNjQyNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxLjQ4MTQ4MTQ4MTQ4MTQ4MTYsIHk6IDM3LjM0OTM5NzU5MDM2MTQ0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEuMTExMTExMTExMTExMTExMiwgeTogMzYuOTQ3NzkxMTY0NjU4NjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMS4xMTExMTExMTExMTExMTEyLCB5OiAzNi41NDYxODQ3Mzg5NTU4MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAwLjc0MDc0MDc0MDc0MDc0MDgsIHk6IDM1LjM0MTM2NTQ2MTg0NzM5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiZDBjMWUxN2UtOGMyNy00ZjFlLWExN2ItNGMwYTI5ODFmYzNkIiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICJDaGlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJwb2x5IiwKICAgICAgICAgICAgICAgICAgICAgICAgeDogMjUuNzQ2OTUzNDEzNzQ1MzEsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDcxLjkyNjU2MTMxNTcyMzIyLAogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMi4zMzg5MjMyMTI3MDk2MiwKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNC4wNjc3NzIzOTgyMDYyMDIsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc3R5bGU6IHsgb3BhY2l0eTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJfc3R5bGU6IHsgYmFja2dyb3VuZF9jb2xvcjogIiNmZWNhMDEiLCBiYWNrZ3JvdW5kX29wYWNpdHk6IDAuNjY3NTU1OTk2ODM3NDE5MSB9LAogICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwX3N0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRfY29sb3I6ICIjZmZmZmZmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b193aWR0aDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBfY29udGVudDogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJIZWFkaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAiQ2hpbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmc6ICJoMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAiIiwgY3NzOiAiIiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICJzYW5zLXNlcmlmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDIwLjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICI2ODc3MGM4OC05NDhlLTRjNTEtODk0NS0yODkyNWI5ZjcwMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiUGFyYWdyYXBoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnPGRpdj5cbiAgICA8c3Ryb25nPlRlcm1vUHJvIFMuQS48YnIgLz48YnIgLz48L3N0cm9uZz5cbjwvZGl2PlxuPGRpdj48L2Rpdj5cbjxkaXY+XG4gICAgPGRpdj5Mb3MgQXJyYXlhbmVzIDQwMCBHYWxwb24gOTwvZGl2PlxuICAgIDxkaXY+Q29saW5hLCBTYW50aWFnbzwvZGl2PlxuICAgIDxkaXY+Q2hpbGU8L2Rpdj5cbiAgICA8ZGl2PkF0dG46IExlbyBEaWV6IEMuPC9kaXY+XG4gICAgPGRpdj5FbWFpbDxzdHJvbmc+OiA8YSBocmVmPSJtYWlsdG86bGVvZGllekB0ZXJtb3Byby5jbCI+bGVvZGllekB0ZXJtb3Byby5jbDwvYT48L3N0cm9uZz48L2Rpdj5cbiAgICA8ZGl2PlBob25lOiA8YSBocmVmPSJ0ZWw6KzU2MjczODczNDAiPisgKDU2KSAyLTczOC03MzQwPC9hPjwvZGl2PlxuICAgIDxkaXY+TW9iaWxlOiA8YSBocmVmPSJ0ZWw6KzU2OTYyNDcyMzc3Ij4rICg1NikgOS02MjQ3LTIzNzc8L2E+PC9kaXY+XG4gICAgPGRpdj48c3Ryb25nPldlYnNpdGU6IDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRlcm1vcHJvLmNsIiB0YXJnZXQ9Il9ibGFuayI+d3d3LnRlcm1vcHJvLmNsPC9hPjwvc3Ryb25nPjwvZGl2PlxuPC9kaXY+JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcjogeyBpZDogIiIsIGNsYXNzZXM6ICIiLCBjc3M6ICIiIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogInNhbnMtc2VyaWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogMTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDIyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICJlYTIwMmY3ZC1kODZlLTQ3MmQtYTY3Yy02OWZmOTMwNjU3MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgeF9pbWFnZV9iYWNrZ3JvdW5kOiAyNS43NDY5NTM0MTM3NDUzMSwKICAgICAgICAgICAgICAgICAgICAgICAgeV9pbWFnZV9iYWNrZ3JvdW5kOiA3MS45MjY1NjEzMTU3MjMyMiwKICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcuNTQ3MTY5ODExMzIwNzU1LCB5OiA5MC4wOTAwOTAwOTAwOTAwOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAwLCB5OiA4Ni44NDY4NDY4NDY4NDY4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAwLjk0MzM5NjIyNjQxNTA5NDQsIHk6IDgyLjcwMjcwMjcwMjcwMjcxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDAuOTQzMzk2MjI2NDE1MDk0NCwgeTogNzkuNjM5NjM5NjM5NjM5NjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMC45NDMzOTYyMjY0MTUwOTQ0LCB5OiA3Ny4yOTcyOTcyOTcyOTcyOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzLjc3MzU4NDkwNTY2MDM3NzQsIHk6IDczLjY5MzY5MzY5MzY5MzY5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYuNjAzNzczNTg0OTA1NjYsIHk6IDcyLjA3MjA3MjA3MjA3MjA3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDExLjMyMDc1NDcxNjk4MTEzMywgeTogNzEuNTMxNTMxNTMxNTMxNTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTEuMzIwNzU0NzE2OTgxMTMzLCB5OiA2OC42NDg2NDg2NDg2NDg2NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOC44Njc5MjQ1MjgzMDE4ODgsIHk6IDY1Ljk0NTk0NTk0NTk0NTk1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE5LjgxMTMyMDc1NDcxNjk4LCB5OiA2My4yNDMyNDMyNDMyNDMyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS44MTEzMjA3NTQ3MTY5OCwgeTogNjIuNTIyNTIyNTIyNTIyNTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTcuOTI0NTI4MzAxODg2NzksIHk6IDYxLjA4MTA4MTA4MTA4MTA4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE3LjkyNDUyODMwMTg4Njc5LCB5OiA2MC4zNjAzNjAzNjAzNjAzNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNy45MjQ1MjgzMDE4ODY3OSwgeTogNTguMTk4MTk4MTk4MTk4MjA2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIwLjc1NDcxNjk4MTEzMjA3NywgeTogNTUuMTM1MTM1MTM1MTM1MTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjUuNDcxNjk4MTEzMjA3NTQ4LCB5OiA1Mi43OTI3OTI3OTI3OTI3OTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjUuNDcxNjk4MTEzMjA3NTQ4LCB5OiA1MC4yNzAyNzAyNzAyNzAyNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNi40MTUwOTQzMzk2MjI2NCwgeTogNDguODI4ODI4ODI4ODI4ODMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzAuMTg4Njc5MjQ1MjgzMDIsIHk6IDQ2LjEyNjEyNjEyNjEyNjEyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMy45NjIyNjQxNTA5NDM0LCB5OiA0My42MDM2MDM2MDM2MDM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMzLjk2MjI2NDE1MDk0MzQsIHk6IDQxLjgwMTgwMTgwMTgwMTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzMuOTYyMjY0MTUwOTQzNCwgeTogNDAuMTgwMTgwMTgwMTgwMTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzYuNzkyNDUyODMwMTg4NjgsIHk6IDM4LjczODczODczODczODc0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQwLjU2NjAzNzczNTg0OTA2LCB5OiAzNy40Nzc0Nzc0Nzc0Nzc0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ny4xNjk4MTEzMjA3NTQ3MiwgeTogMzUuODU1ODU1ODU1ODU1ODYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguMTEzMjA3NTQ3MTY5ODE0LCB5OiAzNS4zMTUzMTUzMTUzMTUzMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ni4yMjY0MTUwOTQzMzk2MiwgeTogMzMuMzMzMzMzMzMzMzMzMzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDYuMjI2NDE1MDk0MzM5NjIsIHk6IDMwLjgxMDgxMDgxMDgxMDgxNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OS4wNTY2MDM3NzM1ODQ5MDQsIHk6IDI4LjY0ODY0ODY0ODY0ODY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUzLjc3MzU4NDkwNTY2MDM4LCB5OiAyNC4zMjQzMjQzMjQzMjQzMjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTUuNjYwMzc3MzU4NDkwNTY0LCB5OiAyMS44MDE4MDE4MDE4MDE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU4LjQ5MDU2NjAzNzczNTg0NiwgeTogMjAuOTAwOTAwOTAwOTAwOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2My4yMDc1NDcxNjk4MTEzMiwgeTogMTYuOTM2OTM2OTM2OTM2OTM0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYzLjIwNzU0NzE2OTgxMTMyLCB5OiAxNS40OTU0OTU0OTU0OTU0OTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjYuMDM3NzM1ODQ5MDU2NiwgeTogMTIuMDcyMDcyMDcyMDcyMDczIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY2LjAzNzczNTg0OTA1NjYsIHk6IDExLjM1MTM1MTM1MTM1MTM1MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NC4xNTA5NDMzOTYyMjY0MSwgeTogOC4xMDgxMDgxMDgxMDgxMDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjYuMDM3NzM1ODQ5MDU2NiwgeTogNS41ODU1ODU1ODU1ODU1ODUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjYuMDM3NzM1ODQ5MDU2NiwgeTogMi4zNDIzNDIzNDIzNDIzNDI0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY0LjE1MDk0MzM5NjIyNjQxLCB5OiAxLjA4MTA4MTA4MTA4MTA4MTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzIuNjQxNTA5NDMzOTYyMjYsIHk6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzQuNTI4MzAxODg2NzkyNDUsIHk6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzguMzAxODg2NzkyNDUyODMsIHk6IDEuOTgxOTgxOTgxOTgxOTgyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgxLjEzMjA3NTQ3MTY5ODEyLCB5OiAzLjI0MzI0MzI0MzI0MzI0MzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODEuMTMyMDc1NDcxNjk4MTIsIHk6IDQuNjg0Njg0Njg0Njg0Njg1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgzLjAxODg2NzkyNDUyODMxLCB5OiA2LjQ4NjQ4NjQ4NjQ4NjQ4NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ni43OTI0NTI4MzAxODg2OCwgeTogOC40Njg0Njg0Njg0Njg0NjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTEuNTA5NDMzOTYyMjY0MTUsIHk6IDEwLjQ1MDQ1MDQ1MDQ1MDQ1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkzLjM5NjIyNjQxNTA5NDM1LCB5OiAxMi4wNzIwNzIwNzIwNzIwNzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTkuMDU2NjAzNzczNTg0OTEsIHk6IDEyLjA3MjA3MjA3MjA3MjA3MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMDAsIHk6IDEyLjYxMjYxMjYxMjYxMjYxMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OC42NzkyNDUyODMwMTg4NywgeTogMTQuMjM0MjM0MjM0MjM0MjMzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgzLjk2MjI2NDE1MDk0MzQsIHk6IDE1LjY3NTY3NTY3NTY3NTY3NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MC4xODg2NzkyNDUyODMwMywgeTogMTcuMTE3MTE3MTE3MTE3MTE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg0LjkwNTY2MDM3NzM1ODQ5LCB5OiAxOC41NTg1NTg1NTg1NTg1NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OC4zMDE4ODY3OTI0NTI4MywgeTogMjAuMzYwMzYwMzYwMzYwMzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzkuMjQ1MjgzMDE4ODY3OTIsIHk6IDIwLjM2MDM2MDM2MDM2MDM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgzLjAxODg2NzkyNDUyODMxLCB5OiAyMS4wODEwODEwODEwODEwOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4My4wMTg4Njc5MjQ1MjgzMSwgeTogMjEuMDgxMDgxMDgxMDgxMDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzYuNDE1MDk0MzM5NjIyNjQsIHk6IDIyLjcwMjcwMjcwMjcwMjcwNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ni40MTUwOTQzMzk2MjI2NCwgeTogMjMuMDYzMDYzMDYzMDYzMDYyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcxLjY5ODExMzIwNzU0NzE3LCB5OiAyMy43ODM3ODM3ODM3ODM3ODYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzAuNzU0NzE2OTgxMTMyMDgsIHk6IDIzLjc4Mzc4Mzc4Mzc4Mzc4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MC43NTQ3MTY5ODExMzIwOCwgeTogMjYuMzA2MzA2MzA2MzA2MzA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY2Ljk4MTEzMjA3NTQ3MTY5LCB5OiAyNy45Mjc5Mjc5Mjc5Mjc5MjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjUuMDk0MzM5NjIyNjQxNTEsIHk6IDI5LjU0OTU0OTU0OTU0OTU0NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2My4yMDc1NDcxNjk4MTEzMiwgeTogMzAuODEwODEwODEwODEwODE0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYyLjI2NDE1MDk0MzM5NjIyNCwgeTogMzEuODkxODkxODkxODkxODk1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYyLjI2NDE1MDk0MzM5NjIyNCwgeTogMzQuNTk0NTk0NTk0NTk0NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni45ODExMzIwNzU0NzE2OSwgeTogMzYuMzk2Mzk2Mzk2Mzk2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni45ODExMzIwNzU0NzE2OSwgeTogMzYuMzk2Mzk2Mzk2Mzk2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MC43NTQ3MTY5ODExMzIwOCwgeTogMzguNzM4NzM4NzM4NzM4NzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzAuNzU0NzE2OTgxMTMyMDgsIHk6IDQwLjE4MDE4MDE4MDE4MDE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY2Ljk4MTEzMjA3NTQ3MTY5LCB5OiA0MS44MDE4MDE4MDE4MDE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY0LjE1MDk0MzM5NjIyNjQxLCB5OiA0My4wNjMwNjMwNjMwNjMwNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Mi4yNjQxNTA5NDMzOTYyMjQsIHk6IDQzLjc4Mzc4Mzc4Mzc4Mzc5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU5LjQzMzk2MjI2NDE1MDk0LCB5OiA0NC41MDQ1MDQ1MDQ1MDQ1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU4LjQ5MDU2NjAzNzczNTg0NiwgeTogNDUuNzY1NzY1NzY1NzY1NzY0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU4LjQ5MDU2NjAzNzczNTg0NiwgeTogNDYuMzA2MzA2MzA2MzA2MzA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU3LjU0NzE2OTgxMTMyMDc2LCB5OiA0Ny41Njc1Njc1Njc1Njc1NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NS42NjAzNzczNTg0OTA1NjQsIHk6IDQ4LjEwODEwODEwODEwODExIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjgzMDE4ODY3OTI0NTI4LCB5OiA1MS4zNTEzNTEzNTEzNTEzNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ni4yMjY0MTUwOTQzMzk2MiwgeTogNTQuOTU0OTU0OTU0OTU0OTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTAuOTQzMzk2MjI2NDE1MDk2LCB5OiA1Ny40Nzc0Nzc0Nzc0Nzc0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OS4wNTY2MDM3NzM1ODQ5MDQsIHk6IDU4LjkxODkxODkxODkxODkyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ2LjIyNjQxNTA5NDMzOTYyLCB5OiA2MC45MDA5MDA5MDA5MDA5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ1LjI4MzAxODg2NzkyNDUzLCB5OiA2Mi4zNDIzNDIzNDIzNDIzNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NC4zMzk2MjI2NDE1MDk0MzYsIHk6IDY0LjY4NDY4NDY4NDY4NDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDcuMTY5ODExMzIwNzU0NzIsIHk6IDY1Ljk0NTk0NTk0NTk0NTk1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUwLjk0MzM5NjIyNjQxNTA5NiwgeTogNjcuMDI3MDI3MDI3MDI3MDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTAsIHk6IDY3LjkyNzkyNzkyNzkyNzkzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ5LjA1NjYwMzc3MzU4NDkwNCwgeTogNjkuMzY5MzY5MzY5MzY5MzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguMTEzMjA3NTQ3MTY5ODE0LCB5OiA3MC4wOTAwOTAwOTAwOTAwOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NS4yODMwMTg4Njc5MjQ1MywgeTogNzIuMDcyMDcyMDcyMDcyMDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDUuMjgzMDE4ODY3OTI0NTMsIHk6IDcyLjk3Mjk3Mjk3Mjk3Mjk3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ1LjI4MzAxODg2NzkyNDUzLCB5OiA3NC45NTQ5NTQ5NTQ5NTQ5NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MS41MDk0MzM5NjIyNjQxNTQsIHk6IDc2LjIxNjIxNjIxNjIxNjIxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM5LjYyMjY0MTUwOTQzMzk2LCB5OiA3Ny40Nzc0Nzc0Nzc0Nzc0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC42NzkyNDUyODMwMTg4NywgeTogNzguMDE4MDE4MDE4MDE4MDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzguNjc5MjQ1MjgzMDE4ODcsIHk6IDc5LjgxOTgxOTgxOTgxOTgxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM4LjY3OTI0NTI4MzAxODg3LCB5OiA4MCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMy4wMTg4Njc5MjQ1MjgzLCB5OiA4MC45MDA5MDA5MDA5MDA5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMyLjA3NTQ3MTY5ODExMzIwNSwgeTogODEuOTgxOTgxOTgxOTgxOTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzIuMDc1NDcxNjk4MTEzMjA1LCB5OiA4Mi4xNjIxNjIxNjIxNjIxNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOS4yNDUyODMwMTg4Njc5MjMsIHk6IDgzLjk2Mzk2Mzk2Mzk2Mzk2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMzLjk2MjI2NDE1MDk0MzQsIHk6IDg0LjMyNDMyNDMyNDMyNDMyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM4LjY3OTI0NTI4MzAxODg3LCB5OiA4NC41MDQ1MDQ1MDQ1MDQ1MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Mi40NTI4MzAxODg2NzkyNCwgeTogODYuNjY2NjY2NjY2NjY2NjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDMuMzk2MjI2NDE1MDk0MzQsIHk6IDg2LjY2NjY2NjY2NjY2NjY3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ5LjA1NjYwMzc3MzU4NDkwNCwgeTogODcuMjA3MjA3MjA3MjA3MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Mi44MzAxODg2NzkyNDUyOCwgeTogODcuMjA3MjA3MjA3MjA3MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NS42NjAzNzczNTg0OTA1NjQsIHk6IDg3LjM4NzM4NzM4NzM4NzM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY2LjAzNzczNTg0OTA1NjYsIHk6IDg4LjY0ODY0ODY0ODY0ODY2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY5LjgxMTMyMDc1NDcxNjk3LCB5OiA4OC42NDg2NDg2NDg2NDg2NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4NS44NDkwNTY2MDM3NzM1OSwgeTogOTAuMDkwMDkwMDkwMDkwMDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODUuODQ5MDU2NjAzNzczNTksIHk6IDkwLjA5MDA5MDA5MDA5MDA5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg1Ljg0OTA1NjYwMzc3MzU5LCB5OiA5Mi42MTI2MTI2MTI2MTI2MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4NC45MDU2NjAzNzczNTg0OSwgeTogOTQuMDU0MDU0MDU0MDU0MDYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODQuOTA1NjYwMzc3MzU4NDksIHk6IDk2LjM5NjM5NjM5NjM5NjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODguNjc5MjQ1MjgzMDE4ODcsIHk6IDk3LjY1NzY1NzY1NzY1NzY3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg5LjYyMjY0MTUwOTQzMzk2LCB5OiA5Ny44Mzc4Mzc4Mzc4Mzc4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5My4zOTYyMjY0MTUwOTQzNSwgeTogOTguNTU4NTU4NTU4NTU4NTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTUuMjgzMDE4ODY3OTI0NTMsIHk6IDk5LjA5OTA5OTA5OTA5OTA5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk2LjIyNjQxNTA5NDMzOTYzLCB5OiA5OS44MTk4MTk4MTk4MTk4MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Mi40NTI4MzAxODg2NzkyNCwgeTogMTAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg0LjkwNTY2MDM3NzM1ODQ5LCB5OiAxMDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzUuNDcxNjk4MTEzMjA3NTUsIHk6IDk5LjI3OTI3OTI3OTI3OTI4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY1LjA5NDMzOTYyMjY0MTUxLCB5OiA5OC4xOTgxOTgxOTgxOTgyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjM3NzM1ODQ5MDU2NjA0LCB5OiA5Ny44Mzc4Mzc4Mzc4Mzc4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MC45NDMzOTYyMjY0MTUwOTYsIHk6IDk2Ljc1Njc1Njc1Njc1Njc2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ3LjE2OTgxMTMyMDc1NDcyLCB5OiA5Ni4yMTYyMTYyMTYyMTYyMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MS41MDk0MzM5NjIyNjQxNTQsIHk6IDk1LjY3NTY3NTY3NTY3NTY4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM0LjkwNTY2MDM3NzM1ODQ5LCB5OiA5NC43NzQ3NzQ3NzQ3NzQ3NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMC4xODg2NzkyNDUyODMwMiwgeTogOTMuMzMzMzMzMzMzMzMzMzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjguMzAxODg2NzkyNDUyODMsIHk6IDkyLjk3Mjk3Mjk3Mjk3Mjk4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIwLjc1NDcxNjk4MTEzMjA3NywgeTogOTIuMDcyMDcyMDcyMDcyMDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTQuMTUwOTQzMzk2MjI2NDE1LCB5OiA5MS4xNzExNzExNzExNzExNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNC4xNTA5NDMzOTYyMjY0MTUsIHk6IDkwLjk5MDk5MDk5MDk5MSB9LAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZDogIjZjMWFkOWQ4LTJiZjItNDZhZC1hYzA3LTg4YzM2YTU3OTI0ZiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAiQXJnZW50aW5hIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInBvbHkiLAogICAgICAgICAgICAgICAgICAgICAgICB4OiAyNi4zNzkzMjMxNTI5NzgxMywKICAgICAgICAgICAgICAgICAgICAgICAgeTogNzQuMTYwOTYyMzI1NDcwMzgsCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1LjQyODA2NzA3ODU1MjUwOSwKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMS42ODI2Nzc4MzYyMjE4MTQsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc3R5bGU6IHsgb3BhY2l0eTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJfc3R5bGU6IHsgYmFja2dyb3VuZF9jb2xvcjogIiNmZWNhMDEiLCBiYWNrZ3JvdW5kX29wYWNpdHk6IDAuNjY3NTU1OTk2ODM3NDE5MSB9LAogICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwX3N0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRfY29sb3I6ICIjZmZmZmZmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b193aWR0aDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBfY29udGVudDogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJIZWFkaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAiQXJnZW50aW5hIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkaW5nOiAiaDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyOiB7IGlkOiAiIiwgY2xhc3NlczogIiIsIGNzczogIiIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAic2Fucy1zZXJpZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAyMC44LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjMDAwMDAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hNb2RlbDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB7IHRvcDogMTAsIGJvdHRvbTogMTAsIGxlZnQ6IDEwLCByaWdodDogMTAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiNjg3NzBjODgtOTQ4ZS00YzUxLTg5NDUtMjg5MjViOWY3MDE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogIlBhcmFncmFwaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJzxkaXY+XG4gICAgPHN0cm9uZz5ERVJHQU0gU1JMPGJyIC8+PGJyIC8+PC9zdHJvbmc+XG48L2Rpdj5cbjxkaXY+PC9kaXY+XG48ZGl2PlxuICAgIDxkaXY+TS4gR29ycml0aSAxMjAgZXNxLkxhcyBIZXJhczwvZGl2PlxuICAgIDxkaXY+UC46IDQ2MDAg4oCTIFNhbiBTYWx2YWRvciBkZSBKdWp1eSwgSnVqdXk8L2Rpdj5cbiAgICA8ZGl2PkF0dG46IEZlZGVyaWNvIERhaGVyPC9kaXY+XG4gICAgPGRpdj5NYWlsPHN0cm9uZz46IDxhIGhyZWY9Im1haWx0bzpkZW10ZWNoQGRlcmdhbXNybC5jb20uYXIiPmRlbXRlY2hAZGVyZ2Ftc3JsLmNvbS5hcjwvYT48L3N0cm9uZz48L2Rpdj5cbiAgICA8ZGl2PlBob25lOiA8YSBocmVmPSJ0ZWw6KzU0MDM4ODQyNTI1NjYiPigrNTQpIDAzODgg4oCTIDQyNTI1NjYgKEludCAxMDEpPC9hPjwvZGl2PlxuICAgIDxkaXY+TW9iaWxlIDxhIGhyZWY9InRlbDorNTQwMzg4NDA0MDIyNCI+KCs1NCkgMDM4OCAtNDA0MDIyNDwvYT48L2Rpdj5cbjwvZGl2PlxuPGRpdj48L2Rpdj4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyOiB7IGlkOiAiIiwgY2xhc3NlczogIiIsIGNzczogIiIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAic2Fucy1zZXJpZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAxNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogMjIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAiIzAwMDAwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogImxlZnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94TW9kZWw6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogeyB0b3A6IDEwLCBib3R0b206IDEwLCBsZWZ0OiAxMCwgcmlnaHQ6IDEwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogImVhMjAyZjdkLWQ4NmUtNDcyZC1hNjdjLTY5ZmY5MzA2NTcyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICB4X2ltYWdlX2JhY2tncm91bmQ6IDI2LjM3OTMyMzE1Mjk3ODEzLAogICAgICAgICAgICAgICAgICAgICAgICB5X2ltYWdlX2JhY2tncm91bmQ6IDc0LjE2MDk2MjMyNTQ3MDM4LAogICAgICAgICAgICAgICAgICAgICAgICBwb2ludHM6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjMuNTc3MjM1NzcyMzU3NzI0LCB5OiA5My4yIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI2LjAxNjI2MDE2MjYwMTYzLCB5OiA5OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMi4xMTM4MjExMzgyMTEzODUsIHk6IDEwMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOS40MzA4OTQzMDg5NDMwOSwgeTogOTcuMzk5OTk5OTk5OTk5OTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjQuNzk2NzQ3OTY3NDc5Njc1LCB5OiA4OS44IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIxLjU0NDcxNTQ0NzE1NDQ3NCwgeTogODUuNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMy41NzcyMzU3NzIzNTc3MjQsIHk6IDgyLjM5OTk5OTk5OTk5OTk5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI2LjgyOTI2ODI5MjY4MjkzLCB5OiA4MS42IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMzLjczOTgzNzM5ODM3Mzk4NiwgeTogNzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzguMjExMzgyMTEzODIxMTQsIHk6IDczLjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzIuMTEzODIxMTM4MjExMzg1LCB5OiA3MS4yIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMwLjA4MTMwMDgxMzAwODEzNCwgeTogNjkuNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMi45MjY4MjkyNjgyOTI2ODYsIHk6IDY2LjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzkuMDI0MzkwMjQzOTAyNDQsIHk6IDY0LjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDEuODY5OTE4Njk5MTg2OTksIHk6IDU5LjU5OTk5OTk5OTk5OTk5NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NS45MzQ5NTkzNDk1OTM1LCB5OiA1Ny45OTk5OTk5OTk5OTk5OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Mi42ODI5MjY4MjkyNjgyOSwgeTogNTYuMzk5OTk5OTk5OTk5OTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDMuMDg5NDMwODk0MzA4OTUsIHk6IDUzLjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDMuNDk1OTM0OTU5MzQ5NTksIHk6IDUyLjQwMDAwMDAwMDAwMDAwNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MC44MTMwMDgxMzAwODEzMSwgeTogNTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTUuNjkxMDU2OTEwNTY5MSwgeTogNTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTYuMDk3NTYwOTc1NjA5NzYsIHk6IDQ5LjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTQuMDY1MDQwNjUwNDA2NSwgeTogNDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjEuMzgyMTEzODIxMTM4MjA1LCB5OiA0NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Mi4zNTc3MjM1NzcyMzU3NywgeTogNDYuNDAwMDAwMDAwMDAwMDA2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc5LjI2ODI5MjY4MjkyNjgzLCB5OiA0NC4yIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgyLjUyMDMyNTIwMzI1MjAzLCB5OiA0MS42IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgzLjMzMzMzMzMzMzMzMzM0LCB5OiAzOC42IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc4Ljg2MTc4ODYxNzg4NjE4LCB5OiAzNC44IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc2LjQyMjc2NDIyNzY0MjI4LCB5OiAyOC45OTk5OTk5OTk5OTk5OTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzguNDU1Mjg0NTUyODQ1NTMsIHk6IDI0LjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODMuMzMzMzMzMzMzMzMzMzQsIHk6IDIwLjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODguNjE3ODg2MTc4ODYxOCwgeTogMTguMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NC43MTU0NDcxNTQ0NzE1NSwgeTogMTUuNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMDAsIHk6IDEzLjYwMDAwMDAwMDAwMDAwMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Ny45Njc0Nzk2NzQ3OTY3NSwgeTogMTAuNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NS41Mjg0NTUyODQ1NTI4NSwgeTogMTAuNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Mi4yNzY0MjI3NjQyMjc2MywgeTogMTIuOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ny44MDQ4NzgwNDg3ODA1LCB5OiAxNC4zOTk5OTk5OTk5OTk5OTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODIuNTIwMzI1MjAzMjUyMDMsIHk6IDE0LjAwMDAwMDAwMDAwMDAwMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OC4wNDg3ODA0ODc4MDQ4OCwgeTogMTQuMDAwMDAwMDAwMDAwMDAyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc1LjYwOTc1NjA5NzU2MDk4LCB5OiAxMy40IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc5LjI2ODI5MjY4MjkyNjgzLCB5OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MC4wODEzMDA4MTMwMDgxMywgeTogOC42IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc0Ljc5Njc0Nzk2NzQ3OTY3LCB5OiA3LjE5OTk5OTk5OTk5OTk5OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OC4yOTI2ODI5MjY4MjkyNywgeTogNS42MDAwMDAwMDAwMDAwMDA1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYyLjYwMTYyNjAxNjI2MDE1NSwgeTogMy44IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU2LjUwNDA2NTA0MDY1MDQxLCB5OiAxLjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTIuNDM5MDI0MzkwMjQzOSwgeTogMC42IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ4LjM3Mzk4MzczOTgzNzQsIHk6IDAuNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NC4zMDg5NDMwODk0MzA5LCB5OiAxLjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDIuMjc2NDIyNzY0MjI3NjUsIHk6IDAuNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC42MTc4ODYxNzg4NjE3OSwgeTogMC4yIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMzLjczOTgzNzM5ODM3Mzk4NiwgeTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMi4xMTM4MjExMzgyMTEzODUsIHk6IDEuNDAwMDAwMDAwMDAwMDAwMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMi41MjAzMjUyMDMyNTIwMywgeTogNC4yIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMwLjA4MTMwMDgxMzAwODEzNCwgeTogNS40IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI1LjIwMzI1MjAzMjUyMDMyNSwgeTogNi4yIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI2LjAxNjI2MDE2MjYwMTYzLCB5OiA3LjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjUuMjAzMjUyMDMyNTIwMzI1LCB5OiAxMC4yIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIzLjE3MDczMTcwNzMxNzA3NCwgeTogMTEuNzk5OTk5OTk5OTk5OTk5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIzLjE3MDczMTcwNzMxNzA3NCwgeTogMTQuNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS4xMDU2OTEwNTY5MTA1NywgeTogMTYuOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS4xMDU2OTEwNTY5MTA1NywgeTogMTguOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNy40Nzk2NzQ3OTY3NDc5NjgsIHk6IDIxLjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuODIxMTM4MjExMzgyMTE1LCB5OiAyMy40MDAwMDAwMDAwMDAwMDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuODIxMTM4MjExMzgyMTE1LCB5OiAyNi40MDAwMDAwMDAwMDAwMDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTYuMjYwMTYyNjAxNjI2MDE0LCB5OiAyOS4yIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE2LjY2NjY2NjY2NjY2NjY2NCwgeTogMzEuNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNi42NjY2NjY2NjY2NjY2NjQsIHk6IDMzLjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTYuNjY2NjY2NjY2NjY2NjY0LCB5OiAzNS42IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE3LjA3MzE3MDczMTcwNzMxOCwgeTogMzcuOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMy44MjExMzgyMTEzODIxMTUsIHk6IDM5LjgwMDAwMDAwMDAwMDAwNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMS43ODg2MTc4ODYxNzg4NjIsIHk6IDQxLjE5OTk5OTk5OTk5OTk5NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMS43ODg2MTc4ODYxNzg4NjIsIHk6IDQyLjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTEuNzg4NjE3ODg2MTc4ODYyLCB5OiA0NC42IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEwLjE2MjYwMTYyNjAxNjI2LCB5OiA0Ni44MDAwMDAwMDAwMDAwMDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOS4zNDk1OTM0OTU5MzQ5NiwgeTogNDguMTk5OTk5OTk5OTk5OTk2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDguNTM2NTg1MzY1ODUzNjU5LCB5OiA1MC44IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDguMTMwMDgxMzAwODEzMDA3LCB5OiA1Mi42IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcuNzIzNTc3MjM1NzcyMzU4LCB5OiA1NS42MDAwMDAwMDAwMDAwMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3LjcyMzU3NzIzNTc3MjM1OCwgeTogNTguMTk5OTk5OTk5OTk5OTk2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDguMTMwMDgxMzAwODEzMDA3LCB5OiA2MS44IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkuMzQ5NTkzNDk1OTM0OTYsIHk6IDY0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEwLjU2OTEwNTY5MTA1NjkxMiwgeTogNjYuMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMC41NjkxMDU2OTEwNTY5MTIsIHk6IDY4LjYwMDAwMDAwMDAwMDAxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEwLjE2MjYwMTYyNjAxNjI2LCB5OiA3MC44IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYuOTEwNTY5MTA1NjkxMDU3LCB5OiA3Mi42IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYuOTEwNTY5MTA1NjkxMDU3LCB5OiA3MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1LjI4NDU1Mjg0NTUyODQ1NiwgeTogNzUuNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0LjQ3MTU0NDcxNTQ0NzE1NSwgeTogNzYuOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyLjg0NTUyODQ1NTI4NDU1MjYsIHk6IDc4LjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMS42MjYwMTYyNjAxNjI2MDE4LCB5OiA4MCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAwLCB5OiA4MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxLjYyNjAxNjI2MDE2MjYwMTgsIHk6IDg0LjM5OTk5OTk5OTk5OTk5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQuNDcxNTQ0NzE1NDQ3MTU1LCB5OiA4NC42IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQuODc4MDQ4NzgwNDg3ODA1LCB5OiA4NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3LjcyMzU3NzIzNTc3MjM1OCwgeTogODguMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNy4wNzMxNzA3MzE3MDczMTgsIHk6IDg4LjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjEuNTQ0NzE1NDQ3MTU0NDc0LCB5OiA4OC42IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIxLjEzODIxMTM4MjExMzgyMywgeTogOTAuNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNi4yNjAxNjI2MDE2MjYwMTQsIHk6IDkxLjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTcuMDczMTcwNzMxNzA3MzE4LCB5OiA5Mi4yIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiNjAzYzliZDEtNTkwMC00ODVjLWI3YTctYjAyZDVlZDViNzRmIiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICJQZXJ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInBvbHkiLAogICAgICAgICAgICAgICAgICAgICAgICB4OiAyNC4yNDgwNDQ3MjAxODQyNDMsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDYxLjkyODY4NzAzNTIzNzM4LAogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMy4zOTgwNTgyNTI0MjcxODc0LAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwLjE5MDg1ODU4MzAyNDI0NCwKICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdF9zdHlsZTogeyBvcGFjaXR5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlb3Zlcl9zdHlsZTogeyBiYWNrZ3JvdW5kX2NvbG9yOiAiI2ZlY2EwMSIsIGJhY2tncm91bmRfb3BhY2l0eTogMC42Njc1NTU5OTY4Mzc0MTkxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBfc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZF9jb2xvcjogIiNmZmZmZmYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvX3dpZHRoOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcF9jb250ZW50OiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogIkhlYWRpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICJQRVJVIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkaW5nOiAiaDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyOiB7IGlkOiAiIiwgY2xhc3NlczogIiIsIGNzczogIiIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAic2Fucy1zZXJpZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAyMC44LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjMDAwMDAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hNb2RlbDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB7IHRvcDogMTAsIGJvdHRvbTogMTAsIGxlZnQ6IDEwLCByaWdodDogMTAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiNjg3NzBjODgtOTQ4ZS00YzUxLTg5NDUtMjg5MjViOWY3MDE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogIlBhcmFncmFwaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJzxkaXY+XG4gICAgPHN0cm9uZz5PUiBNYXF1aW5hcmlhcyBTLkEuQy48YnIgLz48YnIgLz48L3N0cm9uZz5cbjwvZGl2PlxuPGRpdj48L2Rpdj5cbjxkaXY+XG4gICAgPGRpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxkaXY+QXYuIEFzdHVyaWFzIE7CsCAzMTU8L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+QVRFLCBMaW1hIOKAkyBQZXLDujwvZGl2PlxuICAgICAgICAgICAgPGRpdj5BdHRuOiBPUkxBTkRPIFJJVkVSQTwvZGl2PlxuICAgICAgICAgICAgPGRpdj5FbWFpbDxzdHJvbmc+OiA8YSBocmVmPSJtYWlsdG86dmVudGFzQG9ybWFxdWluYXJpYXMuY29tLnBlIj52ZW50YXNAb3JtYXF1aW5hcmlhcy5jb20ucGU8L2E+PC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlBob25lOiA8YSBocmVmPSJ0ZWw6KzUxMTcxNzkwMTMiPis1MS0xLTcxNy05MDEzPC9hPiAvIDxhIGhyZWY9InRlbDorNTExNzE3OTAxMiI+KzUxLTEtNzE3LTkwMTI8L2E+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2PldlYnNpdGU8c3Ryb25nPjogPGEgaHJlZj0iaHR0cHM6Ly93d3cub3JtYXF1aW5hcmlhcy5jb20ucGUiIHRhcmdldD0iX2JsYW5rIj53d3cub3JtYXF1aW5hcmlhcy5jb20ucGU8L2E+PC9zdHJvbmc+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2PjwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcjogeyBpZDogIiIsIGNsYXNzZXM6ICIiLCBjc3M6ICIiIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogInNhbnMtc2VyaWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogMTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDIyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICJlYTIwMmY3ZC1kODZlLTQ3MmQtYTY3Yy02OWZmOTMwNjU3MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgeF9pbWFnZV9iYWNrZ3JvdW5kOiAyNC4yNDgwNDQ3MjAxODQyNDMsCiAgICAgICAgICAgICAgICAgICAgICAgIHlfaW1hZ2VfYmFja2dyb3VuZDogNjEuOTI4Njg3MDM1MjM3MzgsCiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50czogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAwLCB5OiAzMi4zNDA0MjU1MzE5MTQ4OTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTEuMDM4OTYxMDM4OTYxMDQsIHk6IDM5LjE0ODkzNjE3MDIxMjc2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNi44ODMxMTY4ODMxMTY4ODQsIHk6IDQ1LjEwNjM4Mjk3ODcyMzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTkuNDgwNTE5NDgwNTE5NDgzLCB5OiA0OS43ODcyMzQwNDI1NTMxOTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjQuNjc1MzI0Njc1MzI0Njc0LCB5OiA1Ny4wMjEyNzY1OTU3NDQ2OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMS44MTgxODE4MTgxODE4MTcsIHk6IDY2LjM4Mjk3ODcyMzQwNDI1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM4LjMxMTY4ODMxMTY4ODMxNCwgeTogNzMuMTkxNDg5MzYxNzAyMTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDAuMjU5NzQwMjU5NzQwMjYsIHk6IDc3LjQ0NjgwODUxMDYzODMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDQuMTU1ODQ0MTU1ODQ0MTYsIHk6IDgyLjEyNzY1OTU3NDQ2ODA4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU1Ljg0NDE1NTg0NDE1NTg0LCB5OiA4NS41MzE5MTQ4OTM2MTcwMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni44ODMxMTY4ODMxMTY4OCwgeTogOTAuMjEyNzY1OTU3NDQ2OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NS45NzQwMjU5NzQwMjU5OCwgeTogOTUuMzE5MTQ4OTM2MTcwMjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODQuNDE1NTg0NDE1NTg0NCwgeTogMTAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkyLjIwNzc5MjIwNzc5MjIxLCB5OiA5Ny40NDY4MDg1MTA2MzgyOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OC4wNTE5NDgwNTE5NDgwNiwgeTogOTMuNjE3MDIxMjc2NTk1NzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTAwLCB5OiA4OC45MzYxNzAyMTI3NjU5NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NC44MDUxOTQ4MDUxOTQ4LCB5OiA4NS4xMDYzODI5Nzg3MjM0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk4LjcwMTI5ODcwMTI5ODcsIHk6IDc3LjQ0NjgwODUxMDYzODMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTAwLCB5OiA2Ny42NTk1NzQ0NjgwODUxMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Ny40MDI1OTc0MDI1OTc0MSwgeTogNjIuNTUzMTkxNDg5MzYxNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NS40NTQ1NDU0NTQ1NDU0NSwgeTogNjEuMjc2NTk1NzQ0NjgwODUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODguOTYxMDM4OTYxMDM4OTcsIHk6IDYxLjcwMjEyNzY1OTU3NDQ2NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ny4wMTI5ODcwMTI5ODcwMSwgeTogNTguNzIzNDA0MjU1MzE5MTQ2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg1LjcxNDI4NTcxNDI4NTcxLCB5OiA1Mi43NjU5NTc0NDY4MDg1MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ny45MjIwNzc5MjIwNzc5MywgeTogNTUuMzE5MTQ4OTM2MTcwMjE1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcxLjQyODU3MTQyODU3MTQzLCB5OiA1Mi43NjU5NTc0NDY4MDg1MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NS41ODQ0MTU1ODQ0MTU2LCB5OiA1MS4wNjM4Mjk3ODcyMzQwNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Mi4zMzc2NjIzMzc2NjIzNCwgeTogNDcuMjM0MDQyNTUzMTkxNDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTguNDQxNTU4NDQxNTU4NDQsIHk6IDQxLjI3NjU5NTc0NDY4MDg1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYyLjMzNzY2MjMzNzY2MjM0LCB5OiAzNi4xNzAyMTI3NjU5NTc0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NC4yODU3MTQyODU3MTQyOSwgeTogMzEuOTE0ODkzNjE3MDIxMjc4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY4LjgzMTE2ODgzMTE2ODg0LCB5OiAyNy42NTk1NzQ0NjgwODUxMDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzUuOTc0MDI1OTc0MDI1OTgsIHk6IDI2LjM4Mjk3ODcyMzQwNDI1MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4NS43MTQyODU3MTQyODU3MSwgeTogMjMuNDA0MjU1MzE5MTQ4OTM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkxLjU1ODQ0MTU1ODQ0MTU2LCB5OiAyMi41NTMxOTE0ODkzNjE3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg3LjAxMjk4NzAxMjk4NzAxLCB5OiAxOS4xNDg5MzYxNzAyMTI3NjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODguMzExNjg4MzExNjg4MzEsIHk6IDE1Ljc0NDY4MDg1MTA2MzgzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg0LjQxNTU4NDQxNTU4NDQsIHk6IDEzLjE5MTQ4OTM2MTcwMjEyNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ni42MjMzNzY2MjMzNzY2MywgeTogMTEuOTE0ODkzNjE3MDIxMjc4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcwLjc3OTIyMDc3OTIyMDc4LCB5OiAxMi43NjU5NTc0NDY4MDg1MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NC4yODU3MTQyODU3MTQyOSwgeTogMTIuNzY1OTU3NDQ2ODA4NTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTkuMDkwOTA5MDkwOTA5MDksIHk6IDUuNTMxOTE0ODkzNjE3MDIxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUwLjY0OTM1MDY0OTM1MDY0NCwgeTogMS43MDIxMjc2NTk1NzQ0NjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDYuNzUzMjQ2NzUzMjQ2NzUsIHk6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDUuNDU0NTQ1NDU0NTQ1NDUsIHk6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDUuNDU0NTQ1NDU0NTQ1NDUsIHk6IDQuMjU1MzE5MTQ4OTM2MTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDYuMTAzODk2MTAzODk2MTA1LCB5OiA2LjgwODUxMDYzODI5Nzg3MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ni4xMDM4OTYxMDM4OTYxMDUsIHk6IDguNTEwNjM4Mjk3ODcyMzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDQuODA1MTk0ODA1MTk0OCwgeTogMTEuNDg5MzYxNzAyMTI3NjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDIuMjA3NzkyMjA3NzkyMiwgeTogMTEuOTE0ODkzNjE3MDIxMjc4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM3LjY2MjMzNzY2MjMzNzY2LCB5OiAxMy4xOTE0ODkzNjE3MDIxMjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzMuNzY2MjMzNzY2MjMzNzcsIHk6IDE0LjQ2ODA4NTEwNjM4Mjk3NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMi40Njc1MzI0Njc1MzI0NjUsIHk6IDE0Ljg5MzYxNzAyMTI3NjU5NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNi42MjMzNzY2MjMzNzY2MjIsIHk6IDE1Ljc0NDY4MDg1MTA2MzgzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI1LjMyNDY3NTMyNDY3NTMyMiwgeTogMTguNzIzNDA0MjU1MzE5MTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjIuMDc3OTIyMDc3OTIyMDgsIHk6IDIxLjI3NjU5NTc0NDY4MDg1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIxLjQyODU3MTQyODU3MTQyNywgeTogMjQuMjU1MzE5MTQ4OTM2MTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTguODMxMTY4ODMxMTY4ODMsIHk6IDI1Ljk1NzQ0NjgwODUxMDYzNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNi44ODMxMTY4ODMxMTY4ODQsIHk6IDI3LjIzNDA0MjU1MzE5MTQ5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE0LjI4NTcxNDI4NTcxNDI4NSwgeTogMjUuOTU3NDQ2ODA4NTEwNjM1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkuMDkwOTA5MDkwOTA5MDkyLCB5OiAyNC4yNTUzMTkxNDg5MzYxNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ljg0NDE1NTg0NDE1NTg0NCwgeTogMjQuMjU1MzE5MTQ4OTM2MTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNS44NDQxNTU4NDQxNTU4NDQsIHk6IDIxLjcwMjEyNzY1OTU3NDQ3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUuMTk0ODA1MTk0ODA1MTk1LCB5OiAyMC40MjU1MzE5MTQ4OTM2MTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMi41OTc0MDI1OTc0MDI1OTc0LCB5OiAyMi4xMjc2NTk1NzQ0NjgwODMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMCwgeTogMjQuMjU1MzE5MTQ4OTM2MTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMC42NDkzNTA2NDkzNTA2NDkzLCB5OiAyOC4wODUxMDYzODI5Nzg3MjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICJjZjE3MWIxNC1hNGZhLTRiM2MtYTNlYi05NjljNTExYmQ2NjMiLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogIkNvbG9tYmlhIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInBvbHkiLAogICAgICAgICAgICAgICAgICAgICAgICB4OiAyNC44MTMxODU1NTQ2MzIzMzcsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDU1LjEwNTUyNTIyNjEwMTcwNSwKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMuMjIxNTM1NzQ1ODA3NTkzLAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDkuMTcxNzcyNzI0NzIxODMzLAogICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0X3N0eWxlOiB7IG9wYWNpdHk6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgbW91c2VvdmVyX3N0eWxlOiB7IGJhY2tncm91bmRfY29sb3I6ICIjZmVjYTAxIiwgYmFja2dyb3VuZF9vcGFjaXR5OiAwLjY2NzU1NTk5NjgzNzQxOTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcF9zdHlsZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kX2NvbG9yOiAiI2ZmZmZmZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogInJpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9fd2lkdGg6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwX2NvbnRlbnQ6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiSGVhZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogIkNPTE9NQklBIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkaW5nOiAiaDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyOiB7IGlkOiAiIiwgY2xhc3NlczogIiIsIGNzczogIiIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAic2Fucy1zZXJpZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAyMC44LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjMDAwMDAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hNb2RlbDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB7IHRvcDogMTAsIGJvdHRvbTogMTAsIGxlZnQ6IDEwLCByaWdodDogMTAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiNjg3NzBjODgtOTQ4ZS00YzUxLTg5NDUtMjg5MjViOWY3MDE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogIlBhcmFncmFwaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJzxkaXY+PHN0cm9uZz5UZWNobmljYWwgUmVwcmVzZW50YXRpdmU8L3N0cm9uZz48L2Rpdj5cbjxkaXY+PC9kaXY+XG48ZGl2PkJvZ290YSwgQ29sb21iaWE8L2Rpdj5cbjxkaXY+QXR0bjogRmVybmFuZG8gVmFsZW5jaWEgU2FsZ2FkbzwvZGl2PlxuPGRpdj5FbWFpPHN0cm9uZz5sOjxhIGhyZWY9Im1haWx0bzpmZXJuYW5kb0BkZW10ZWNoLmNvbSI+ZmVybmFuZG9AZGVtdGVjaC5jb208L2E+PC9zdHJvbmc+PC9kaXY+XG48ZGl2Pk1vYmlsZTo8YSBocmVmPSJ0ZWw6KzU3MzIxMzgwOTg1MiI+KyAoNTcpIDMyMTM4MDk4NTI8L2E+PC9kaXY+XG48ZGl2PjwvZGl2PicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAiIiwgY3NzOiAiIiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICJzYW5zLXNlcmlmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDE0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAyMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjMDAwMDAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hNb2RlbDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB7IHRvcDogMTAsIGJvdHRvbTogMTAsIGxlZnQ6IDEwLCByaWdodDogMTAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiZWEyMDJmN2QtZDg2ZS00NzJkLWE2N2MtNjlmZjkzMDY1NzI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgIHhfaW1hZ2VfYmFja2dyb3VuZDogMjQuODEzMTg1NTU0NjMyMzM3LAogICAgICAgICAgICAgICAgICAgICAgICB5X2ltYWdlX2JhY2tncm91bmQ6IDU1LjEwNTUyNTIyNjEwMTcwNSwKICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDAsIHk6IDY0LjUzOTAwNzA5MjE5ODU5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIuNzM5NzI2MDI3Mzk3MjYsIHk6IDY2LjY2NjY2NjY2NjY2NjY2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUuNDc5NDUyMDU0Nzk0NTIsIHk6IDY4LjMyMTUxMzAwMjM2NDA3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkuMjQ2NTc1MzQyNDY1NzU0LCB5OiA3MC40NDkxNzI1NzY4MzIxNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNC43MjYwMjczOTcyNjAyNzUsIHk6IDcyLjEwNDAxODkxMjUyOTU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIwLjU0Nzk0NTIwNTQ3OTQ1LCB5OiA3Mi4xMDQwMTg5MTI1Mjk1NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNi4zNjk4NjMwMTM2OTg2MywgeTogNzMuMDQ5NjQ1MzkwMDcwOTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzIuMTkxNzgwODIxOTE3ODEsIHk6IDc2LjEyMjkzMTQ0MjA4MDM3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM1Ljk1ODkwNDEwOTU4OTA0LCB5OiA3Ni4xMjI5MzE0NDIwODAzNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC42OTg2MzAxMzY5ODYzLCB5OiA3OC4yNTA1OTEwMTY1NDg0NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MS40MzgzNTYxNjQzODM1NiwgeTogODAuMzc4MjUwNTkxMDE2NTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDYuNTc1MzQyNDY1NzUzNDIsIHk6IDgzLjQ1MTUzNjY0MzAyNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OC45NzI2MDI3Mzk3MjYwMywgeTogODUuODE1NjAyODM2ODc5NDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTAuMzQyNDY1NzUzNDI0NjYsIHk6IDg3LjcwNjg1NTc5MTk2MjE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU3LjUzNDI0NjU3NTM0MjQ2NSwgeTogODguNDE2MDc1NjUwMTE4MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NS4wNjg0OTMxNTA2ODQ5MywgeTogODguMTc5NjY5MDMwNzMyODcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzAuODkwNDEwOTU4OTA0MSwgeTogODguMTc5NjY5MDMwNzMyODcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzMuNjMwMTM2OTg2MzAxMzcsIHk6IDg5LjgzNDUxNTM2NjQzMDI1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc0LjY1NzUzNDI0NjU3NTM0LCB5OiA5MS40ODkzNjE3MDIxMjc2NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NC4zMTUwNjg0OTMxNTA2OCwgeTogOTMuODUzNDI3ODk1OTgxMDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzIuOTQ1MjA1NDc5NDUyMDYsIHk6IDk1LjUwODI3NDIzMTY3ODQ4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcyLjYwMjczOTcyNjAyNzQsIHk6IDk3LjYzNTkzMzgwNjE0NjU3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDczLjYzMDEzNjk4NjMwMTM3LCB5OiA5OS4wNTQzNzM1MjI0NTg2MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ny43Mzk3MjYwMjczOTcyNSwgeTogMTAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc5Ljc5NDUyMDU0Nzk0NTIsIHk6IDk2LjY5MDMwNzMyODYwNTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODAuMTM2OTg2MzAxMzY5ODYsIHk6IDkyLjQzNDk4ODE3OTY2OTAzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgwLjEzNjk4NjMwMTM2OTg2LCB5OiA4OS4xMjUyOTU1MDgyNzQyMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS41MDY4NDkzMTUwNjg1LCB5OiA4NC4zOTcxNjMxMjA1NjczNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS41MDY4NDkzMTUwNjg1LCB5OiA4MC44NTEwNjM4Mjk3ODcyMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OS40NTIwNTQ3OTQ1MjA1NSwgeTogNzcuMzA0OTY0NTM5MDA3MDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzcuNzM5NzI2MDI3Mzk3MjUsIHk6IDc0LjcwNDQ5MTcyNTc2ODMyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc3LjA1NDc5NDUyMDU0Nzk0LCB5OiA3MS4zOTQ3OTkwNTQzNzM1MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS44NDkzMTUwNjg0OTMxNSwgeTogNzEuMTU4MzkyNDM0OTg4MTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODQuNTg5MDQxMDk1ODkwNDIsIHk6IDcxLjE1ODM5MjQzNDk4ODE5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgyLjg3NjcxMjMyODc2NzEzLCB5OiA2OC43OTQzMjYyNDExMzQ3NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OS4xMDk1ODkwNDEwOTU5LCB5OiA2Ni40MzAyNjAwNDcyODEzMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OS40NTIwNTQ3OTQ1MjA1NSwgeTogNjUuMjQ4MjI2OTUwMzU0NjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODQuOTMxNTA2ODQ5MzE1MDcsIHk6IDY0LjUzOTAwNzA5MjE5ODU5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg5LjcyNjAyNzM5NzI2MDI4LCB5OiA2NC4wNjYxOTM4NTM0Mjc5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk1LjIwNTQ3OTQ1MjA1NDgsIHk6IDYzLjgyOTc4NzIzNDA0MjU1NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OC45NzI2MDI3Mzk3MjYwMywgeTogNjIuNjQ3NzU0MTM3MTE1ODQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTAwLCB5OiA2MS4yMjkzMTQ0MjA4MDM3OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Ny42MDI3Mzk3MjYwMjc0LCB5OiA1OC44NjUyNDgyMjY5NTAzNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Ni41NzUzNDI0NjU3NTM0MiwgeTogNTcuNDQ2ODA4NTEwNjM4MzA2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk5LjY1NzUzNDI0NjU3NTM0LCB5OiA1NS4zMTkxNDg5MzYxNzAyMTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTAwLCB5OiA1My4xOTE0ODkzNjE3MDIxMjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTYuMjMyODc2NzEyMzI4NzYsIHk6IDQ5LjQwODk4MzQ1MTUzNjY0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk2LjIzMjg3NjcxMjMyODc2LCB5OiA0NC45MTcyNTc2ODMyMTUxMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Ni45MTc4MDgyMTkxNzgwOCwgeTogNDAuODk4MzQ1MTUzNjY0MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Ny42MDI3Mzk3MjYwMjc0LCB5OiAzNy41ODg2NTI0ODIyNjk1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk1LjU0Nzk0NTIwNTQ3OTQ1LCB5OiAzNC45ODgxNzk2NjkwMzA3MzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTQuODYzMDEzNjk4NjMwMTQsIHk6IDM3LjM1MjI0NTg2Mjg4NDE2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkwLjA2ODQ5MzE1MDY4NDkzLCB5OiAzNy44MjUwNTkxMDE2NTQ4NDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODUuNjE2NDM4MzU2MTY0MzgsIHk6IDM4LjA2MTQ2NTcyMTA0MDE4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS4xNjQzODM1NjE2NDM4MywgeTogMzcuMTE1ODM5MjQzNDk4ODIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzYuMzY5ODYzMDEzNjk4NjMsIHk6IDM0Ljk4ODE3OTY2OTAzMDczNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MS45MTc4MDgyMTkxNzgwOCwgeTogMzIuMzg3NzA2ODU1NzkxOTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjcuNDY1NzUzNDI0NjU3NTQsIHk6IDMyLjg2MDUyMDA5NDU2MjY0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2MC4yNzM5NzI2MDI3Mzk3MjUsIHk6IDMzLjA5NjkyNjcxMzk0Nzk5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU3LjE5MTc4MDgyMTkxNzgsIHk6IDMxLjQ0MjA4MDM3ODI1MDU5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU2LjUwNjg0OTMxNTA2ODUsIHk6IDI3LjY1OTU3NDQ2ODA4NTEwOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1My40MjQ2NTc1MzQyNDY1OCwgeTogMjMuNDA0MjU1MzE5MTQ4OTM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUwLjY4NDkzMTUwNjg0OTMyLCB5OiAxOS42MjE3NDk0MDg5ODM0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MS4zNjk4NjMwMTM2OTg2MzQsIHk6IDE2Ljc4NDg2OTk3NjM1OTM0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjM5NzI2MDI3Mzk3MjYsIHk6IDEyLjUyOTU1MDgyNzQyMzE2NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NC43OTQ1MjA1NDc5NDUyMDQsIHk6IDkuOTI5MDc4MDE0MTg0Mzk4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU5LjkzMTUwNjg0OTMxNTA2LCB5OiA2LjYxOTM4NTM0Mjc4OTU5OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NS40MTA5NTg5MDQxMDk1OCwgeTogMy4wNzMyODYwNTIwMDk0NTYzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY3LjQ2NTc1MzQyNDY1NzU0LCB5OiAxLjQxODQzOTcxNjMxMjA1NjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjUuNzUzNDI0NjU3NTM0MjQsIHk6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjEuNjQzODM1NjE2NDM4MzYsIHk6IDEuMTgyMDMzMDk2OTI2NzEzOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OS4yNDY1NzUzNDI0NjU3NiwgeTogMi44MzY4Nzk0MzI2MjQxMTM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU1LjQ3OTQ1MjA1NDc5NDUyLCB5OiA1LjIwMDk0NTYyNjQ3NzU0MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MS43MTIzMjg3NjcxMjMyOCwgeTogNi44NTU3OTE5NjIxNzQ5NDE1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ0Ljg2MzAxMzY5ODYzMDE0LCB5OiA2Ljg1NTc5MTk2MjE3NDk0MTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDIuMTIzMjg3NjcxMjMyODgsIHk6IDcuODAxNDE4NDM5NzE2MzEyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQwLjc1MzQyNDY1NzUzNDI1LCB5OiA4Ljc0NzA0NDkxNzI1NzY4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MC40MTA5NTg5MDQxMDk1OSwgeTogMTAuODc0NzA0NDkxNzI1NzY5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM2LjMwMTM2OTg2MzAxMzcsIHk6IDkuNDU2MjY0Nzc1NDEzNzExIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMxLjg0OTMxNTA2ODQ5MzE1LCB5OiA5LjkyOTA3ODAxNDE4NDM5OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOS40NTIwNTQ3OTQ1MjA1NSwgeTogMTIuMDU2NzM3NTg4NjUyNDgxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI5LjQ1MjA1NDc5NDUyMDU1LCB5OiAxNC42NTcyMTA0MDE4OTEyNTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjkuNDUyMDU0Nzk0NTIwNTUsIHk6IDE3LjAyMTI3NjU5NTc0NDY4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI1LjM0MjQ2NTc1MzQyNDY2LCB5OiAxOS42MjE3NDk0MDg5ODM0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMy4yODc2NzEyMzI4NzY3MSwgeTogMjEuMjc2NTk1NzQ0NjgwODUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjAuNTQ3OTQ1MjA1NDc5NDUsIHk6IDIzLjQwNDI1NTMxOTE0ODkzOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOC40OTMxNTA2ODQ5MzE1MDcsIHk6IDI0LjU4NjI4ODQxNjA3NTY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE1LjA2ODQ5MzE1MDY4NDkzMSwgeTogMjcuNDIzMTY3ODQ4Njk5NzY2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEzLjAxMzY5ODYzMDEzNjk4NiwgeTogMjguNjA1MjAwOTQ1NjI2NDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTEuNjQzODM1NjE2NDM4MzU2LCB5OiAzMC40OTY0NTM5MDA3MDkyMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMS4zMDEzNjk4NjMwMTM2OTcsIHk6IDMyLjYyNDExMzQ3NTE3NzMxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDExLjY0MzgzNTYxNjQzODM1NiwgeTogMzQuNTE1MzY2NDMwMjYwMDQ1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEzLjM1NjE2NDM4MzU2MTY0NCwgeTogMzUuNjk3Mzk5NTI3MTg2NzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuNjk4NjMwMTM2OTg2MzAxLCB5OiAzNy4xMTU4MzkyNDM0OTg4MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMy42OTg2MzAxMzY5ODYzMDEsIHk6IDM5LjI0MzQ5ODgxNzk2NjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuNjk4NjMwMTM2OTg2MzAxLCB5OiA0MS42MDc1NjUwMTE4MjAzMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNC4wNDEwOTU4OTA0MTA5NiwgeTogNDMuOTcxNjMxMjA1NjczNzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTQuMzgzNTYxNjQzODM1NjE2LCB5OiA0NS44NjI4ODQxNjA3NTY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE0LjA0MTA5NTg5MDQxMDk2LCB5OiA0OC42OTk3NjM1OTMzODA2MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMS42NDM4MzU2MTY0MzgzNTYsIHk6IDUwLjExODIwMzMwOTY5MjY3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEzLjM1NjE2NDM4MzU2MTY0NCwgeTogNTEuNzczMDQ5NjQ1MzkwMDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuMzU2MTY0MzgzNTYxNjQ0LCB5OiA1Mi45NTUwODI3NDIzMTY3OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMy4wMTM2OTg2MzAxMzY5ODYsIHk6IDU1LjU1NTU1NTU1NTU1NTU2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEwLjk1ODkwNDEwOTU4OTA0LCB5OiA1Ni45NzM5OTUyNzE4Njc2MTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC45MDQxMDk1ODkwNDEwOTUsIHk6IDU4LjE1NjAyODM2ODc5NDMyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2LjUwNjg0OTMxNTA2ODQ5MywgeTogNTkuNTc0NDY4MDg1MTA2MzggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNC40NTIwNTQ3OTQ1MjA1NDc1LCB5OiA1OS41NzQ0NjgwODUxMDYzOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzLjA4MjE5MTc4MDgyMTkxNzcsIHk6IDYxLjIyOTMxNDQyMDgwMzc4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIuMzk3MjYwMjczOTcyNjAyNiwgeTogNjMuMTIwNTY3Mzc1ODg2NTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICJmNGY0OWNmNS1mOTM2LTQyZjAtOTkwNy1iMzA3ZGFlYWI1OWUiLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogIkVneXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInBvbHkiLAogICAgICAgICAgICAgICAgICAgICAgICB4OiA1My41Nzc1ODk0MjA1NDQxOCwKICAgICAgICAgICAgICAgICAgICAgICAgeTogNDQuMTE1NTc1Nzk2MjE0NjM1LAogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMy4xMTEyMDkxNzkxNzAzNTIsCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNS44NTQzMjMwMTU3Nzk4OSwKICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdF9zdHlsZTogeyBvcGFjaXR5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlb3Zlcl9zdHlsZTogeyBiYWNrZ3JvdW5kX2NvbG9yOiAiI2ZlY2EwMSIsIGJhY2tncm91bmRfb3BhY2l0eTogMC42Njc1NTU5OTY4Mzc0MTkxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBfc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZF9jb2xvcjogIiNmZmZmZmYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvX3dpZHRoOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcF9jb250ZW50OiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogIkhlYWRpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICc8aDIgc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtPcGVuIFNhbnMmcXVvdDssIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiAzMDA7IGNvbG9yOiByZ2IoNjMsIDYzLCA2Myk7IGZvbnQtc2l6ZTogMS43NWVtOyBsaW5lLWhlaWdodDogMS40ZW07IG1hcmdpbi1ib3R0b206IDAuMzc1ZW07Ij5FZ3lwdDwvaDI+JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkaW5nOiAiaDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyOiB7IGlkOiAiIiwgY2xhc3NlczogIiIsIGNzczogIiIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAic2Fucy1zZXJpZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAyMC44LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjMDAwMDAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hNb2RlbDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB7IHRvcDogMTAsIGJvdHRvbTogMTAsIGxlZnQ6IDEwLCByaWdodDogMTAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiNjg3NzBjODgtOTQ4ZS00YzUxLTg5NDUtMjg5MjViOWY3MDE5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogIlBhcmFncmFwaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJzxzdHJvbmc+RG9scGhpbiBGb3IgRW5naW5lZXJpbmcgJmFtcDsgV2F0ZXIgVGVjaDxiciAvPjxiciAvPjwvc3Ryb25nPlxuPGRpdj4yNiBFbCBOYXNyIFN0LjwvZGl2PlxuPGRpdj5DYWlybywgRWd5cHQ8L2Rpdj5cbjxkaXY+QXR0bjogQXlhIEF5YXViPC9kaXY+XG48ZGl2PkVtYWlsOiBBeWEgQXlvdWIgPHN0cm9uZz48YSBocmVmPSJtYWlsdG86YXlhLmF5b3ViQGRvbHBoaW5saW5pbmcuY29tIj5heWEuYXlvdWJAZG9scGhpbmxpbmluZy5jb208L2E+PC9zdHJvbmc+PC9kaXY+XG48ZGl2PlBob25lOiA8YSBocmVmPSJ0ZWw6KzIwMjIyNzI1NDM5Ij4rICgyMCkgMi0yMjcyLTU0Mzk8L2E+PC9kaXY+XG48ZGl2Pk1vYmlsZTogPGEgaHJlZj0idGVsOisyMDAxMjAwNjA4ODE4Ij4rICgyMCkgMDEyMCAwNjAgODgxODwvYT48L2Rpdj5cbjxkaXY+V2Vic2l0ZTxzdHJvbmc+OiA8YSBocmVmPSJodHRwczovL3d3dy5kb2xwaGlubGluaW5nLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnd3dy5kb2xwaGlubGluaW5nLmNvbTwvYT48L3N0cm9uZz48L2Rpdj5cbjxkaXY+PC9kaXY+JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcjogeyBpZDogIiIsIGNsYXNzZXM6ICIiLCBjc3M6ICIiIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogInNhbnMtc2VyaWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogMTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDIyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICJlYTIwMmY3ZC1kODZlLTQ3MmQtYTY3Yy02OWZmOTMwNjU3MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgeF9pbWFnZV9iYWNrZ3JvdW5kOiA1My41Nzc1ODk0MjA1NDQxOCwKICAgICAgICAgICAgICAgICAgICAgICAgeV9pbWFnZV9iYWNrZ3JvdW5kOiA0NC4xMTU1NzU3OTYyMTQ2MzUsCiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50czogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzLjU0NjA5OTI5MDc4MDE0MiwgeTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMi43NjU5NTc0NDY4MDg1MSwgeTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMy40MDQyNTUzMTkxNDg5MzgsIHk6IDUuMTg1MTg1MTg1MTg1MTg1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM0Ljc1MTc3MzA0OTY0NTM5NCwgeTogNy40MDc0MDc0MDc0MDc0MDY2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQzLjk3MTYzMTIwNTY3Mzc2LCB5OiAxMC4zNzAzNzAzNzAzNzAzNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1My4xOTE0ODkzNjE3MDIxMjUsIHk6IDMuNzAzNzAzNzAzNzAzNzAzMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NS4yNDgyMjY5NTAzNTQ2MiwgeTogMi4yMjIyMjIyMjIyMjIyMjIzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcxLjYzMTIwNTY3Mzc1ODg3LCB5OiAxNC4wNzQwNzQwNzQwNzQwNzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjguNzk0MzI2MjQxMTM0NzUsIHk6IDIyLjIyMjIyMjIyMjIyMjIyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc2LjU5NTc0NDY4MDg1MTA3LCB5OiAzMS44NTE4NTE4NTE4NTE4NTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODIuOTc4NzIzNDA0MjU1MzIsIHk6IDQ1LjkyNTkyNTkyNTkyNTkyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OC42NTI0ODIyNjk1MDM1NCwgeTogNjIuOTYyOTYyOTYyOTYyOTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTYuNDUzOTAwNzA5MjE5ODUsIHk6IDc1LjU1NTU1NTU1NTU1NTU2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEwMCwgeTogODIuMjIyMjIyMjIyMjIyMjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTcuMTYzMTIwNTY3Mzc1ODgsIHk6IDg3LjQwNzQwNzQwNzQwNzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTEuNDg5MzYxNzAyMTI3NjUsIHk6IDkwLjM3MDM3MDM3MDM3MDM3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg2LjUyNDgyMjY5NTAzNTQ3LCB5OiA5Ni4yOTYyOTYyOTYyOTYyOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Mi4yNjk1MDM1NDYwOTkyOSwgeTogMTAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc1Ljg4NjUyNDgyMjY5NTA0LCB5OiA5Ni4yOTYyOTYyOTYyOTYyOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1LjY3Mzc1ODg2NTI0ODIyNywgeTogOTcuNzc3Nzc3Nzc3Nzc3NzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMCwgeTogOS42Mjk2Mjk2Mjk2Mjk2MyB9LAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZDogIjhkOWM2ZTkyLTNhMGUtNDExZC1hMGY0LTU0OGE1M2I1OGQ3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAiQnJhemlsIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInBvbHkiLAogICAgICAgICAgICAgICAgICAgICAgICB4OiAyNi4yMzc4MzY2MDM3NjkwMzMsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDU5LjM0ODQ1MzY2NjM0OTUsCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMC43Njc4NzI5MDM3OTUyMzcsCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjEuNTA5MjE2NDEzNTMyMDQ0LAogICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0X3N0eWxlOiB7IG9wYWNpdHk6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgbW91c2VvdmVyX3N0eWxlOiB7IGJhY2tncm91bmRfY29sb3I6ICIjZmVjYTAxIiwgYmFja2dyb3VuZF9vcGFjaXR5OiAwLjY2NzU1NTk5NjgzNzQxOTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcF9zdHlsZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kX2NvbG9yOiAiI2ZmZmZmZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogInJpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9fd2lkdGg6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwX2NvbnRlbnQ6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiSGVhZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogIkJyYXppbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGluZzogImgzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcjogeyBpZDogIiIsIGNsYXNzZXM6ICIiLCBjc3M6ICIiIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogInNhbnMtc2VyaWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogMjAuOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAiIzAwMDAwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogImxlZnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94TW9kZWw6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogeyB0b3A6IDEwLCBib3R0b206IDEwLCBsZWZ0OiAxMCwgcmlnaHQ6IDEwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogIjY4NzcwYzg4LTk0OGUtNGM1MS04OTQ1LTI4OTI1YjlmNzAxOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJQYXJhZ3JhcGgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICc8ZGl2PlxuICAgIDxzdHJvbmc+RGVtdGVjaCBTZXJ2aWNlICZhbXA7IFJlcGFpciBjb250YWN0PGJyIC8+PGJyIC8+PC9zdHJvbmc+XG48L2Rpdj5cbjxkaXY+PC9kaXY+XG48ZGl2PlxuICAgIDxkaXY+VGFtZXJ0ZWNoIHNvbHXDp8O1ZXMgZSBzZXJ2acOnb3M8L2Rpdj5cbiAgICA8ZGl2PkdpbGJlcnRvIFJvZHJpZ3VlczwvZGl2PlxuICAgIDxkaXY+PGEgaHJlZj0idGVsOis1NTE5OTkzMjQwODExIj4rNTUxOTk5MzI0MDgxMTwvYT48L2Rpdj5cbiAgICA8ZGl2PkVtYWlsIDxiPjxhIGhyZWY9Im1haWx0bzpjb250YXRvQHRhbWVydGVjaC5jb20uYnIiPmNvbnRhdG9AdGFtZXJ0ZWNoLmNvbS5icjwvYT48L2I+PC9kaXY+XG4gICAgPGRpdj5Ib3J0b2zDom5kaWEvU1A8L2Rpdj5cbiAgICA8ZGl2PjwvZGl2PlxuPC9kaXY+JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcjogeyBpZDogIiIsIGNsYXNzZXM6ICIiLCBjc3M6ICIiIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogInNhbnMtc2VyaWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogMTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDIyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICJlYTIwMmY3ZC1kODZlLTQ3MmQtYTY3Yy02OWZmOTMwNjU3MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgeF9pbWFnZV9iYWNrZ3JvdW5kOiAyNi4yMzc4MzY2MDM3NjkwMzMsCiAgICAgICAgICAgICAgICAgICAgICAgIHlfaW1hZ2VfYmFja2dyb3VuZDogNTkuMzQ4NDUzNjY2MzQ5NSwKICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQzLjAzMjc4Njg4NTI0NTksIHk6IDkwLjMyMjU4MDY0NTE2MTI4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ2LjUxNjM5MzQ0MjYyMjk1LCB5OiA5My45NTE2MTI5MDMyMjU4MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MS4wMjQ1OTAxNjM5MzQ0MywgeTogOTUuMzYyOTAzMjI1ODA2NDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTMuMDczNzcwNDkxODAzMjcsIHk6IDk3Ljc4MjI1ODA2NDUxNjEzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjQ1OTAxNjM5MzQ0MjYyNCwgeTogMTAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU1LjMyNzg2ODg1MjQ1OTAyLCB5OiA5OC43OTAzMjI1ODA2NDUxNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ny41ODE5NjcyMTMxMTQ3NSwgeTogOTMuMTQ1MTYxMjkwMzIyNTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjEuNDc1NDA5ODM2MDY1NTcsIHk6IDg5LjUxNjEyOTAzMjI1ODA2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY0LjU0OTE4MDMyNzg2ODg1LCB5OiA4Ni44OTUxNjEyOTAzMjI1OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NS4zNjg4NTI0NTkwMTY0LCB5OiA4Mi44NjI5MDMyMjU4MDY0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NC41NDkxODAzMjc4Njg4NSwgeTogNzkuMDMyMjU4MDY0NTE2MTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjguMjM3NzA0OTE4MDMyNzgsIHk6IDc3LjQxOTM1NDgzODcwOTY4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcyLjc0NTkwMTYzOTM0NDI1LCB5OiA3NC4xOTM1NDgzODcwOTY3NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ni4wMjQ1OTAxNjM5MzQ0MiwgeTogNzIuMzc5MDMyMjU4MDY0NTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODAuMTIyOTUwODE5NjcyMTMsIHk6IDcxLjc3NDE5MzU0ODM4NzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODMuMTk2NzIxMzExNDc1NDEsIHk6IDcxLjE2OTM1NDgzODcwOTY4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg0LjgzNjA2NTU3Mzc3MDUsIHk6IDY4LjM0Njc3NDE5MzU0ODM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg2LjI3MDQ5MTgwMzI3ODY5LCB5OiA2NC4xMTI5MDMyMjU4MDY0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ny45MDk4MzYwNjU1NzM3NywgeTogNjAuNDgzODcwOTY3NzQxOTM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg4LjcyOTUwODE5NjcyMTMxLCB5OiA1Ni4wNDgzODcwOTY3NzQxODUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODkuMzQ0MjYyMjk1MDgxOTYsIHk6IDUxLjgxNDUxNjEyOTAzMjI2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg5Ljk1OTAxNjM5MzQ0MjYyLCB5OiA0Ni4zNzA5Njc3NDE5MzU0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5MC43Nzg2ODg1MjQ1OTAxNywgeTogNDQuMzU0ODM4NzA5Njc3NDE2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk0LjY3MjEzMTE0NzU0MDk4LCB5OiA0MC41MjQxOTM1NDgzODcwOTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTAwLCB5OiAzNC4yNzQxOTM1NDgzODcwOTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTkuMzg1MjQ1OTAxNjM5MzQsIHk6IDI3LjAxNjEyOTAzMjI1ODA2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NC42NzIxMzExNDc1NDA5OCwgeTogMjQuNTk2Nzc0MTkzNTQ4Mzg4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg5LjU0OTE4MDMyNzg2ODg1LCB5OiAyMC43NjYxMjkwMzIyNTgwNjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODQuMjIxMzExNDc1NDA5ODMsIHk6IDE5LjM1NDgzODcwOTY3NzQyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc4LjQ4MzYwNjU1NzM3NzA0LCB5OiAxOC43NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ni4wMjQ1OTAxNjM5MzQ0MiwgeTogMTkuMTUzMjI1ODA2NDUxNjEyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc1LCB5OiAxNi45MzU0ODM4NzA5Njc3NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MS4zMTE0NzU0MDk4MzYwNiwgeTogMTUuMzIyNTgwNjQ1MTYxMjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjcuNDE4MDMyNzg2ODg1MjUsIHk6IDEzLjcwOTY3NzQxOTM1NDgzOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni4xODg1MjQ1OTAxNjM5NCwgeTogMTMuNzA5Njc3NDE5MzU0ODM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY1Ljc3ODY4ODUyNDU5MDE3LCB5OiAxMy43MDk2Nzc0MTkzNTQ4MzggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjQuMzQ0MjYyMjk1MDgxOTYsIHk6IDEyLjkwMzIyNTgwNjQ1MTYxMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Mi41LCB5OiAxMS44OTUxNjEyOTAzMjI1ODIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTkuNjMxMTQ3NTQwOTgzNjEsIHk6IDEzLjcwOTY3NzQxOTM1NDgzOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ny45OTE4MDMyNzg2ODg1MiwgeTogMTQuNzE3NzQxOTM1NDgzODcyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU4LjE5NjcyMTMxMTQ3NTQxLCB5OiAxMy4zMDY0NTE2MTI5MDMyMjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjAuMjQ1OTAxNjM5MzQ0MjU0LCB5OiAxMS40OTE5MzU0ODM4NzA5NjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjEuODg1MjQ1OTAxNjM5MzQ0LCB5OiA5LjY3NzQxOTM1NDgzODcxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYxLjQ3NTQwOTgzNjA2NTU3LCB5OiA4LjQ2Nzc0MTkzNTQ4Mzg3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU5LjAxNjM5MzQ0MjYyMjk1LCB5OiA0LjYzNzA5Njc3NDE5MzU0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ny45OTE4MDMyNzg2ODg1MiwgeTogMi4yMTc3NDE5MzU0ODM4NzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTUuNzM3NzA0OTE4MDMyNzgsIHk6IDQuNDM1NDgzODcwOTY3NzQyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU0LjMwMzI3ODY4ODUyNDU5LCB5OiA2LjQ1MTYxMjkwMzIyNTgwNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MS40MzQ0MjYyMjk1MDgyMDUsIHk6IDYuNjUzMjI1ODA2NDUxNjEyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ2LjEwNjU1NzM3NzA0OTE4LCB5OiA2LjQ1MTYxMjkwMzIyNTgwNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Mi44Mjc4Njg4NTI0NTkwMiwgeTogNy40NTk2Nzc0MTkzNTQ4MzkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDAuNzc4Njg4NTI0NTkwMTYsIHk6IDguMjY2MTI5MDMyMjU4MDY0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM5LjU0OTE4MDMyNzg2ODg1NCwgeTogOS4yNzQxOTM1NDgzODcwOTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzcuMDkwMTYzOTM0NDI2MjMsIHk6IDcuODYyOTAzMjI1ODA2NDUyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM2LjQ3NTQwOTgzNjA2NTU3LCB5OiA1LjQ0MzU0ODM4NzA5Njc3NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNi4yNzA0OTE4MDMyNzg2OSwgeTogMi40MTkzNTQ4Mzg3MDk2Nzc1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM1Ljg2MDY1NTczNzcwNDkyLCB5OiAwLjYwNDgzODcwOTY3NzQxOTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzQuNjMxMTQ3NTQwOTgzNjEsIHk6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzIuNTgxOTY3MjEzMTE0NzUsIHk6IDAuNjA0ODM4NzA5Njc3NDE5NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMC43Mzc3MDQ5MTgwMzI3ODcsIHk6IDIuNjIwOTY3NzQxOTM1NDg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI4LjY4ODUyNDU5MDE2MzkzMywgeTogMi44MjI1ODA2NDUxNjEyOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNi42MzkzNDQyNjIyOTUwODMsIHk6IDIuODIyNTgwNjQ1MTYxMjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjQuNTkwMTYzOTM0NDI2MjMsIHk6IDIuMjE3NzQxOTM1NDgzODcxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI0LjM4NTI0NTkwMTYzOTM0NCwgeTogMy44MzA2NDUxNjEyOTAzMjI1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI0Ljc5NTA4MTk2NzIxMzExNSwgeTogNi4wNDgzODcwOTY3NzQxOTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjYuNDM0NDI2MjI5NTA4MTk0LCB5OiA2LjQ1MTYxMjkwMzIyNTgwNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMy45NzU0MDk4MzYwNjU1NzMsIHk6IDguMDY0NTE2MTI5MDMyMjU4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIxLjcyMTMxMTQ3NTQwOTgzNCwgeTogOS40NzU4MDY0NTE2MTI5MDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjAuNjk2NzIxMzExNDc1NDEsIHk6IDEwLjI4MjI1ODA2NDUxNjEzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE4LjIzNzcwNDkxODAzMjc4NywgeTogOC42NjkzNTQ4Mzg3MDk2NzggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTcuMjEzMTE0NzU0MDk4MzYsIHk6IDcuNDU5Njc3NDE5MzU0ODM5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE1LjM2ODg1MjQ1OTAxNjM5MywgeTogNy40NTk2Nzc0MTkzNTQ4MzkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTEuMDY1NTczNzcwNDkxODAyLCB5OiA4LjI2NjEyOTAzMjI1ODA2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMS40NzU0MDk4MzYwNjU1NzMsIHk6IDEwLjA4MDY0NTE2MTI5MDMyMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMC4yNDU5MDE2MzkzNDQyNjMsIHk6IDExLjQ5MTkzNTQ4Mzg3MDk2OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMC4yNDU5MDE2MzkzNDQyNjMsIHk6IDEzLjMwNjQ1MTYxMjkwMzIyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMS4wNjU1NzM3NzA0OTE4MDIsIHk6IDE0LjkxOTM1NDgzODcwOTY3OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMS4wNjU1NzM3NzA0OTE4MDIsIHk6IDE3LjEzNzA5Njc3NDE5MzU0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMC44NjA2NTU3Mzc3MDQ5MTcsIHk6IDE5Ljc1ODA2NDUxNjEyOTAzMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMC40NTA4MTk2NzIxMzExNDgsIHk6IDIyLjE3NzQxOTM1NDgzODcwOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4LjQwMTYzOTM0NDI2MjI5NSwgeTogMjMuNTg4NzA5Njc3NDE5MzU2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUuNTMyNzg2ODg1MjQ1OTAxLCB5OiAyNC4xOTM1NDgzODcwOTY3NzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMy4yNzg2ODg1MjQ1OTAxNjQsIHk6IDI0LjE5MzU0ODM4NzA5Njc3NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyLjA0OTE4MDMyNzg2ODg1MjMsIHk6IDI1LjgwNjQ1MTYxMjkwMzIyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxLjAyNDU5MDE2MzkzNDQyNjEsIHk6IDI3LjYyMDk2Nzc0MTkzNTQ4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDAuNDA5ODM2MDY1NTczNzcwNSwgeTogMjkuODM4NzA5Njc3NDE5MzU2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDAsIHk6IDMxLjQ1MTYxMjkwMzIyNTgwOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAwLjQwOTgzNjA2NTU3Mzc3MDUsIHk6IDM0LjI3NDE5MzU0ODM4NzA5NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAwLjgxOTY3MjEzMTE0NzU0MSwgeTogMzUuODg3MDk2Nzc0MTkzNTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNC41MDgxOTY3MjEzMTE0NzUsIHk6IDM3LjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC4xOTY3MjEzMTE0NzU0MSwgeTogMzYuNjkzNTQ4Mzg3MDk2Nzc2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcuOTkxODAzMjc4Njg4NTI2LCB5OiAzOC45MTEyOTAzMjI1ODA2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4LjQwMTYzOTM0NDI2MjI5NSwgeTogNDAuMzIyNTgwNjQ1MTYxMjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTEuNjgwMzI3ODY4ODUyNDYsIHk6IDQwLjMyMjU4MDY0NTE2MTI5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE0LjEzOTM0NDI2MjI5NTA4MSwgeTogMzkuNzE3NzQxOTM1NDgzODcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTYuNTk4MzYwNjU1NzM3NzA0LCB5OiAzOC43MDk2Nzc0MTkzNTQ4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS4wNTczNzcwNDkxODAzMjgsIHk6IDM4LjEwNDgzODcwOTY3NzQxNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMS4xMDY1NTczNzcwNDkxOCwgeTogMzcuMjk4Mzg3MDk2Nzc0MTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjIuMTMxMTQ3NTQwOTgzNjA1LCB5OiAzOC45MTEyOTAzMjI1ODA2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMS43MjEzMTE0NzU0MDk4MzQsIHk6IDQxLjMzMDY0NTE2MTI5MDMzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIyLjMzNjA2NTU3Mzc3MDQ5LCB5OiA0Mi43NDE5MzU0ODM4NzA5NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMy41NjU1NzM3NzA0OTE4MDYsIHk6IDQzLjE0NTE2MTI5MDMyMjU4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNS40MDk4MzYwNjU1NzM3NywgeTogNDMuNzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjguMjc4Njg4NTI0NTkwMTYyLCB5OiA0NC45NTk2Nzc0MTkzNTQ4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOS45MTgwMzI3ODY4ODUyNDUsIHk6IDQ2LjE2OTM1NDgzODcwOTY3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMxLjU1NzM3NzA0OTE4MDMyOCwgeTogNDYuNzc0MTkzNTQ4Mzg3MDk2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMyLjk5MTgwMzI3ODY4ODUyLCB5OiA0Ni43NzQxOTM1NDgzODcwOTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzQuMjIxMzExNDc1NDA5ODQsIHk6IDQ3Ljk4Mzg3MDk2Nzc0MTkzNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNC4wMTYzOTM0NDI2MjI5NSwgeTogNDkuNzk4Mzg3MDk2Nzc0MTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzQuNDI2MjI5NTA4MTk2NzIsIHk6IDUxLjYxMjkwMzIyNTgwNjQ1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM1LjQ1MDgxOTY3MjEzMTE0NiwgeTogNTMuNDI3NDE5MzU0ODM4NzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzguNTI0NTkwMTYzOTM0NDMsIHk6IDU0LjAzMjI1ODA2NDUxNjEzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM5Ljk1OTAxNjM5MzQ0MjYyNCwgeTogNTUuODQ2Nzc0MTkzNTQ4Mzg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQwLjU3Mzc3MDQ5MTgwMzI4LCB5OiA1Ny4wNTY0NTE2MTI5MDMyMjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDAuNzc4Njg4NTI0NTkwMTYsIHk6IDU4LjI2NjEyOTAzMjI1ODA2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MS41OTgzNjA2NTU3Mzc3MSwgeTogNjAuMDgwNjQ1MTYxMjkwMzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDAuMzY4ODUyNDU5MDE2MzksIHk6IDYyLjA5Njc3NDE5MzU0ODM4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MC45ODM2MDY1NTczNzcwNSwgeTogNjQuNTE2MTI5MDMyMjU4MDYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDAuOTgzNjA2NTU3Mzc3MDUsIHk6IDY2LjkzNTQ4Mzg3MDk2Nzc0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQwLjk4MzYwNjU1NzM3NzA1LCB5OiA2OC43NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Mi4wMDgxOTY3MjEzMTE0OCwgeTogNjkuNzU4MDY0NTE2MTI5MDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDQuNjcyMTMxMTQ3NTQwOTgsIHk6IDY5Ljc1ODA2NDUxNjEyOTA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ2LjEwNjU1NzM3NzA0OTE4LCB5OiA3MC4zNjI5MDMyMjU4MDY0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ni43MjEzMTE0NzU0MDk4NCwgeTogNzEuNzc0MTkzNTQ4Mzg3MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ny4zMzYwNjU1NzM3NzA0OSwgeTogNzMuMzg3MDk2Nzc0MTkzNTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguOTc1NDA5ODM2MDY1NTcsIHk6IDc0LjM5NTE2MTI5MDMyMjU4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ5Ljc5NTA4MTk2NzIxMzExNSwgeTogNzMuOTkxOTM1NDgzODcwOTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTAsIHk6IDc2LjQxMTI5MDMyMjU4MDY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ5Ljc5NTA4MTk2NzIxMzExNSwgeTogNzcuODIyNTgwNjQ1MTYxMjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTAuNDA5ODM2MDY1NTczNzY0LCB5OiA3OC42MjkwMzIyNTgwNjQ1MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Mi4wNDkxODAzMjc4Njg4NSwgeTogNzkuNDM1NDgzODcwOTY3NzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTIuMDQ5MTgwMzI3ODY4ODUsIHk6IDgxLjA0ODM4NzA5Njc3NDE5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUxLjIyOTUwODE5NjcyMTMwNSwgeTogODEuODU0ODM4NzA5Njc3NDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTAuNDA5ODM2MDY1NTczNzY0LCB5OiA4My42NjkzNTQ4Mzg3MDk2OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ny45NTA4MTk2NzIxMzExNDYsIHk6IDg0LjQ3NTgwNjQ1MTYxMjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDYuNzIxMzExNDc1NDA5ODQsIHk6IDg2LjI5MDMyMjU4MDY0NTE3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ1LjQ5MTgwMzI3ODY4ODUyLCB5OiA4Ny41IH0sCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiYWI4OGRiMmItY2MwNC00MjQxLWJhZTItMWUzYWZhOGYyN2Y2IiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICJVbml0ZWQgS2luZ2RvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJwb2x5IiwKICAgICAgICAgICAgICAgICAgICAgICAgeDogNDQuOTQ4NjA1NDg5NDM2MjMsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDI1LjE4NTAxMjYwNTI0ODY3MywKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIuMzE2ODU3ODk5MzgyMTcxLAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYuOTkyNjYzNjAyMTgxNTMsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc3R5bGU6IHsgb3BhY2l0eTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJfc3R5bGU6IHsgYmFja2dyb3VuZF9jb2xvcjogIiNmZWNhMDEiLCBiYWNrZ3JvdW5kX29wYWNpdHk6IDAuNjY3NTU1OTk2ODM3NDE5MSB9LAogICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwX3N0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRfY29sb3I6ICIjZmZmZmZmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b193aWR0aDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBfY29udGVudDogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJIZWFkaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAiVW5pdGVkIEtpbmdkb20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmc6ICJoMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAiIiwgY3NzOiAiIiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICJzYW5zLXNlcmlmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDIwLjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICI2ODc3MGM4OC05NDhlLTRjNTEtODk0NS0yODkyNWI5ZjcwMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiUGFyYWdyYXBoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAiPGRpdj48ZGl2PjxzdHJvbmc+Q2F0YWxvZ3VlIEVuZ2luZWVyaW5nPGJyPjxicj48L3N0cm9uZz48L2Rpdj48L2Rpdj48ZGl2PjwvZGl2PjxkaXY+PC9kaXY+PGRpdj48ZGl2PlBlYXJ0cmVlIEJ1bmdhbG93LCBCcm9ja2xleSBSZC48L2Rpdj48ZGl2PkhhcnRlc3QsIFN1ZmZvbGssIElQMjkgNEVRPC9kaXY+PGRpdj5FbmdsYW5kPC9kaXY+PGRpdj5BdHRuOiBCaWxsIEJhcmJlcjwvZGl2PjxkaXY+RW1haWw8c3Ryb25nPjogY2F0YWxvZ3VlQGZzbWFpbC5uZXQ8L3N0cm9uZz48L2Rpdj48ZGl2PlBob25lOiArICg0NCkgMTI4NC04MzAtMjgyPC9kaXY+PGRpdj5GYXg6ICsgKDQ0KSAxMjg0LTgzMC04MjY8L2Rpdj48ZGl2Pk1vYmlsZTogKyAoNDQpIDc5NzEtOTUyLTc2NTwvZGl2PjwvZGl2PjxkaXY+PC9kaXY+IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcjogeyBpZDogIiIsIGNsYXNzZXM6ICIiLCBjc3M6ICIiIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogInNhbnMtc2VyaWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogMTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDIyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICJlYTIwMmY3ZC1kODZlLTQ3MmQtYTY3Yy02OWZmOTMwNjU3MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgeF9pbWFnZV9iYWNrZ3JvdW5kOiA0NC45NDg2MDU0ODk0MzYyMywKICAgICAgICAgICAgICAgICAgICAgICAgeV9pbWFnZV9iYWNrZ3JvdW5kOiAyNS4xODUwMTI2MDUyNDg2NzMsCiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50czogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNS40NzYxOTA0NzYxOTA0NzYsIHk6IDgyLjAxNTUwMzg3NTk2ODk5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE2LjE5MDQ3NjE5MDQ3NjE5LCB5OiA3OC45MTQ3Mjg2ODIxNzA1NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMy4zMzMzMzMzMzMzMzMzMzIsIHk6IDc5LjIyNDgwNjIwMTU1MDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzAsIHk6IDc1LjUwMzg3NTk2ODk5MjI1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMwLCB5OiA3MS40NzI4NjgyMTcwNTQyNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNy4xNDI4NTcxNDI4NTcxNDIsIHk6IDY5LjYxMjQwMzEwMDc3NTE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIyLjYxOTA0NzYxOTA0NzYyLCB5OiA3MS4xNjI3OTA2OTc2NzQ0MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNC4yODU3MTQyODU3MTQyODUsIHk6IDY4LjM3MjA5MzAyMzI1NTgxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIyLjE0Mjg1NzE0Mjg1NzE0MiwgeTogNjUuMjcxMzE3ODI5NDU3MzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjQuMDQ3NjE5MDQ3NjE5MDQ3LCB5OiA2My44NzU5Njg5OTIyNDgwNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOC4wOTUyMzgwOTUyMzgwOTUsIHk6IDY0Ljk2MTI0MDMxMDA3NzUxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMwLjk1MjM4MDk1MjM4MDk1MywgeTogNjYuNTExNjI3OTA2OTc2NzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzcuODU3MTQyODU3MTQyODU0LCB5OiA2Ni41MTE2Mjc5MDY5NzY3NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MS45MDQ3NjE5MDQ3NjE5MDUsIHk6IDY1LjExNjI3OTA2OTc2NzQ0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQyLjM4MDk1MjM4MDk1MjM4LCB5OiA2MC42MjAxNTUwMzg3NTk2OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NC41MjM4MDk1MjM4MDk1MiwgeTogNTcuMjA5MzAyMzI1NTgxMzkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDIuMzgwOTUyMzgwOTUyMzgsIHk6IDU1LjY1ODkxNDcyODY4MjE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM3LjE0Mjg1NzE0Mjg1NzE0NiwgeTogNTMuNzk4NDQ5NjEyNDAzMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC4wOTUyMzgwOTUyMzgwOTUsIHk6IDQ5LjkyMjQ4MDYyMDE1NTA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM5LjUyMzgwOTUyMzgwOTUyNiwgeTogNDguMDYyMDE1NTAzODc1OTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzYuOTA0NzYxOTA0NzYxOTA1LCB5OiA0Ni45NzY3NDQxODYwNDY1MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMi4zODA5NTIzODA5NTIzOCwgeTogNDguMDYyMDE1NTAzODc1OTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjQuNzYxOTA0NzYxOTA0NzYzLCB5OiA0OC42ODIxNzA1NDI2MzU2NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMC40NzYxOTA0NzYxOTA0NzQsIHk6IDQ4LjgzNzIwOTMwMjMyNTU3NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS4yODU3MTQyODU3MTQyOSwgeTogNDcuMjg2ODIxNzA1NDI2MzU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIwLjcxNDI4NTcxNDI4NTcxNSwgeTogNDQuMTg2MDQ2NTExNjI3OTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjEuNDI4NTcxNDI4NTcxNDI3LCB5OiA0MS4zOTUzNDg4MzcyMDkzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIyLjE0Mjg1NzE0Mjg1NzE0MiwgeTogMzcuOTg0NDk2MTI0MDMxMDEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjIuMTQyODU3MTQyODU3MTQyLCB5OiAzNS41MDM4NzU5Njg5OTIyNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMC4yMzgwOTUyMzgwOTUyMzcsIHk6IDM1LjM0ODgzNzIwOTMwMjMyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMC40NzYxOTA0NzYxOTA0NzQsIHk6IDM2Ljc0NDE4NjA0NjUxMTYzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE5LjI4NTcxNDI4NTcxNDI5LCB5OiAzNy45ODQ0OTYxMjQwMzEwMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOC4zMzMzMzMzMzMzMzMzMzIsIHk6IDQwLjQ2NTExNjI3OTA2OTc3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE4LjA5NTIzODA5NTIzODA5NSwgeTogNDIuNzkwNjk3Njc0NDE4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNSwgeTogNDIuMzI1NTgxMzk1MzQ4ODQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTIuODU3MTQyODU3MTQyODU2LCB5OiA0My44NzU5Njg5OTIyNDgwNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Ljc2MTkwNDc2MTkwNDc2MywgeTogNDQuMTg2MDQ2NTExNjI3OTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOS4wNDc2MTkwNDc2MTkwNDcsIHk6IDQyLjMyNTU4MTM5NTM0ODg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkuMDQ3NjE5MDQ3NjE5MDQ3LCB5OiAzOS41MzQ4ODM3MjA5MzAyMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2LjY2NjY2NjY2NjY2NjY2NywgeTogMzguNzU5Njg5OTIyNDgwNjI1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYuNDI4NTcxNDI4NTcxNDI4LCB5OiA0MC4xNTUwMzg3NTk2ODk5MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxLjE5MDQ3NjE5MDQ3NjE5MDUsIHk6IDQwLjE1NTAzODc1OTY4OTkyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEuOTA0NzYxOTA0NzYxOTA0OSwgeTogMzcuNjc0NDE4NjA0NjUxMTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMy41NzE0Mjg1NzE0Mjg1NzEsIHk6IDM2LjEyNDAzMTAwNzc1MTk0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDguMzMzMzMzMzMzMzMzMzMyLCB5OiAzNS4wMzg3NTk2ODk5MjI0ODYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTIuMzgwOTUyMzgwOTUyMzgxLCB5OiAzMy45NTM0ODgzNzIwOTMwMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMy4zMzMzMzMzMzMzMzMzMzQsIHk6IDMxLjYyNzkwNjk3Njc0NDE4NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNS43MTQyODU3MTQyODU3MTQsIHk6IDI5LjkyMjQ4MDYyMDE1NTA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEzLjU3MTQyODU3MTQyODU3MSwgeTogMjkuNDU3MzY0MzQxMDg1Mjc0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEwLjk1MjM4MDk1MjM4MDk1MywgeTogMzAuMjMyNTU4MTM5NTM0ODggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOS43NjE5MDQ3NjE5MDQ3NjMsIHk6IDMxLjkzNzk4NDQ5NjEyNDAzNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1LCB5OiAzMS40NzI4NjgyMTcwNTQyNjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMy44MDk1MjM4MDk1MjM4MDk4LCB5OiAzMC4yMzI1NTgxMzk1MzQ4OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ljc2MTkwNDc2MTkwNDc2MiwgeTogMjguNTI3MTMxNzgyOTQ1NzM3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcuNjE5MDQ3NjE5MDQ3NjE5NSwgeTogMjYuNTExNjI3OTA2OTc2NzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC41NzE0Mjg1NzE0Mjg1NzEsIHk6IDI1LjExNjI3OTA2OTc2NzQ0NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3LjYxOTA0NzYxOTA0NzYxOTUsIHk6IDIzLjQxMDg1MjcxMzE3ODI5NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1LjcxNDI4NTcxNDI4NTcxNCwgeTogMjMuMTAwNzc1MTkzNzk4NDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMy4zMzMzMzMzMzMzMzMzMzM1LCB5OiAyMi45NDU3MzY0MzQxMDg1MjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMC43MTQyODU3MTQyODU3MTQzLCB5OiAyMC45MzAyMzI1NTgxMzk1MzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMCwgeTogMTkuMjI0ODA2MjAxNTUwMzg2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIuNjE5MDQ3NjE5MDQ3NjE5LCB5OiAxOC43NTk2ODk5MjI0ODA2MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1LjIzODA5NTIzODA5NTIzOCwgeTogMTguNjA0NjUxMTYyNzkwNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4LjMzMzMzMzMzMzMzMzMzMiwgeTogMjAuMzEwMDc3NTE5Mzc5ODQ2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkuMDQ3NjE5MDQ3NjE5MDQ3LCB5OiAxOS41MzQ4ODM3MjA5MzAyMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5LjI4NTcxNDI4NTcxNDI4NiwgeTogMTYuODk5MjI0ODA2MjAxNTUyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkuMjg1NzE0Mjg1NzE0Mjg2LCB5OiAxNS4zNDg4MzcyMDkzMDIzMjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTEuNjY2NjY2NjY2NjY2NjY2LCB5OiAxNS4xOTM3OTg0NDk2MTI0MDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuODA5NTIzODA5NTIzODEsIHk6IDE1LjgxMzk1MzQ4ODM3MjA5MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNS4yMzgwOTUyMzgwOTUyMzksIHk6IDE0LjQxODYwNDY1MTE2Mjc5MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNS4yMzgwOTUyMzgwOTUyMzksIHk6IDEyLjU1ODEzOTUzNDg4MzcyMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNS43MTQyODU3MTQyODU3MTQsIHk6IDEwLjg1MjcxMzE3ODI5NDU3MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOC4wOTUyMzgwOTUyMzgwOTUsIHk6IDguODM3MjA5MzAyMzI1NTgxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE5LjUyMzgwOTUyMzgwOTUyNiwgeTogOC4wNjIwMTU1MDM4NzU5NjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjQuNTIzODA5NTIzODA5NTIyLCB5OiA3LjU5Njg5OTIyNDgwNjIwMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMS42NjY2NjY2NjY2NjY2NjQsIHk6IDcuNDQxODYwNDY1MTE2Mjc5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM1LCB5OiA3LjU5Njg5OTIyNDgwNjIwMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC4wOTUyMzgwOTUyMzgwOTUsIHk6IDYuNjY2NjY2NjY2NjY2NjY3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM4LjA5NTIzODA5NTIzODA5NSwgeTogNC44MDYyMDE1NTAzODc1OTY2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM4LjA5NTIzODA5NTIzODA5NSwgeTogMi4zMjU1ODEzOTUzNDg4MzczIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQwLjcxNDI4NTcxNDI4NTcxNSwgeTogMC43NzUxOTM3OTg0NDk2MTI0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQyLjYxOTA0NzYxOTA0NzYyLCB5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQzLjgwOTUyMzgwOTUyMzgxLCB5OiAwLjMxMDA3NzUxOTM3OTg0NDk2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQzLjU3MTQyODU3MTQyODU3LCB5OiAyLjMyNTU4MTM5NTM0ODgzNzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDMuMDk1MjM4MDk1MjM4MDk1LCB5OiAzLjQxMDg1MjcxMzE3ODI5NDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDIuNjE5MDQ3NjE5MDQ3NjIsIHk6IDUuMjcxMzE3ODI5NDU3MzY0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQyLjYxOTA0NzYxOTA0NzYyLCB5OiA3LjU5Njg5OTIyNDgwNjIwMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MC4yMzgwOTUyMzgwOTUyNCwgeTogOS4zMDIzMjU1ODEzOTUzNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC41NzE0Mjg1NzE0Mjg1OCwgeTogMTAuNjk3Njc0NDE4NjA0NjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzUuOTUyMzgwOTUyMzgwOTUsIHk6IDEyLjU1ODEzOTUzNDg4MzcyMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMy4zMzMzMzMzMzMzMzMzMywgeTogMTMuOTUzNDg4MzcyMDkzMDIzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMxLjQyODU3MTQyODU3MTQyNywgeTogMTQuODgzNzIwOTMwMjMyNTU4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMyLjE0Mjg1NzE0Mjg1NzE0NiwgeTogMTYuODk5MjI0ODA2MjAxNTUyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMxLjE5MDQ3NjE5MDQ3NjE5LCB5OiAxOC42MDQ2NTExNjI3OTA3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI4LjU3MTQyODU3MTQyODU3LCB5OiAxOS41MzQ4ODM3MjA5MzAyMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMy4zMzMzMzMzMzMzMzMzMywgeTogMjAuNzc1MTkzNzk4NDQ5NjE0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM1LjcxNDI4NTcxNDI4NTcxNSwgeTogMTkuMzc5ODQ0OTYxMjQwMzEzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQwLjcxNDI4NTcxNDI4NTcxNSwgeTogMTguNzU5Njg5OTIyNDgwNjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDYuMTkwNDc2MTkwNDc2MTksIHk6IDE4LjYwNDY1MTE2Mjc5MDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTIuMzgwOTUyMzgwOTUyMzksIHk6IDE4LjYwNDY1MTE2Mjc5MDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTUuMjM4MDk1MjM4MDk1MjQsIHk6IDE4LjQ0OTYxMjQwMzEwMDc3NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ny44NTcxNDI4NTcxNDI4NiwgeTogMTcuNjc0NDE4NjA0NjUxMTYyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU3Ljg1NzE0Mjg1NzE0Mjg2LCB5OiAyMC4xNTUwMzg3NTk2ODk5MjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTQuMjg1NzE0Mjg1NzE0Mjg1LCB5OiAyMy4yNTU4MTM5NTM0ODgzNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Mi4zODA5NTIzODA5NTIzOSwgeTogMjQuOTYxMjQwMzEwMDc3NTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTAuNzE0Mjg1NzE0Mjg1NzEsIHk6IDI2LjM1NjU4OTE0NzI4NjgyNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OS4wNDc2MTkwNDc2MTkwNDQsIHk6IDI4LjUyNzEzMTc4Mjk0NTczNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NS4yMzgwOTUyMzgwOTUyNCwgeTogMzAuMDc3NTE5Mzc5ODQ0OTY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQzLjA5NTIzODA5NTIzODA5NSwgeTogMzAuODUyNzEzMTc4Mjk0NTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDYuNDI4NTcxNDI4NTcxNDMsIHk6IDMyLjcxMzE3ODI5NDU3MzY0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ni4xOTA0NzYxOTA0NzYxOSwgeTogMzMuOTUzNDg4MzcyMDkzMDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDQuNTIzODA5NTIzODA5NTIsIHk6IDM0LjcyODY4MjE3MDU0MjYzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQwLjcxNDI4NTcxNDI4NTcxNSwgeTogMzQuNzI4NjgyMTcwNTQyNjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzcuMTQyODU3MTQyODU3MTQ2LCB5OiAzNS4xOTM3OTg0NDk2MTI0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM1LjcxNDI4NTcxNDI4NTcxNSwgeTogMzUuOTY4OTkyMjQ4MDYyMDE1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM2LjY2NjY2NjY2NjY2NjY2NCwgeTogMzYuNTg5MTQ3Mjg2ODIxNzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDAuMjM4MDk1MjM4MDk1MjQsIHk6IDM3LjM2NDM0MTA4NTI3MTMyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ0LjA0NzYxOTA0NzYxOTA0NCwgeTogMzcuMDU0MjYzNTY1ODkxNDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDkuNzYxOTA0NzYxOTA0NzYsIHk6IDM2Ljg5OTIyNDgwNjIwMTU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjYxOTA0NzYxOTA0NzYyLCB5OiAzNi44OTkyMjQ4MDYyMDE1NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NS4wMDAwMDAwMDAwMDAwMSwgeTogMzkuMjI0ODA2MjAxNTUwMzg2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU2LjE5MDQ3NjE5MDQ3NjE5LCB5OiA0MC42MjAxNTUwMzg3NTk2OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ny44NTcxNDI4NTcxNDI4NiwgeTogNDEuMjQwMzEwMDc3NTE5MzggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjIuODU3MTQyODU3MTQyODU0LCB5OiA0MC43NzUxOTM3OTg0NDk2MTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjUuOTUyMzgwOTUyMzgwOTUsIHk6IDQwLjc3NTE5Mzc5ODQ0OTYxNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OS41MjM4MDk1MjM4MDk1MiwgeTogNDIuMzI1NTgxMzk1MzQ4ODQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzMuMDk1MjM4MDk1MjM4MDksIHk6IDQ0LjQ5NjEyNDAzMTAwNzc1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc1Ljk1MjM4MDk1MjM4MDk1LCB5OiA0Ni4wNDY1MTE2Mjc5MDY5OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OC41NzE0Mjg1NzE0Mjg1NywgeTogNDguNTI3MTMxNzgyOTQ1NzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODAsIHk6IDU0LjI2MzU2NTg5MTQ3Mjg2NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OS41MjM4MDk1MjM4MDk1MiwgeTogNTYuNTg5MTQ3Mjg2ODIxNzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzguODA5NTIzODA5NTIzODEsIHk6IDU3Ljk4NDQ5NjEyNDAzMTAwNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OS4wNDc2MTkwNDc2MTkwNSwgeTogNjEuMzk1MzQ4ODM3MjA5MzA1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc5LjA0NzYxOTA0NzYxOTA1LCB5OiA2Mi42MzU2NTg5MTQ3Mjg2OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MC43MTQyODU3MTQyODU3MiwgeTogNjQuMDMxMDA3NzUxOTM3OTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODIuODU3MTQyODU3MTQyODYsIHk6IDY1LjI3MTMxNzgyOTQ1NzM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgxLjkwNDc2MTkwNDc2MTksIHk6IDY2LjgyMTcwNTQyNjM1NjU5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgwLjIzODA5NTIzODA5NTI0LCB5OiA2OC44MzcyMDkzMDIzMjU1OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS40Mjg1NzE0Mjg1NzE0MywgeTogNzAuMzg3NTk2ODk5MjI0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4NC4wNDc2MTkwNDc2MTkwNSwgeTogNjkuNjEyNDAzMTAwNzc1MTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODguMDk1MjM4MDk1MjM4MDksIHk6IDY4Ljk5MjI0ODA2MjAxNTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTAuNDc2MTkwNDc2MTkwNDgsIHk6IDY5LjMwMjMyNTU4MTM5NTM1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkyLjYxOTA0NzYxOTA0NzYyLCB5OiA2OS42MTI0MDMxMDA3NzUxOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NS4yMzgwOTUyMzgwOTUyMywgeTogNjkuOTIyNDgwNjIwMTU1MDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTAwLCB5OiA3Mi4wOTMwMjMyNTU4MTM5NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OC41NzE0Mjg1NzE0Mjg1OCwgeTogNzMuNDg4MzcyMDkzMDIzMjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTguMzMzMzMzMzMzMzMzMzMsIHk6IDc1LjM0ODgzNzIwOTMwMjMyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk4LjA5NTIzODA5NTIzODA5LCB5OiA3Ni41ODkxNDcyODY4MjE3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk2LjE5MDQ3NjE5MDQ3NjE5LCB5OiA3Ny4zNjQzNDEwODUyNzEzMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5My4wOTUyMzgwOTUyMzgxLCB5OiA3OC43NTk2ODk5MjI0ODA2MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OS4wNDc2MTkwNDc2MTkwNCwgeTogODAuNjIwMTU1MDM4NzU5NjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODYuMTkwNDc2MTkwNDc2MTksIHk6IDgyLjQ4MDYyMDE1NTAzODc2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg0Ljc2MTkwNDc2MTkwNDc2LCB5OiA4My43MjA5MzAyMzI1NTgxNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4NC4yODU3MTQyODU3MTQyOSwgeTogODUuNzM2NDM0MTA4NTI3MTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODguMzMzMzMzMzMzMzMzMzMsIHk6IDg2LjA0NjUxMTYyNzkwNjk4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkzLjMzMzMzMzMzMzMzMzMzLCB5OiA4Ni4wNDY1MTE2Mjc5MDY5OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NS40NzYxOTA0NzYxOTA0OCwgeTogODYuMjAxNTUwMzg3NTk2OTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTUuMjM4MDk1MjM4MDk1MjMsIHk6IDg4LjIxNzA1NDI2MzU2NTg4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg5Ljc2MTkwNDc2MTkwNDc2LCB5OiA4OC44MzcyMDkzMDIzMjU1OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ni40Mjg1NzE0Mjg1NzE0MywgeTogODkuOTIyNDgwNjIwMTU1MDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODMuMDk1MjM4MDk1MjM4MSwgeTogOTEuNDcyODY4MjE3MDU0MjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzcuODU3MTQyODU3MTQyODYsIHk6IDkxLjYyNzkwNjk3Njc0NDE5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDczLjgwOTUyMzgwOTUyMzgxLCB5OiA5MS43ODI5NDU3MzY0MzQxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY3Ljg1NzE0Mjg1NzE0Mjg2LCB5OiA5MS45Mzc5ODQ0OTYxMjQwMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2My4wOTUyMzgwOTUyMzgwOTUsIHk6IDkxLjc4Mjk0NTczNjQzNDEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjAsIHk6IDkyLjg2ODIxNzA1NDI2MzU3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU3LjYxOTA0NzYxOTA0NzYxLCB5OiA5My40ODgzNzIwOTMwMjMyNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Mi42MTkwNDc2MTkwNDc2MiwgeTogOTMuMDIzMjU1ODEzOTUzNDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguMzMzMzMzMzMzMzMzMzM2LCB5OiA5Mi43MTMxNzgyOTQ1NzM2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0My41NzE0Mjg1NzE0Mjg1NywgeTogOTIuMjQ4MDYyMDE1NTAzODggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDAsIHk6IDkyLjcxMzE3ODI5NDU3MzY0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM3LjYxOTA0NzYxOTA0NzYyLCB5OiA5My42NDM0MTA4NTI3MTMxOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNi4xOTA0NzYxOTA0NzYxOSwgeTogOTUuMDM4NzU5Njg5OTIyNDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzQuMjg1NzE0Mjg1NzE0Mjg1LCB5OiA5Ni41ODkxNDcyODY4MjE3MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMi4zODA5NTIzODA5NTIzOCwgeTogOTcuODI5NDU3MzY0MzQxMDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjkuNTIzODA5NTIzODA5NTI2LCB5OiA5Ny44Mjk0NTczNjQzNDEwOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNi40Mjg1NzE0Mjg1NzE0MywgeTogOTYuNDM0MTA4NTI3MTMxNzggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjMuMzMzMzMzMzMzMzMzMzMyLCB5OiA5Ni4xMjQwMzEwMDc3NTE5NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMC45NTIzODA5NTIzODA5NTMsIHk6IDk2LjI3OTA2OTc2NzQ0MTg1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIwLjk1MjM4MDk1MjM4MDk1MywgeTogOTguNDQ5NjEyNDAzMTAwNzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjAuNDc2MTkwNDc2MTkwNDc0LCB5OiA5OS4zNzk4NDQ5NjEyNDAzMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNi45MDQ3NjE5MDQ3NjE5MDUsIHk6IDEwMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMy44MDk1MjM4MDk1MjM4MSwgeTogOTguNzU5Njg5OTIyNDgwNjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuMzMzMzMzMzMzMzMzMzM0LCB5OiA5OC4yOTQ1NzM2NDM0MTA4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS43NjE5MDQ3NjE5MDQ3NjMsIHk6IDk0LjU3MzY0MzQxMDg1MjcxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIyLjM4MDk1MjM4MDk1MjM4MywgeTogOTIuMDkzMDIzMjU1ODEzOTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjUuOTUyMzgwOTUyMzgwOTU2LCB5OiA4OS45MjI0ODA2MjAxNTUwNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOS41MjM4MDk1MjM4MDk1MjYsIHk6IDg4LjA2MjAxNTUwMzg3NTk3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMzLjgwOTUyMzgwOTUyMzgxLCB5OiA4Ny43NTE5Mzc5ODQ0OTYxMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC4wOTUyMzgwOTUyMzgwOTUsIHk6IDg4LjgzNzIwOTMwMjMyNTU4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQxLjY2NjY2NjY2NjY2NjY3LCB5OiA4OC45OTIyNDgwNjIwMTU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ0LjUyMzgwOTUyMzgwOTUyLCB5OiA4Ni42NjY2NjY2NjY2NjY2NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NC4yODU3MTQyODU3MTQyODUsIHk6IDg1LjI3MTMxNzgyOTQ1NzM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQxLjkwNDc2MTkwNDc2MTkwNSwgeTogODUuMjcxMzE3ODI5NDU3MzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzguNTcxNDI4NTcxNDI4NTgsIHk6IDg1LjI3MTMxNzgyOTQ1NzM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM0LjI4NTcxNDI4NTcxNDI4NSwgeTogODQuNDk2MTI0MDMxMDA3NzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzMuMzMzMzMzMzMzMzMzMzMsIHk6IDgzLjcyMDkzMDIzMjU1ODE1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI4LjA5NTIzODA5NTIzODA5NSwgeTogODIuNzkwNjk3Njc0NDE4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNSwgeTogODMuMTAwNzc1MTkzNzk4NDYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjAsIHk6IDgyLjc5MDY5NzY3NDQxODYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTguNTcxNDI4NTcxNDI4NTczLCB5OiA4Mi42MzU2NTg5MTQ3Mjg2OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNy4xNDI4NTcxNDI4NTcxNDIsIHk6IDgyLjMyNTU4MTM5NTM0ODgzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiYjFjODIwNjUtZTE2ZS00MzllLTg5MGUtNGFiYWU2MzU3YzFhIiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICJDaGluYSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJwb2x5IiwKICAgICAgICAgICAgICAgICAgICAgICAgeDogNjcuMjI0MjA3Mjg2MzgwMTksCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDI5LjU0NTYzNjgwMTc2Mzk2MiwKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2Ljk2ODIyNTk0ODgwODQ2NywKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMC45NDU0NjY3ODk3OTAyNjcsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc3R5bGU6IHsgb3BhY2l0eTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJfc3R5bGU6IHsgYmFja2dyb3VuZF9jb2xvcjogIiNmZWNhMDEiLCBiYWNrZ3JvdW5kX29wYWNpdHk6IDAuNjY3NTU1OTk2ODM3NDE5MSB9LAogICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwX3N0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRfY29sb3I6ICIjZmZmZmZmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b193aWR0aDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBfY29udGVudDogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJIZWFkaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAiQ2hpbmEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmc6ICJoMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAiIiwgY3NzOiAiIiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICJzYW5zLXNlcmlmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDIwLjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICI2ODc3MGM4OC05NDhlLTRjNTEtODk0NS0yODkyNWI5ZjcwMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiUGFyYWdyYXBoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnPGRpdj5cbiAgICA8c3Ryb25nPlJpZ2h0d2F5IEVudmlyb25UZWNoPGJyIC8+PGJyIC8+PC9zdHJvbmc+XG48L2Rpdj5cbjxkaXY+PC9kaXY+XG48ZGl2PlxuICAgIDxkaXY+QnVpbGRpbmcgMywgU3VpdGUgUDUyMzwvZGl2PlxuICAgIDxkaXY+MTIgTW96aG91IEVhc3QgUm9hZDwvZGl2PlxuICAgIDxkaXY+SmlhbmduaW5nIERpc3QsIE5hbmppbmc8L2Rpdj5cbiAgICA8ZGl2PlAuUi4gQ2hpbmEsIDIxMTExMTwvZGl2PlxuICAgIDxkaXY+RW1haWw8c3Ryb25nPjogPGEgaHJlZj0ibWFpbHRvOnNocmlnaHR3YXlAMTYzLmNvbSI+c2hyaWdodHdheUAxNjMuY29tPC9zdHJvbmc+PC9hPjwvZGl2PlxuICAgIDxkaXY+UGhvbmU6IDxhIGhyZWY9InRlbDorODYyNTUyMTY3MTgwIj4rICg4NikgMjUtNTIxNjcxODA8L2E+PC9kaXY+XG4gICAgPGRpdj48L2Rpdj5cbiAgICA8ZGl2PjxhIGhyZWY9InRlbDorODYxODA2MTYzMDk4MyI+KyAoODYpIDE4MDYxNjMwOTgzPC9hPjwvZGl2PlxuICAgIDxkaXY+V2Vic2l0ZTxzdHJvbmc+OiA8YSBocmVmPSJodHRwczovL3d3dy5zaGx3aGIuY29tIiB0YXJnZXQ9Il9ibGFuayI+d3d3LnNobHdoYi5jb208L2E+PC9zdHJvbmc+PC9kaXY+XG48L2Rpdj5cbjxkaXY+PC9kaXY+JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcjogeyBpZDogIiIsIGNsYXNzZXM6ICIiLCBjc3M6ICIiIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogInNhbnMtc2VyaWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogMTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDIyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICJlYTIwMmY3ZC1kODZlLTQ3MmQtYTY3Yy02OWZmOTMwNjU3MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgeF9pbWFnZV9iYWNrZ3JvdW5kOiA2Ny4yMjQyMDcyODYzODAxOSwKICAgICAgICAgICAgICAgICAgICAgICAgeV9pbWFnZV9iYWNrZ3JvdW5kOiAyOS41NDU2MzY4MDE3NjM5NjIsCiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50czogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxLjQzMDQyOTEyODczODYyMTUsIHk6IDQ4Ljg2MTI4MzY0Mzg5MjM0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDAsIHk6IDQ3LjQxMjAwODI4MTU3MzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMS44MjA1NDYxNjM4NDkxNTQ3LCB5OiA0NS4xMzQ1NzU1NjkzNTgxOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyLjk5MDg5NzI2OTE4MDc1NCwgeTogNDMuODkyMzM5NTQ0NTEzNDYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMy43NzExMzEzMzk0MDE4MjA0LCB5OiA0My44OTIzMzk1NDQ1MTM0NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1LjA3MTUyMTQ1NjQzNjkzMSwgeTogNDIuODU3MTQyODU3MTQyODU0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYuNzYyMDI4NjA4NTgyNTc1LCB5OiA0Mi4wMjg5ODU1MDcyNDYzNzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOS4yMzI3Njk4MzA5NDkyODYsIHk6IDQwLjE2NTYzMTQ2OTk3OTI5NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMC43OTMyMzc5NzEzOTE0MTcsIHk6IDM4LjkyMzM5NTQ0NTEzNDU3NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMC41MzMxNTk5NDc5ODQzOTYsIHk6IDM3LjY4MTE1OTQyMDI4OTg2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDExLjE4MzM1NTAwNjUwMTk1MiwgeTogMzYuNDM4OTIzMzk1NDQ1MTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTEuNDQzNDMzMDI5OTA4OTcyLCB5OiAzMy45NTQ0NTEzNDU3NTU2OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMC43OTMyMzc5NzEzOTE0MTcsIHk6IDMxLjI2MjkzOTk1ODU5MjEzNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMC41MzMxNTk5NDc5ODQzOTYsIHk6IDMwLjIyNzc0MzI3MTIyMTUzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEyLjM1MzcwNjExMTgzMzU1LCB5OiAyOC45ODU1MDcyNDYzNzY4MTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuNjU0MDk2MjI4ODY4NjYyLCB5OiAyOC4zNjQzODkyMzM5NTQ0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNC42OTQ0MDgzMjI0OTY3NDksIHk6IDI3LjEyMjE1MzIwOTEwOTczIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE0LjgyNDQ0NzMzNDIwMDI2MSwgeTogMjQuMjIzNjAyNDg0NDcyMDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTUuMDg0NTI1MzU3NjA3MjgyLCB5OiAyMi43NzQzMjcxMjIxNTMyMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNi4yNTQ4NzY0NjI5Mzg4OCwgeTogMjIuNTY3Mjg3Nzg0Njc5MDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTcuNjg1MzA1NTkxNjc3NSwgeTogMjMuMTg4NDA1Nzk3MTAxNDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTguNDY1NTM5NjYxODk4NTcsIHk6IDIzLjE4ODQwNTc5NzEwMTQ1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE5LjYzNTg5MDc2NzIzMDE3LCB5OiAyMi4xNTMyMDkxMDk3MzA4NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS43NjU5Mjk3Nzg5MzM2ODIsIHk6IDIwLjQ5Njg5NDQwOTkzNzg4NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS43NjU5Mjk3Nzg5MzM2ODIsIHk6IDE4Ljg0MDU3OTcxMDE0NDkzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIwLjgwNjI0MTg3MjU2MTc2NywgeTogMTcuMzkxMzA0MzQ3ODI2MDg2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIyLjEwNjYzMTk4OTU5Njg3NywgeTogMTUuNzM0OTg5NjQ4MDMzMTI2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIzLjI3Njk4MzA5NDkyODQ4LCB5OiAxNi43NzAxODYzMzU0MDM3MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMy45MjcxNzgxNTM0NDYwMzIsIHk6IDE4LjAxMjQyMjM2MDI0ODQ0NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNC41NzczNzMyMTE5NjM1OSwgeTogMTkuMDQ3NjE5MDQ3NjE5MDQ3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI1LjYxNzY4NTMwNTU5MTY3NCwgeTogMTkuNDYxNjk3NzIyNTY3Mjg3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI2LjM5NzkxOTM3NTgxMjc0NCwgeTogMjAuMDgyODE1NzM0OTg5NjQ4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI3LjE3ODE1MzQ0NjAzMzgxLCB5OiAyMC43MDM5MzM3NDc0MTIwMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNy44MjgzNDg1MDQ1NTEzNjQsIHk6IDIyLjM2MDI0ODQ0NzIwNDk3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI4LjIxODQ2NTUzOTY2MTg5NiwgeTogMjMuNjAyNDg0NDcyMDQ5NjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjguMzQ4NTA0NTUxMzY1NDEyLCB5OiAyNS40NjU4Mzg1MDkzMTY3NjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjcuOTU4Mzg3NTE2MjU0ODgsIHk6IDI4LjE1NzM0OTg5NjQ4MDMzMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOS43Nzg5MzM2ODAxMDQwMzIsIHk6IDI5LjE5MjU0NjU4Mzg1MDkzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMxLjU5OTQ3OTg0Mzk1MzE4NywgeTogMjguNTcxNDI4NTcxNDI4NTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzIuNTA5NzUyOTI1ODc3NzYsIHk6IDI5LjM5OTU4NTkyMTMyNTA1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMzLjU1MDA2NTAxOTUwNTg1LCB5OiAzMC44NDg4NjEyODM2NDM4OTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzUuMTEwNTMzMTU5OTQ3OTg0LCB5OiAzMS42NzcwMTg2MzM1NDAzNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNi4wMjA4MDYyNDE4NzI1NiwgeTogMzMuMzMzMzMzMzMzMzMzMzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzYuNTQwOTYyMjg4Njg2NjEsIHk6IDM0Ljk4OTY0ODAzMzEyNjI5NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNi45MzEwNzkzMjM3OTcxNCwgeTogMzYuMjMxODg0MDU3OTcxMDE2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM4Ljc1MTYyNTQ4NzY0NjI5NCwgeTogMzYuMjMxODg0MDU3OTcxMDE2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQwLjU3MjE3MTY1MTQ5NTQ0NSwgeTogMzYuNjQ1OTYyNzMyOTE5MjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDMuMDQyOTEyODczODYyMTYsIHk6IDM2LjIzMTg4NDA1Nzk3MTAxNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NS4yNTM1NzYwNzI4MjE4NCwgeTogMzYuNDM4OTIzMzk1NDQ1MTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguMjQ0NDczMzQyMDAyNiwgeTogMzguMDk1MjM4MDk1MjM4MDk1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ5LjY3NDkwMjQ3MDc0MTIyLCB5OiAzOS41NDQ1MTM0NTc1NTY5MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MS43NTU1MjY2NTc5OTc0LCB5OiAzOS4zMzc0NzQxMjAwODI4MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1My43MDYxMTE4MzM1NTAwNiwgeTogMzcuODg4MTk4NzU3NzYzOTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTYuMTc2ODUzMDU1OTE2NzcsIHk6IDM3LjQ3NDEyMDA4MjgxNTc0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU4LjEyNzQzODIzMTQ2OTQ0LCB5OiAzNy40NzQxMjAwODI4MTU3NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2MC4wNzgwMjM0MDcwMjIxMSwgeTogMzYuNjQ1OTYyNzMyOTE5MjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjIuMTU4NjQ3NTk0Mjc4Mjg1LCB5OiAzNC4zNjg1MzAwMjA3MDM5MzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjIuMjg4Njg2NjA1OTgxNzk1LCB5OiAzMS44ODQwNTc5NzEwMTQ0OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2MS44OTg1Njk1NzA4NzEyNywgeTogMzAuMjI3NzQzMjcxMjIxNTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjMuMTk4OTU5Njg3OTA2Mzc0LCB5OiAyOS4xOTI1NDY1ODM4NTA5MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NC4zNjkzMTA3OTMyMzc5NywgeTogMjkuMTkyNTQ2NTgzODUwOTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjUuNDA5NjIyODg2ODY2MDYsIHk6IDI5LjgxMzY2NDU5NjI3MzI5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY2Ljk3MDA5MTAyNzMwODE5LCB5OiAyOS4xOTI1NDY1ODM4NTA5MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OC4wMTA0MDMxMjA5MzYyNywgeTogMjguMTU3MzQ5ODk2NDgwMzMzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY5LjU3MDg3MTI2MTM3ODQxLCB5OiAyNy4zMjkxOTI1NDY1ODM4NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MC42MTExODMzNTUwMDY1LCB5OiAyNS40NjU4Mzg1MDkzMTY3NjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzIuMzAxNjkwNTA3MTUyMTQsIHk6IDI0LjIyMzYwMjQ4NDQ3MjA1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc0Ljc3MjQzMTcyOTUxODg2LCB5OiAyMy4zOTU0NDUxMzQ1NzU1NjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzUuMjkyNTg3Nzc2MzMyOSwgeTogMjIuMTUzMjA5MTA5NzMwODUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzMuNDcyMDQxNjEyNDgzNzQsIHk6IDIwLjI4OTg1NTA3MjQ2Mzc3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcxLjc4MTUzNDQ2MDMzODExLCB5OiAxOS42Njg3MzcwNjAwNDE0MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MC4yMjEwNjYzMTk4OTU5NywgeTogMjAuNDk2ODk0NDA5OTM3ODg3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY5LjMxMDc5MzIzNzk3MTQsIHk6IDIwLjcwMzkzMzc0NzQxMjAxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY4Ljc5MDYzNzE5MTE1NzM0LCB5OiAxOS4wNDc2MTkwNDc2MTkwNDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjkuOTYwOTg4Mjk2NDg4OTUsIHk6IDE1LjMyMDkxMDk3MzA4NDg4NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MC4zNTExMDUzMzE1OTk0OCwgeTogMTQuMDc4Njc0OTQ4MjQwMTY3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcxLjM5MTQxNzQyNTIyNzU2LCB5OiAxMy44NzE2MzU2MTA3NjYwNDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzIuNDMxNzI5NTE4ODU1NjYsIHk6IDEzLjg3MTYzNTYxMDc2NjA0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NC4yNTIyNzU2ODI3MDQ4MiwgeTogMTIuNjI5Mzk5NTg1OTIxMzI1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc1LjE2MjU0ODc2NDYyOTM5LCB5OiAxMS4zODcxNjM1NjEwNzY2MDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzUuNTUyNjY1Nzk5NzM5OTMsIHk6IDguNjk1NjUyMTczOTEzMDQzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc2LjQ2MjkzODg4MTY2NDUsIHk6IDYuODMyMjk4MTM2NjQ1OTYzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc2LjQ2MjkzODg4MTY2NDUsIHk6IDQuNTU0ODY1NDI0NDMwNjQxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc1Ljk0Mjc4MjgzNDg1MDQ1LCB5OiAzLjcyNjcwODA3NDUzNDE2MTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzguMDIzNDA3MDIyMTA2NjIsIHk6IDEuMjQyMjM2MDI0ODQ0NzIwNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OS41ODM4NzUxNjI1NDg3NiwgeTogMC44MjgxNTczNDk4OTY0ODA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgxLjAxNDMwNDI5MTI4NzM5LCB5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgyLjcwNDgxMTQ0MzQzMzAzLCB5OiAwLjYyMTExODAxMjQyMjM2MDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODQuMjY1Mjc5NTgzODc1MTcsIHk6IDEuNjU2MzE0Njk5NzkyOTYwOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4NC45MTU0NzQ2NDIzOTI3MiwgeTogMi44OTg1NTA3MjQ2Mzc2ODEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODYuMjE1ODY0NzU5NDI3ODMsIHk6IDQuOTY4OTQ0MDk5Mzc4ODgyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg3LjEyNjEzNzg0MTM1MjQsIHk6IDcuNDUzNDE2MTQ5MDY4MzIzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg3LjUxNjI1NDg3NjQ2Mjk0LCB5OiA5LjUyMzgwOTUyMzgwOTUyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ny42NDYyOTM4ODgxNjY0NSwgeTogMTEuNTk0MjAyODk4NTUwNzI1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg3LjkwNjM3MTkxMTU3MzQ3LCB5OiAxMy4wNDM0NzgyNjA4Njk1NjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODguMjk2NDg4OTQ2Njg0MDEsIHk6IDE0LjA3ODY3NDk0ODI0MDE2NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OS40NjY4NDAwNTIwMTU2MSwgeTogMTMuNjY0NTk2MjczMjkxOTI1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkxLjQxNzQyNTIyNzU2ODI3LCB5OiAxNC4yODU3MTQyODU3MTQyODUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTIuNTg3Nzc2MzMyODk5ODgsIHk6IDE1Ljk0MjAyODk4NTUwNzI0NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5My4yMzc5NzEzOTE0MTc0MywgeTogMTcuODA1MzgzMDIyNzc0MzI1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkzLjIzNzk3MTM5MTQxNzQzLCB5OiAxOS42Njg3MzcwNjAwNDE0MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NC4wMTgyMDU0NjE2Mzg0OSwgeTogMjAuMjg5ODU1MDcyNDYzNzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTUuMzE4NTk1NTc4NjczNjEsIHk6IDIwLjI4OTg1NTA3MjQ2Mzc3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk2LjM1ODkwNzY3MjMwMTY4LCB5OiAxOS4yNTQ2NTgzODUwOTMxNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Ny45MTkzNzU4MTI3NDM4MiwgeTogMTkuMjU0NjU4Mzg1MDkzMTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTkuMjE5NzY1OTI5Nzc4OTMsIHk6IDE4LjQyNjUwMTAzNTE5NjY4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMDAsIHk6IDE4LjYzMzU0MDM3MjY3MDgwOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OC45NTk2ODc5MDYzNzE5MSwgeTogMjEuNTMyMDkxMDk3MzA4NDg4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk4Ljk1OTY4NzkwNjM3MTkxLCB5OiAyMy42MDI0ODQ0NzIwNDk2OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OC40Mzk1MzE4NTk1NTc4NywgeTogMjUuODc5OTE3MTg0MjY1MDEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTcuNzg5MzM2ODAxMDQwMzIsIHk6IDI3Ljc0MzI3MTIyMTUzMjA5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk3LjAwOTEwMjczMDgxOTI0LCB5OiAyOC43Nzg0Njc5MDg5MDI2OTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTUuNTc4NjczNjAyMDgwNjMsIHk6IDI4LjE1NzM0OTg5NjQ4MDMzMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NS4zMTg1OTU1Nzg2NzM2MSwgeTogMzAuMDIwNzAzOTMzNzQ3NDEzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk0Ljc5ODQzOTUzMTg1OTU2LCB5OiAzMS4yNjI5Mzk5NTg1OTIxMzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTQuNzk4NDM5NTMxODU5NTYsIHk6IDMyLjkxOTI1NDY1ODM4NTA5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk0LjE0ODI0NDQ3MzM0MiwgeTogMzQuNTc1NTY5MzU4MTc4MDYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTQuMTQ4MjQ0NDczMzQyLCB5OiAzNS40MDM3MjY3MDgwNzQ1NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Mi43MTc4MTUzNDQ2MDMzOCwgeTogMzUuNjEwNzY2MDQ1NTQ4NjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTIuMTk3NjU5Mjk3Nzg5MzMsIHk6IDM2LjIzMTg4NDA1Nzk3MTAxNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5MC4yNDcwNzQxMjIyMzY2NywgeTogMzguMzAyMjc3NDMyNzEyMjE2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg5LjcyNjkxODA3NTQyMjYyLCB5OiAzOS43NTE1NTI3OTUwMzEwNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OC42ODY2MDU5ODE3OTQ1NCwgeTogNDAuNTc5NzEwMTQ0OTI3NTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODcuNzc2MzMyODk5ODY5OTYsIHk6IDM5LjMzNzQ3NDEyMDA4MjgyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg2Ljg2NjA1OTgxNzk0NTM4LCB5OiAzOS45NTg1OTIxMzI1MDUxNzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODYuMDg1ODI1NzQ3NzI0MzEsIHk6IDQxLjYxNDkwNjgzMjI5ODE0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg1LjY5NTcwODcxMjYxMzc4LCB5OiA0Mi4wMjg5ODU1MDcyNDYzNzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODMuNDg1MDQ1NTEzNjU0MSwgeTogNDMuMDY0MTgyMTk0NjE2OTc2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgyLjU3NDc3MjQzMTcyOTUxLCB5OiA0NC4zMDY0MTgyMTk0NjE3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgxLjAxNDMwNDI5MTI4NzM5LCB5OiA0NS41NDg2NTQyNDQzMDY0MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OS40NTM4MzYxNTA4NDUyNiwgeTogNDYuOTk3OTI5NjA2NjI1MjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzguODAzNjQxMDkyMzI3NzEsIHk6IDQ3LjQxMjAwODI4MTU3MzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzguMjgzNDg1MDQ1NTEzNjYsIHk6IDQ3LjQxMjAwODI4MTU3MzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzguMDIzNDA3MDIyMTA2NjIsIHk6IDQ2Ljk5NzkyOTYwNjYyNTI2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc5LjA2MzcxOTExNTczNDczLCB5OiA0NC4wOTkzNzg4ODE5ODc1NzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzkuMzIzNzk3MTM5MTQxNzMsIHk6IDQyLjIzNjAyNDg0NDcyMDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzguMTUzNDQ2MDMzODEwMTQsIHk6IDQyLjAyODk4NTUwNzI0NjM3NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ny41MDMyNTA5NzUyOTI1OSwgeTogNDMuNDc4MjYwODY5NTY1MjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzYuMjAyODYwODU4MjU3NDgsIHk6IDQ0LjMwNjQxODIxOTQ2MTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzUuMjkyNTg3Nzc2MzMyOSwgeTogNDUuMTM0NTc1NTY5MzU4MTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzQuMTIyMjM2NjcxMDAxMjksIHk6IDQ2LjE2OTc3MjI1NjcyODc4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcyLjk1MTg4NTU2NTY2OTcsIHk6IDQ2Ljk5NzkyOTYwNjYyNTI2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcyLjA0MTYxMjQ4Mzc0NTEzLCB5OiA0Ny42MTkwNDc2MTkwNDc2MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Mi4xNzE2NTE0OTU0NDg2MywgeTogNDguNjU0MjQ0MzA2NDE4MjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzMuMzQyMDAyNjAwNzgwMjMsIHk6IDQ5LjQ4MjQwMTY1NjMxNDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzQuNjQyMzkyNzE3ODE1MzQsIHk6IDQ5Ljg5NjQ4MDMzMTI2MjkzNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NS44MTI3NDM4MjMxNDY5NSwgeTogNTAuMTAzNTE5NjY4NzM3MDY0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc2LjU5Mjk3Nzg5MzM2ODAyLCB5OiA1MS4xMzg3MTYzNTYxMDc2NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ny44OTMzNjgwMTA0MDMxMiwgeTogNTEuNzU5ODM0MzY4NTMwMDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzkuMzIzNzk3MTM5MTQxNzMsIHk6IDUyLjM4MDk1MjM4MDk1MjM5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc5LjcxMzkxNDE3NDI1MjI4LCB5OiA1My4wMDIwNzAzOTMzNzQ3NDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzkuNTgzODc1MTYyNTQ4NzYsIHk6IDUzLjgzMDIyNzc0MzI3MTIyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc4LjU0MzU2MzA2ODkyMDY4LCB5OiA1NC40NTEzNDU3NTU2OTM1OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ny41MDMyNTA5NzUyOTI1OSwgeTogNTUuMjc5NTAzMTA1NTkwMDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzYuMjAyODYwODU4MjU3NDgsIHk6IDU2LjMxNDY5OTc5Mjk2MDY3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc1LjQyMjYyNjc4ODAzNjQxLCB5OiA1Ny4zNDk4OTY0ODAzMzEyNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NC42NDIzOTI3MTc4MTUzNCwgeTogNTguNTkyMTMyNTA1MTc1OTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzUuNjgyNzA0ODExNDQzNDMsIHk6IDYwLjI0ODQ0NzIwNDk2ODk1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc2LjQ2MjkzODg4MTY2NDUsIHk6IDYxLjkwNDc2MTkwNDc2MTkwNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ni45ODMwOTQ5Mjg0Nzg1NSwgeTogNjQuMzg5MjMzOTU0NDUxMzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzcuNTAzMjUwOTc1MjkyNTksIHk6IDY2LjA0NTU0ODY1NDI0NDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzguMDIzNDA3MDIyMTA2NjIsIHk6IDY3LjQ5NDgyNDAxNjU2MzE0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc4LjY3MzYwMjA4MDYyNDE4LCB5OiA2OS43NzIyNTY3Mjg3Nzg0NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OC45MzM2ODAxMDQwMzEyMSwgeTogNzEuNjM1NjEwNzY2MDQ1NTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzkuMTkzNzU4MTI3NDM4MjMsIHk6IDczLjI5MTkyNTQ2NTgzODUyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc4LjI4MzQ4NTA0NTUxMzY2LCB5OiA3OC44ODE5ODc1Nzc2Mzk3NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ni41OTI5Nzc4OTMzNjgwMiwgeTogODEuNzgwNTM4MzAyMjc3NDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzYuMDcyODIxODQ2NTUzOTYsIHk6IDg0LjI2NTAxMDM1MTk2Njg4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc1LjAzMjUwOTc1MjkyNTg4LCB5OiA4Ni43NDk0ODI0MDE2NTYzMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3My45OTIxOTc2NTkyOTc3OSwgeTogODkuMDI2OTE1MTEzODcxNjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzIuMDQxNjEyNDgzNzQ1MTMsIHk6IDkxLjA5NzMwODQ4ODYxMjg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcwLjIyMTA2NjMxOTg5NTk3LCB5OiA5Mi43NTM2MjMxODg0MDU4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY4LjQwMDUyMDE1NjA0NjgyLCB5OiA5My45OTU4NTkyMTMyNTA1MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni45NzAwOTEwMjczMDgxOSwgeTogOTUuMDMxMDU1OTAwNjIxMTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjUuNzk5NzM5OTIxOTc2NiwgeTogOTUuMDMxMDU1OTAwNjIxMTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjQuNjI5Mzg4ODE2NjQ0OTksIHk6IDkzLjU4MTc4MDUzODMwMjI3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY0LjYyOTM4ODgxNjY0NDk5LCB5OiA5NS42NTIxNzM5MTMwNDM0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Mi44MDg4NDI2NTI3OTU4NCwgeTogOTYuMjczMjkxOTI1NDY1ODQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjEuMjQ4Mzc0NTEyMzUzNzA2LCB5OiA5Ny4zMDg0ODg2MTI4MzY0NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OS40Mjc4MjgzNDg1MDQ1NTUsIHk6IDk3LjcyMjU2NzI4Nzc4NDY4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjA3ODAyMzQwNzAyMjExLCB5OiAxMDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTkuMTY3NzUwMzI1MDk3NTM2LCB5OiA5OS4zNzg4ODE5ODc1Nzc2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ny43MzczMjExOTYzNTg5MDYsIHk6IDk4LjEzNjY0NTk2MjczMjkxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU2LjMwNjg5MjA2NzYyMDI4LCB5OiA5Ny45Mjk2MDY2MjUyNTg4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU0Ljc0NjQyMzkyNzE3ODE2LCB5OiA5Ni44OTQ0MDk5Mzc4ODgyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU0LjA5NjIyODg2ODY2MDYsIHk6IDk1LjQ0NTEzNDU3NTU2OTM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUzLjU3NjA3MjgyMTg0NjU1LCB5OiA5My43ODg4MTk4NzU3NzY0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjAxNTYwNDY4MTQwNDQyNiwgeTogOTIuNTQ2NTgzODUwOTMxNjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTAuODQ1MjUzNTc2MDcyODIsIHk6IDkzLjU4MTc4MDUzODMwMjI3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUwLjA2NTAxOTUwNTg1MTc2LCB5OiA5NC4yMDI4OTg1NTA3MjQ2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OC4yNDQ0NzMzNDIwMDI2LCB5OiA5NC44MjQwMTY1NjMxNDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDcuMjA0MTYxMjQ4Mzc0NTEsIHk6IDk0LjgyNDAxNjU2MzE0NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ni4wMzM4MTAxNDMwNDI5MSwgeTogOTUuNjUyMTczOTEzMDQzNDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDUuNTEzNjU0MDk2MjI4ODcsIHk6IDk3LjEwMTQ0OTI3NTM2MjMxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ1LjUxMzY1NDA5NjIyODg3LCB5OiA5Ny45Mjk2MDY2MjUyNTg4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ0Ljk5MzQ5ODA0OTQxNDgyNSwgeTogOTcuOTI5NjA2NjI1MjU4OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0My45NTMxODU5NTU3ODY3MzYsIHk6IDk3LjMwODQ4ODYxMjgzNjQ0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQzLjY5MzEwNzkzMjM3OTcyLCB5OiA5Ni40ODAzMzEyNjI5Mzk5NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Mi4zOTI3MTc4MTUzNDQ2MDQsIHk6IDk1LjIzODA5NTIzODA5NTIzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQyLjAwMjYwMDc4MDIzNDA3NiwgeTogOTMuNzg4ODE5ODc1Nzc2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MS40ODI0NDQ3MzM0MjAwMjQsIHk6IDkyLjMzOTU0NDUxMzQ1NzU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQwLjk2MjI4ODY4NjYwNTk4LCB5OiA5MS4wOTczMDg0ODg2MTI4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MC4xODIwNTQ2MTYzODQ5MiwgeTogOTEuMDk3MzA4NDg4NjEyODQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzkuNjYxODk4NTY5NTcwODY2LCB5OiA4OS42NDgwMzMxMjYyOTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDAuNTcyMTcxNjUxNDk1NDQ1LCB5OiA4Ny41Nzc2Mzk3NTE1NTI4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQxLjIyMjM2NjcxMDAxMzAwNiwgeTogODUuNTA3MjQ2Mzc2ODExNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MS4wOTIzMjc2OTgzMDk1LCB5OiA4My44NTA5MzE2NzcwMTg2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MC41NzIxNzE2NTE0OTU0NDUsIHk6IDgxLjc4MDUzODMwMjI3NzQyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQwLjE4MjA1NDYxNjM4NDkyLCB5OiA3OS45MTcxODQyNjUwMTAzNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOS41MzE4NTk1NTc4NjczNjQsIHk6IDc5LjI5NjA2NjI1MjU4Nzk5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM4LjEwMTQzMDQyOTEyODc0LCB5OiA3OC42NzQ5NDgyNDAxNjU2MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNy4wNjExMTgzMzU1MDA2NDUsIHk6IDc2LjgxMTU5NDIwMjg5ODU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM2LjQxMDkyMzI3Njk4MzA5LCB5OiA3Ni44MTE1OTQyMDI4OTg1NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNS41MDA2NTAxOTUwNTg1MiwgeTogNzYuODExNTk0MjAyODk4NTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzQuMDcwMjIxMDY2MzE5ODk1LCB5OiA3Ny42Mzk3NTE1NTI3OTUwMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMy4yODk5ODY5OTYwOTg4MywgeTogNzguMDUzODMwMjI3NzQzMjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzEuNzI5NTE4ODU1NjU2Njk2LCB5OiA3OC44ODE5ODc1Nzc2Mzk3NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMC42ODkyMDY3NjIwMjg2MDgsIHk6IDc5LjUwMzEwNTU5MDA2MjEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjkuNjQ4ODk0NjY4NDAwNTIzLCB5OiA4MC4xMjQyMjM2MDI0ODQ0NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOC43Mzg2MjE1ODY0NzU5NDQsIHk6IDgwLjMzMTI2MjkzOTk1ODU5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI3LjQzODIzMTQ2OTQ0MDgzMywgeTogNzkuOTE3MTg0MjY1MDEwMzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjYuNTI3OTU4Mzg3NTE2MjU0LCB5OiA3OS4wODkwMjY5MTUxMTM4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNS40ODc2NDYyOTM4ODgxNjUsIHk6IDc5LjcxMDE0NDkyNzUzNjIzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI1LjQ4NzY0NjI5Mzg4ODE2NSwgeTogNzkuNzEwMTQ0OTI3NTM2MjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjQuMDU3MjE3MTY1MTQ5NTQ1LCB5OiA4MC4xMjQyMjM2MDI0ODQ0NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS42MzU4OTA3NjcyMzAxNywgeTogODAuMTI0MjIzNjAyNDg0NDYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTcuMjk1MTg4NTU2NTY2OTcsIHk6IDc4LjA1MzgzMDIyNzc0MzI4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE1Ljg2NDc1OTQyNzgyODM0OCwgeTogNzYuMTkwNDc2MTkwNDc2MTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuOTE0MTc0MjUyMjc1NjgyLCB5OiA3My45MTMwNDM0NzgyNjA4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMi44NzM4NjIxNTg2NDc1OTUsIHk6IDczLjA4NDg4NjEyODM2NDM5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDExLjMxMzM5NDAxODIwNTQ2LCB5OiA3Mi44Nzc4NDY3OTA4OTAyNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5LjM2MjgwODg0MjY1Mjc5NywgeTogNzIuMDQ5Njg5NDQwOTkzNzkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC4zMjI0OTY3NDkwMjQ3MDgsIHk6IDY5Ljk3OTI5NjA2NjI1MjU5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDguMTkyNDU3NzM3MzIxMTk1LCB5OiA2Ny45MDg5MDI2OTE1MTEzOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5LjM2MjgwODg0MjY1Mjc5NywgeTogNjYuNDU5NjI3MzI5MTkyNTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC44NDI2NTI3OTU4Mzg3NSwgeTogNjQuNTk2MjczMjkxOTI1NDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC4xOTI0NTc3MzczMjExOTUsIHk6IDYxLjY5NzcyMjU2NzI4Nzc4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3LjQxMjIyMzY2NzEwMDEzMSwgeTogNjAuMjQ4NDQ3MjA0OTY4OTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNi42MzE5ODk1OTY4NzkwNjMsIHk6IDU4LjE3ODA1MzgzMDIyNzc0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUuMDcxNTIxNDU2NDM2OTMxLCB5OiA1Ny45NzEwMTQ0OTI3NTM2MjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNC4wMzEyMDkzNjI4MDg4NDMsIHk6IDU1LjY5MzU4MTc4MDUzODMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMy4xMjA5MzYyODA4ODQyNjU2LCB5OiA1NC4yNDQzMDY0MTgyMTk0NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxLjgyMDU0NjE2Mzg0OTE1NDcsIHk6IDUzLjYyMzE4ODQwNTc5NzExIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEuNTYwNDY4MTQwNDQyMTMyOCwgeTogNTIuNTg3OTkxNzE4NDI2NDk0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEuODIwNTQ2MTYzODQ5MTU0NywgeTogNTAuNzI0NjM3NjgxMTU5NDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICJiODNhYmM4MS0wNWUxLTQ3NjUtYWQzMS0wNDAyZGJlZDZiNzgiLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogIkF1c3RyYWxpYS9OZXcgWmVhbGFuZCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJwb2x5IiwKICAgICAgICAgICAgICAgICAgICAgICAgeDogNzguNDk0MTc5MTk2MjAyMDEsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDY4LjE5NzQ3NDIyNjExMTc0LAogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTEuMTQyOTgzMjMwMzYxODY0LAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2LjEzMTkxMjMxMDE0OTAzMywKICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdF9zdHlsZTogeyBvcGFjaXR5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlb3Zlcl9zdHlsZTogeyBiYWNrZ3JvdW5kX2NvbG9yOiAiI2ZlY2EwMSIsIGJhY2tncm91bmRfb3BhY2l0eTogMC42Njc1NTU5OTY4Mzc0MTkxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBfc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZF9jb2xvcjogIiNmZmZmZmYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvX3dpZHRoOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcF9jb250ZW50OiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogIkhlYWRpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICJBdXN0cmFsaWEvTmV3IFplYWxhbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmc6ICJoMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAiIiwgY3NzOiAiIiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICJzYW5zLXNlcmlmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDIwLjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICI2ODc3MGM4OC05NDhlLTRjNTEtODk0NS0yODkyNWI5ZjcwMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiUGFyYWdyYXBoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnPGRpdj5cbiAgICA8c3Ryb25nPlBNJmFtcDtQIEdyb3VwIEx0ZDxiciAvPjxiciAvPjwvc3Ryb25nPlxuPC9kaXY+XG48ZGl2PjwvZGl2PlxuPGRpdj5cbiAgICA8ZGl2PlAuTy4gQm94IDE0NTwvZGl2PlxuICAgIDxkaXY+TW9vcmViYW5rLCBOU1cgMTg3NTwvZGl2PlxuICAgIDxkaXY+QXVzdHJhbGlhPC9kaXY+XG4gICAgPGRpdj5BdHRuOiBSb2IgWnVjaGVsbGk8L2Rpdj5cbiAgICA8ZGl2PkVtYWlsOiA8Yj48YSBocmVmPSJtYWlsdG86cG1wZ3JvdXBAYmlncG9uZC5uZXQuYXUiPnBtcGdyb3VwQGJpZ3BvbmQubmV0LmF1PC9hPjwvYj48L2Rpdj5cbiAgICA8ZGl2PlBob25lOiA8YSBocmVmPSJ0ZWw6KzYxMjk4MjEyMDAxIj4rICg2MSkgMi05ODItMTIwMDE8L2E+LCA8YSBocmVmPSJ0ZWw6KzYxMjk4MjEyMDAyIj4rICg2MSkgMi05ODItMTIwMDI8L2E+PC9kaXY+XG4gICAgPGRpdj5GYXg6IDxhIGhyZWY9InRlbDorNjEyOTgyMTIwMDIiPisgKDYxKSAyLTk4Mi0xMjAwMjwvYT48L2Rpdj5cbjwvZGl2PlxuPGRpdj48YnIgLz48L2Rpdj4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyOiB7IGlkOiAiIiwgY2xhc3NlczogIiIsIGNzczogIiIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAic2Fucy1zZXJpZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAxNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogMjIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAiIzAwMDAwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogImxlZnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94TW9kZWw6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogeyB0b3A6IDEwLCBib3R0b206IDEwLCBsZWZ0OiAxMCwgcmlnaHQ6IDEwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogImVhMjAyZjdkLWQ4NmUtNDcyZC1hNjdjLTY5ZmY5MzA2NTcyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICB4X2ltYWdlX2JhY2tncm91bmQ6IDc4LjQ5NDE3OTE5NjIwMjAxLAogICAgICAgICAgICAgICAgICAgICAgICB5X2ltYWdlX2JhY2tncm91bmQ6IDY4LjE5NzQ3NDIyNjExMTc0LAogICAgICAgICAgICAgICAgICAgICAgICBwb2ludHM6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNC4xNTg0MTU4NDE1ODQxNTksIHk6IDgxLjk4OTI0NzMxMTgyNzk3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUuNTQ0NTU0NDU1NDQ1NTQ1LCB5OiA3OC43NjM0NDA4NjAyMTUwNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ljc1MjQ3NTI0NzUyNDc1MiwgeTogNzIuMDQzMDEwNzUyNjg4MTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMy4xNjgzMTY4MzE2ODMxNjg1LCB5OiA2OC4yNzk1Njk4OTI0NzMxMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxLjc4MjE3ODIxNzgyMTc4MiwgeTogNjAuMjE1MDUzNzYzNDQwODY0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDAuNTk0MDU5NDA1OTQwNTk0LCB5OiA1NS4xMDc1MjY4ODE3MjA0MjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMi41NzQyNTc0MjU3NDI1NzQzLCB5OiA1NS4xMDc1MjY4ODE3MjA0MjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMC4xOTgwMTk4MDE5ODAxOTgwMywgeTogNDcuODQ5NDYyMzY1NTkxNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAwLCB5OiA0Mi43NDE5MzU0ODM4NzA5NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxLjM4NjEzODYxMzg2MTM4NjMsIHk6IDM5LjI0NzMxMTgyNzk1Njk4NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1LjU0NDU1NDQ1NTQ0NTU0NSwgeTogMzYuODI3OTU2OTg5MjQ3MzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC4xMTg4MTE4ODExODgxMTksIHk6IDM0LjQwODYwMjE1MDUzNzY0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEzLjY2MzM2NjMzNjYzMzY2NSwgeTogMzIuNTI2ODgxNzIwNDMwMTA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE3LjgyMTc4MjE3ODIxNzgyLCB5OiAzMC45MTM5Nzg0OTQ2MjM2NTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjAuOTkwMDk5MDA5OTAwOTksIHk6IDI1LjgwNjQ1MTYxMjkwMzIyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMS43ODIxNzgyMTc4MjE3ODQsIHk6IDIzLjExODI3OTU2OTg5MjQ3MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMy4zNjYzMzY2MzM2NjMzNywgeTogMjAuNDMwMTA3NTI2ODgxNzIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjQuNTU0NDU1NDQ1NTQ0NTU1LCB5OiAyMS41MDUzNzYzNDQwODYwMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNC45NTA0OTUwNDk1MDQ5NSwgeTogMjIuMDQzMDEwNzUyNjg4MTcyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI1LjU0NDU1NDQ1NTQ0NTU0NiwgeTogMjEuMjM2NTU5MTM5Nzg0OTQ4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI0LjU1NDQ1NTQ0NTU0NDU1NSwgeTogMTguODE3MjA0MzAxMDc1MjY4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI2LjMzNjYzMzY2MzM2NjM0LCB5OiAxOC4wMTA3NTI2ODgxNzIwNDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjcuMzI2NzMyNjczMjY3MzMsIHk6IDE2LjY2NjY2NjY2NjY2NjY2NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOS4xMDg5MTA4OTEwODkxMDYsIHk6IDE1LjA1Mzc2MzQ0MDg2MDIxNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMC44OTEwODkxMDg5MTA4OSwgeTogMTMuNDQwODYwMjE1MDUzNzYyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMyLjI3NzIyNzcyMjc3MjI4LCB5OiAxMS41NTkxMzk3ODQ5NDYyMzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzMuMDY5MzA2OTMwNjkzMDc0LCB5OiAxMS4wMjE1MDUzNzYzNDQwODYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzQuODUxNDg1MTQ4NTE0ODUsIHk6IDExLjAyMTUwNTM3NjM0NDA4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNS44NDE1ODQxNTg0MTU4NCwgeTogMTMuNDQwODYwMjE1MDUzNzYyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM3LjQyNTc0MjU3NDI1NzQzLCB5OiAxMy4xNzIwNDMwMTA3NTI2ODggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzkuMjA3OTIwNzkyMDc5MjEsIHk6IDEyLjkwMzIyNTgwNjQ1MTYxMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MS4xODgxMTg4MTE4ODExOSwgeTogMTAuNDgzODcwOTY3NzQxOTM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQxLjk4MDE5ODAxOTgwMTk4LCB5OiA3Ljc5NTY5ODkyNDczMTE4MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NC4xNTg0MTU4NDE1ODQxNiwgeTogNC4zMDEwNzUyNjg4MTcyMDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDcuNzIyNzcyMjc3MjI3NzIsIHk6IDMuNDk0NjIzNjU1OTEzOTc4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ2LjczMjY3MzI2NzMyNjc0LCB5OiAxLjA3NTI2ODgxNzIwNDMwMTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguOTEwODkxMDg5MTA4OTEsIHk6IDEuMDc1MjY4ODE3MjA0MzAxMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MC42OTMwNjkzMDY5MzA2OTUsIHk6IDMuMjI1ODA2NDUxNjEyOTAzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUxLjg4MTE4ODExODgxMTg4NSwgeTogMy4yMjU4MDY0NTE2MTI5MDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTMuMjY3MzI2NzMyNjczMjcsIHk6IDMuMjI1ODA2NDUxNjEyOTAzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU1LjI0NzUyNDc1MjQ3NTI1LCB5OiAzLjc2MzQ0MDg2MDIxNTA1NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ni40MzU2NDM1NjQzNTY0MywgeTogNC4zMDEwNzUyNjg4MTcyMDUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTcuMDI5NzAyOTcwMjk3MDIsIHk6IDMuNzYzNDQwODYwMjE1MDU0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU3LjAyOTcwMjk3MDI5NzAyLCB5OiA2LjE4Mjc5NTY5ODkyNDczMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ni4yMzc2MjM3NjIzNzYyNDUsIHk6IDguMDY0NTE2MTI5MDMyMjU4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU1LjQ0NTU0NDU1NDQ1NTQ1LCB5OiA5LjY3NzQxOTM1NDgzODcxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU1LjI0NzUyNDc1MjQ3NTI1LCB5OiAxMS41NTkxMzk3ODQ5NDYyMzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTUuMjQ3NTI0NzUyNDc1MjUsIHk6IDEzLjcwOTY3NzQxOTM1NDgzOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ni40MzU2NDM1NjQzNTY0MywgeTogMTUuMDUzNzYzNDQwODYwMjE2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU3LjYyMzc2MjM3NjIzNzYyLCB5OiAxNS44NjAyMTUwNTM3NjM0NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OS42MDM5NjAzOTYwMzk2MDQsIHk6IDE3LjQ3MzExODI3OTU2OTg5MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2MS41ODQxNTg0MTU4NDE1ODYsIHk6IDE4LjgxNzIwNDMwMTA3NTI2OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Mi45NzAyOTcwMjk3MDI5NywgeTogMjEuNTA1Mzc2MzQ0MDg2MDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjUuMzQ2NTM0NjUzNDY1MzUsIHk6IDIyLjU4MDY0NTE2MTI5MDMyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY3LjEyODcxMjg3MTI4NzE0LCB5OiAyMi41ODA2NDUxNjEyOTAzMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OS4zMDY5MzA2OTMwNjkzLCB5OiAxOC44MTcyMDQzMDEwNzUyNjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjkuOTAwOTkwMDk5MDA5OSwgeTogMTMuNzA5Njc3NDE5MzU0ODM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY5LjcwMjk3MDI5NzAyOTcsIHk6IDkuOTQ2MjM2NTU5MTM5Nzg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcwLjI5NzAyOTcwMjk3MDI5LCB5OiA3LjI1ODA2NDUxNjEyOTAzMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MC42OTMwNjkzMDY5MzA3LCB5OiA0LjMwMTA3NTI2ODgxNzIwNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MS4yODcxMjg3MTI4NzEyOCwgeTogMS42MTI5MDMyMjU4MDY0NTE1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcxLjg4MTE4ODExODgxMTg4LCB5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc0LjA1OTQwNTk0MDU5NDA2LCB5OiAyLjk1Njk4OTI0NzMxMTgyOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NC4wNTk0MDU5NDA1OTQwNiwgeTogNS45MTM5Nzg0OTQ2MjM2NTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzQuNDU1NDQ1NTQ0NTU0NDUsIHk6IDguMzMzMzMzMzMzMzMzMzMyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc0Ljg1MTQ4NTE0ODUxNDg1LCB5OiAxMC4yMTUwNTM3NjM0NDA4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NS4yNDc1MjQ3NTI0NzUyNCwgeTogMTEuODI3OTU2OTg5MjQ3MzEyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc2LjYzMzY2MzM2NjMzNjYzLCB5OiAxMS44Mjc5NTY5ODkyNDczMTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzcuODIxNzgyMTc4MjE3ODMsIHk6IDEzLjE3MjA0MzAxMDc1MjY4OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OS4wMDk5MDA5OTAwOTkwMSwgeTogMTUuMDUzNzYzNDQwODYwMjE2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc5LjQwNTk0MDU5NDA1OTQyLCB5OiAxNy40NzMxMTgyNzk1Njk4OTIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzkuODAxOTgwMTk4MDE5OCwgeTogMTguODE3MjA0MzAxMDc1MjY4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgwLjU5NDA1OTQwNTk0MDYsIHk6IDIwLjk2Nzc0MTkzNTQ4Mzg3MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS4zODYxMzg2MTM4NjEzOCwgeTogMjIuODQ5NDYyMzY1NTkxMzk2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgxLjM4NjEzODYxMzg2MTM4LCB5OiAyNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS43ODIxNzgyMTc4MjE3OCwgeTogMjcuNjg4MTcyMDQzMDEwNzUyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg0LjU1NDQ1NTQ0NTU0NDU1LCB5OiAyOC40OTQ2MjM2NTU5MTM5OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ni41MzQ2NTM0NjUzNDY1NCwgeTogMzAuOTEzOTc4NDk0NjIzNjU2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg3LjUyNDc1MjQ3NTI0NzUyLCB5OiAzMi43OTU2OTg5MjQ3MzExODQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODguNTE0ODUxNDg1MTQ4NTEsIHk6IDM1LjQ4Mzg3MDk2Nzc0MTkzNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OC45MTA4OTEwODkxMDg5MiwgeTogMzYuMDIxNTA1Mzc2MzQ0MDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODkuNTA0OTUwNDk1MDQ5NTEsIHk6IDM4LjQ0MDg2MDIxNTA1Mzc2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkwLjg5MTA4OTEwODkxMDg5LCB5OiAzOS41MTYxMjkwMzIyNTgwNjQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTMuODYxMzg2MTM4NjEzODUsIHk6IDQyLjQ3MzExODI3OTU2OTg5NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NS4wNDk1MDQ5NTA0OTUwNSwgeTogNDUuNjk4OTI0NzMxMTgyNzkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTcuMjI3NzIyNzcyMjc3MjIsIHk6IDQ4LjExODI3OTU2OTg5MjQ3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk4LjYxMzg2MTM4NjEzODYxLCB5OiA1MC41Mzc2MzQ0MDg2MDIxNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OS4wMDk5MDA5OTAwOTkwMSwgeTogNTIuOTU2OTg5MjQ3MzExODI0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk5LjQwNTk0MDU5NDA1OTQsIHk6IDU2LjQ1MTYxMjkwMzIyNTgxNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMDAsIHk6IDU5Ljk0NjIzNjU1OTEzOTc4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMDAsIHk6IDYyLjYzNDQwODYwMjE1MDUzNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OS4yMDc5MjA3OTIwNzkyMSwgeTogNjUuODYwMjE1MDUzNzYzNDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTkuMjA3OTIwNzkyMDc5MjEsIHk6IDcwLjE2MTI5MDMyMjU4MDY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk2LjgzMTY4MzE2ODMxNjgzLCB5OiA3NS44MDY0NTE2MTI5MDMyMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NS4yNDc1MjQ3NTI0NzUyNCwgeTogNzguMjI1ODA2NDUxNjEyOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NC4wNTk0MDU5NDA1OTQwNSwgeTogODEuNDUxNjEyOTAzMjI1ODEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTIuNDc1MjQ3NTI0NzUyNDgsIHk6IDg3LjkwMzIyNTgwNjQ1MTYyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkxLjA4OTEwODkxMDg5MTEsIHk6IDkxLjM5Nzg0OTQ2MjM2NTU4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkxLjI4NzEyODcxMjg3MTMsIHk6IDk0LjA4NjAyMTUwNTM3NjM1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg5LjkwMDk5MDA5OTAwOTksIHk6IDk2LjUwNTM3NjM0NDA4NjAzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg2LjczMjY3MzI2NzMyNjczLCB5OiA5Ny4wNDMwMTA3NTI2ODgxOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4My43NjIzNzYyMzc2MjM3NiwgeTogOTkuMTkzNTQ4Mzg3MDk2NzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODEuMzg2MTM4NjEzODYxMzgsIHk6IDEwMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3OS4yMDc5MjA3OTIwNzkyMSwgeTogOTcuNTgwNjQ1MTYxMjkwMzIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzguMjE3ODIxNzgyMTc4MjIsIHk6IDk3LjA0MzAxMDc1MjY4ODE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc2LjgzMTY4MzE2ODMxNjgzLCB5OiA5OC4zODcwOTY3NzQxOTM1NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NS44NDE1ODQxNTg0MTU4NCwgeTogMTAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDczLjY2MzM2NjMzNjYzMzY2LCB5OiA5OS43MzExODI3OTU2OTg5MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MC42OTMwNjkzMDY5MzA3LCB5OiA5OS4xOTM1NDgzODcwOTY3NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni43MzI2NzMyNjczMjY3MywgeTogOTguMTE4Mjc5NTY5ODkyNDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjYuNzMyNjczMjY3MzI2NzMsIHk6IDk1Ljk2Nzc0MTkzNTQ4Mzg3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY2LjEzODYxMzg2MTM4NjE1LCB5OiA5NC4zNTQ4Mzg3MDk2Nzc0MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NS43NDI1NzQyNTc0MjU3NCwgeTogOTEuMzk3ODQ5NDYyMzY1NTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjUuMTQ4NTE0ODUxNDg1MTUsIHk6IDg4LjcwOTY3NzQxOTM1NDgzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY0LjM1NjQzNTY0MzU2NDM1LCB5OiA4Ny45MDMyMjU4MDY0NTE2MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2My4xNjgzMTY4MzE2ODMxNywgeTogODguMTcyMDQzMDEwNzUyNjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjIuNTc0MjU3NDI1NzQyNTcsIHk6IDg4Ljk3ODQ5NDYyMzY1NTkyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYxLjU4NDE1ODQxNTg0MTU4NiwgeTogODguMTcyMDQzMDEwNzUyNjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjIuOTcwMjk3MDI5NzAyOTcsIHk6IDg2LjAyMTUwNTM3NjM0NDA4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYyLjk3MDI5NzAyOTcwMjk3LCB5OiA4My44NzA5Njc3NDE5MzU0OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2MS43ODIxNzgyMTc4MjE3OCwgeTogODMuODcwOTY3NzQxOTM1NDkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjAuOTkwMDk5MDA5OTAwOTksIHk6IDg1Ljc1MjY4ODE3MjA0MzAxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjE5ODAxOTgwMTk4MDE5NSwgeTogODYuODI3OTU2OTg5MjQ3MzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTkuNDA1OTQwNTk0MDU5NCwgeTogODUuNzUyNjg4MTcyMDQzMDEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjAsIHk6IDgzLjMzMzMzMzMzMzMzMzM0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjc5MjA3OTIwNzkyMDc5LCB5OiA4MS4xODI3OTU2OTg5MjQ3MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2MS4xODgxMTg4MTE4ODExOSwgeTogNzcuNDE5MzU0ODM4NzA5NjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTkuMDA5OTAwOTkwMDk5MDA1LCB5OiA3OS4wMzIyNTgwNjQ1MTYxMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ni44MzE2ODMxNjgzMTY4MywgeTogODAuMzc2MzQ0MDg2MDIxNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ni42MzM2NjMzNjYzMzY2MywgeTogODEuNzIwNDMwMTA3NTI2ODggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTYuMDM5NjAzOTYwMzk2MDQsIHk6IDgzLjYwMjE1MDUzNzYzNDQyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU1LjY0MzU2NDM1NjQzNTY1LCB5OiA4My44NzA5Njc3NDE5MzU0OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NC40NTU0NDU1NDQ1NTQ0NiwgeTogODIuMjU4MDY0NTE2MTI5MDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTMuMDY5MzA2OTMwNjkzMDc0LCB5OiA4MC42NDUxNjEyOTAzMjI1OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Mi4yNzcyMjc3MjI3NzIyOCwgeTogNzkuMDMyMjU4MDY0NTE2MTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTEuNDg1MTQ4NTE0ODUxNDksIHk6IDc3LjQxOTM1NDgzODcwOTY4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUwLjY5MzA2OTMwNjkzMDY5NSwgeTogNzUuODA2NDUxNjEyOTAzMjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguOTEwODkxMDg5MTA4OTEsIHk6IDc1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ3LjkyMDc5MjA3OTIwNzkyLCB5OiA3NC43MzExODI3OTU2OTg5MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NC43NTI0NzUyNDc1MjQ3NiwgeTogNzMuOTI0NzMxMTgyNzk1NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0MS4xODgxMTg4MTE4ODExOSwgeTogNzMuMTE4Mjc5NTY5ODkyNDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDAuMTk4MDE5ODAxOTgwMiwgeTogNzMuMTE4Mjc5NTY5ODkyNDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzUuNDQ1NTQ0NTU0NDU1NDQ1LCB5OiA3NC4xOTM1NDgzODcwOTY3NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMS44ODExODgxMTg4MTE4OCwgeTogNzQuMTkzNTQ4Mzg3MDk2NzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjkuMTA4OTEwODkxMDg5MTA2LCB5OiA3NS4yNjg4MTcyMDQzMDEwNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNy45MjA3OTIwNzkyMDc5MjQsIHk6IDc2Ljg4MTcyMDQzMDEwNzUyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI3LjMyNjczMjY3MzI2NzMzLCB5OiA3OC4yMjU4MDY0NTE2MTI5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI1LjU0NDU1NDQ1NTQ0NTU0NiwgeTogNzkuNTY5ODkyNDczMTE4MjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjUuMzQ2NTM0NjUzNDY1MzQ4LCB5OiA4MC42NDUxNjEyOTAzMjI1OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMy4zNjYzMzY2MzM2NjMzNywgeTogODAuOTEzOTc4NDk0NjIzNjUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjEuMTg4MTE4ODExODgxMTksIHk6IDgxLjE4Mjc5NTY5ODkyNDcyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE3LjQyNTc0MjU3NDI1NzQyMywgeTogODEuMTgyNzk1Njk4OTI0NzIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTYuNDM1NjQzNTY0MzU2NDM2LCB5OiA4MS40NTE2MTI5MDMyMjU4MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNC4wNTk0MDU5NDA1OTQwNjEsIHk6IDgxLjk4OTI0NzMxMTgyNzk3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEzLjI2NzMyNjczMjY3MzI2OCwgeTogODMuMzMzMzMzMzMzMzMzMzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTMuMDY5MzA2OTMwNjkzMDcsIHk6IDgzLjg3MDk2Nzc0MTkzNTQ5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDExLjg4MTE4ODExODgxMTg4MSwgeTogODQuNDA4NjAyMTUwNTM3NjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOS45MDA5OTAwOTkwMDk5MDEsIHk6IDg0Ljk0NjIzNjU1OTEzOTc5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkuOTAwOTkwMDk5MDA5OTAxLCB5OiA4NS4yMTUwNTM3NjM0NDA4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4LjUxNDg1MTQ4NTE0ODUxNSwgeTogODUuMjE1MDUzNzYzNDQwODYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNS43NDI1NzQyNTc0MjU3NDMsIHk6IDg0LjQwODYwMjE1MDUzNzYzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUuNzQyNTc0MjU3NDI1NzQzLCB5OiA4NC40MDg2MDIxNTA1Mzc2MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1LjE0ODUxNDg1MTQ4NTE0OSwgeTogODMuNjAyMTUwNTM3NjM0NDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICI5NDNhMjcyMC02Yjk1LTQwYzItYmU5ZC0xYTM4OTM3OWYxNmIiLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogIlpBL1NBREMiLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAicG9seSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHg6IDUxLjM2MjIwOTg3NTYwNjgsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDc0LjEzMTE1MzkzNzA2ODA5LAogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNC41MjMzODkyMzIxMjcwOTQsCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNy41ODg5MzcyNDI2Nzc2NDUsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc3R5bGU6IHsgb3BhY2l0eTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJfc3R5bGU6IHsgYmFja2dyb3VuZF9jb2xvcjogIiNmZWNhMDEiLCBiYWNrZ3JvdW5kX29wYWNpdHk6IDAuNjY3NTU1OTk2ODM3NDE5MSB9LAogICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwX3N0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRfY29sb3I6ICIjZmZmZmZmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b193aWR0aDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBfY29udGVudDogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJIZWFkaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMjAuOHB4OyI+WkEvU0FEQzwvc3Bhbj4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmc6ICJoMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAiIiwgY3NzOiAiIiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICJzYW5zLXNlcmlmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDIwLjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICI2ODc3MGM4OC05NDhlLTRjNTEtODk0NS0yODkyNWI5ZjcwMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiUGFyYWdyYXBoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnPGRpdj5cbiAgICA8c3Ryb25nPlpvbmtlIEVuZ2luZWVyaW5nIChQdHkpIEx0ZDxiciAvPjxiciAvPjwvc3Ryb25nPlxuPC9kaXY+XG48ZGl2PjwvZGl2PlxuPGRpdj5cbiAgICA8ZGl2PlBpbmV3b29kIE9mZmljZSBQYXJrPC9kaXY+XG4gICAgPGRpdj5CbG9jayAxNCwgMzMgUmlsZXkgU3QuPC9kaXY+XG4gICAgPGRpdj5Xb29kbWVhZCwgU2FuZHRvbiwgWkEgMjE5MTwvZGl2PlxuICAgIDxkaXY+QXR0bjogTGVlIFBpbGxheTwvZGl2PlxuICAgIDxkaXY+RW1haWw8c3Ryb25nPjogPGEgaHJlZj0ibWFpbHRvOnNhbGVzQHpvbmtlc2EuY28uemEiPnNhbGVzQHpvbmtlc2EuY28uemE8L2E+PC9zdHJvbmc+PC9kaXY+XG4gICAgPGRpdj5QaG9uZTogPGEgaHJlZj0idGVsOisyNzExMjM0MTc3MCI+KzI3IDExIDIzNCAxNzcwLzE8L2E+PC9kaXY+XG4gICAgPGRpdj5Nb2JpbGU6IDxhIGhyZWY9InRlbDorMjc3ODk2NTg4NTUiPisyNyA3OCA5NjUgODg1NTwvYT48L2Rpdj5cbiAgICA8ZGl2PldlYnNpdGU6IDxiPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lnpvbmtlc2EuY29tIiB0YXJnZXQ9Il9ibGFuayI+d3d3Lnpvbmtlc2EuY29tPC9hPjwvYj48L2Rpdj5cbjwvZGl2PicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAiIiwgY3NzOiAiIiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICJzYW5zLXNlcmlmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDE0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAyMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjMDAwMDAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hNb2RlbDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB7IHRvcDogMTAsIGJvdHRvbTogMTAsIGxlZnQ6IDEwLCByaWdodDogMTAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiZWEyMDJmN2QtZDg2ZS00NzJkLWE2N2MtNjlmZjkzMDY1NzI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgIHhfaW1hZ2VfYmFja2dyb3VuZDogNTEuMzYyMjA5ODc1NjA2OCwKICAgICAgICAgICAgICAgICAgICAgICAgeV9pbWFnZV9iYWNrZ3JvdW5kOiA3NC4xMzExNTM5MzcwNjgwOSwKICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDAsIHk6IDUxLjE0Mjg1NzE0Mjg1NzE0NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyLjY4MjkyNjgyOTI2ODI5MywgeTogNTkuMTQyODU3MTQyODU3MTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNS4zNjU4NTM2NTg1MzY1ODYsIHk6IDY2LjU3MTQyODU3MTQyODU3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkuNzU2MDk3NTYwOTc1NjEsIHk6IDc0LjI4NTcxNDI4NTcxNDI5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEwLjczMTcwNzMxNzA3MzE3MSwgeTogODIuNTcxNDI4NTcxNDI4NTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOS4yNjgyOTI2ODI5MjY4MjksIHk6IDg1LjQyODU3MTQyODU3MTQzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEwLCB5OiA5MC44NTcxNDI4NTcxNDI4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMS45NTEyMTk1MTIxOTUxMjIsIHk6IDk0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE2LjM0MTQ2MzQxNDYzNDE1LCB5OiA5OC41NzE0Mjg1NzE0Mjg1OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMS45NTEyMTk1MTIxOTUxMjQsIHk6IDEwMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNS44NTM2NTg1MzY1ODUzNjgsIHk6IDk4LjI4NTcxNDI4NTcxNDI5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMxLjQ2MzQxNDYzNDE0NjM0MywgeTogOTguMjg1NzE0Mjg1NzE0MjkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzQuNjM0MTQ2MzQxNDYzNDEsIHk6IDk1LjcxNDI4NTcxNDI4NTcyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM4LjI5MjY4MjkyNjgyOTI3LCB5OiA5My43MTQyODU3MTQyODU3MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NC42MzQxNDYzNDE0NjM0MSwgeTogOTQuODU3MTQyODU3MTQyODYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDguMDQ4NzgwNDg3ODA0ODc2LCB5OiA5NS43MTQyODU3MTQyODU3MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1My42NTg1MzY1ODUzNjU4NiwgeTogOTQuMjg1NzE0Mjg1NzE0MjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTcuODA0ODc4MDQ4NzgwNDgsIHk6IDkyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYxLjk1MTIxOTUxMjE5NTEyNCwgeTogOTEuNzE0Mjg1NzE0Mjg1NzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjcuNTYwOTc1NjA5NzU2MSwgeTogODcuNDI4NTcxNDI4NTcxNDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzIuOTI2ODI5MjY4MjkyNjgsIHk6IDgyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc2LjgyOTI2ODI5MjY4MjkzLCB5OiA3Ny40Mjg1NzE0Mjg1NzE0MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS43MDczMTcwNzMxNzA3MywgeTogNzIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODUuMzY1ODUzNjU4NTM2NTgsIHk6IDY2LjU3MTQyODU3MTQyODU3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg4Ljc4MDQ4NzgwNDg3ODA1LCB5OiA1OC44NTcxNDI4NTcxNDI4NTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTQuMzkwMjQzOTAyNDM5MDIsIHk6IDUzLjQyODU3MTQyODU3MTQyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk4LjA0ODc4MDQ4NzgwNDg4LCB5OiA0NS40Mjg1NzE0Mjg1NzE0MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMDAsIHk6IDQwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk2LjgyOTI2ODI5MjY4MjkzLCB5OiAzNy40Mjg1NzE0Mjg1NzE0MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Mi40MzkwMjQzOTAyNDM5LCB5OiA0MC4yODU3MTQyODU3MTQyODUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODkuNzU2MDk3NTYwOTc1NjIsIHk6IDQwLjI4NTcxNDI4NTcxNDI4NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OC4wNDg3ODA0ODc4MDQ4OCwgeTogMzUuMTQyODU3MTQyODU3MTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODguNzgwNDg3ODA0ODc4MDUsIHk6IDMxLjQyODU3MTQyODU3MTQyNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Mi42ODI5MjY4MjkyNjgzLCB5OiAyOS4xNDI4NTcxNDI4NTcxNDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTQuMTQ2MzQxNDYzNDE0NjMsIHk6IDI3LjQyODU3MTQyODU3MTQzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkzLjkwMjQzOTAyNDM5MDIzLCB5OiAyMS43MTQyODU3MTQyODU3MTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTMuNDE0NjM0MTQ2MzQxNDcsIHk6IDE2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkxLjQ2MzQxNDYzNDE0NjM1LCB5OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5MS4yMTk1MTIxOTUxMjE5NSwgeTogNS4xNDI4NTcxNDI4NTcxNDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTAuNzMxNzA3MzE3MDczMTcsIHk6IDIuMjg1NzE0Mjg1NzE0Mjg1NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ni4wOTc1NjA5NzU2MDk3NSwgeTogMi4yODU3MTQyODU3MTQyODU2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgxLjQ2MzQxNDYzNDE0NjMzLCB5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc4LjUzNjU4NTM2NTg1MzY3LCB5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc1LjYwOTc1NjA5NzU2MDk4LCB5OiAzLjE0Mjg1NzE0Mjg1NzE0MzIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzEuNDYzNDE0NjM0MTQ2MzMsIHk6IDUuMTQyODU3MTQyODU3MTQyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY5LjUxMjE5NTEyMTk1MTIxLCB5OiA4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY3LjMxNzA3MzE3MDczMTcyLCB5OiAxMC44NTcxNDI4NTcxNDI4NTggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjMuNDE0NjM0MTQ2MzQxNDYsIHk6IDEyLjU3MTQyODU3MTQyODU3MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2My4xNzA3MzE3MDczMTcwNzQsIHk6IDE0Ljg1NzE0Mjg1NzE0Mjg1OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Mi4xOTUxMjE5NTEyMTk1MSwgeTogMTcuNDI4NTcxNDI4NTcxNDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTkuMDI0MzkwMjQzOTAyNDQsIHk6IDE5LjQyODU3MTQyODU3MTQyNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ni41ODUzNjU4NTM2NTg1MywgeTogMjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTUuNjA5NzU2MDk3NTYwOTgsIHk6IDI1LjE0Mjg1NzE0Mjg1NzE0NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1NS4xMjE5NTEyMTk1MTIyLCB5OiAyNy40Mjg1NzE0Mjg1NzE0MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Mi40MzkwMjQzOTAyNDM5LCB5OiAyOS40Mjg1NzE0Mjg1NzE0MjcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDkuMDI0MzkwMjQzOTAyNDQsIHk6IDI4LjU3MTQyODU3MTQyODU3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ2LjM0MTQ2MzQxNDYzNDE1LCB5OiAyOC4yODU3MTQyODU3MTQyODUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDIuMTk1MTIxOTUxMjE5NTEsIHk6IDI2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM4LjUzNjU4NTM2NTg1MzY2LCB5OiAyNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC4wNDg3ODA0ODc4MDQ4NzYsIHk6IDI4Ljg1NzE0Mjg1NzE0Mjg1OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNi41ODUzNjU4NTM2NTg1NCwgeTogMzEuMTQyODU3MTQyODU3MTQ2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM0Ljg3ODA0ODc4MDQ4NzgsIHk6IDM0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMzLjY1ODUzNjU4NTM2NTg2LCB5OiAzNC4yODU3MTQyODU3MTQyODUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjguMDQ4NzgwNDg3ODA0ODgsIHk6IDM1LjE0Mjg1NzE0Mjg1NzE0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMwLjQ4NzgwNDg3ODA0ODc4LCB5OiAzOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyOC4wNDg3ODA0ODc4MDQ4OCwgeTogMzguMjg1NzE0Mjg1NzE0Mjg1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI1LjYwOTc1NjA5NzU2MDk3NSwgeTogMzcuNzE0Mjg1NzE0Mjg1NzE1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI0LjM5MDI0MzkwMjQzOTAyNSwgeTogMzUuNzE0Mjg1NzE0Mjg1NzE1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI0LjYzNDE0NjM0MTQ2MzQxMywgeTogMzIuMjg1NzE0Mjg1NzE0Mjg1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI0Ljg3ODA0ODc4MDQ4NzgwNiwgeTogMjkuMTQyODU3MTQyODU3MTQyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIzLjkwMjQzOTAyNDM5MDI0NCwgeTogMjUuNzE0Mjg1NzE0Mjg1NzEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjIuMTk1MTIxOTUxMjE5NTEyLCB5OiAyNC41NzE0Mjg1NzE0Mjg1NzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjAuNzMxNzA3MzE3MDczMTcsIHk6IDI0LjU3MTQyODU3MTQyODU3MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMS43MDczMTcwNzMxNzA3MywgeTogMzQuNTcxNDI4NTcxNDI4NTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjEuMjE5NTEyMTk1MTIxOTUsIHk6IDM4Ljg1NzE0Mjg1NzE0Mjg1NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMS40NjM0MTQ2MzQxNDYzNDMsIHk6IDQyLjg1NzE0Mjg1NzE0Mjg1NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMS40NjM0MTQ2MzQxNDYzNDMsIHk6IDQ2LjU3MTQyODU3MTQyODU3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIxLjQ2MzQxNDYzNDE0NjM0MywgeTogNDkuNDI4NTcxNDI4NTcxNDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTkuMDI0MzkwMjQzOTAyNDM4LCB5OiA1MS40Mjg1NzE0Mjg1NzE0MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNy41NjA5NzU2MDk3NTYwOTUsIHk6IDUyLjg1NzE0Mjg1NzE0Mjg2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE0LjE0NjM0MTQ2MzQxNDYzMiwgeTogNTMuNDI4NTcxNDI4NTcxNDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOS43NTYwOTc1NjA5NzU2MSwgeTogNTMuMTQyODU3MTQyODU3MTQ2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQuMzkwMjQzOTAyNDM5MDI0LCB5OiA1MS40Mjg1NzE0Mjg1NzE0MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzLjkwMjQzOTAyNDM5MDI0NCwgeTogNDguMjg1NzE0Mjg1NzE0Mjg1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIuNjgyOTI2ODI5MjY4MjkzLCB5OiA0Ni44NTcxNDI4NTcxNDI4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxLjQ2MzQxNDYzNDE0NjM0MTcsIHk6IDQ3LjcxNDI4NTcxNDI4NTcxNSB9LAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZDogImRjNzRiYTc2LWMyOWUtNDI1Zi1hNjMyLWUxYzVmNjEwN2ZjNiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAiSW5kaWEiLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAicG9seSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHg6IDY1LjgzMTE5OTIxOTgxOTYxLAogICAgICAgICAgICAgICAgICAgICAgICB5OiA0MS44MDk2MjY2OTQ3MzQ2MywKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcuODMxMzI1MzAxMjA0ODI4LAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1LjY2MDExODEzOTM5OTQzLAogICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0X3N0eWxlOiB7IG9wYWNpdHk6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgbW91c2VvdmVyX3N0eWxlOiB7IGJhY2tncm91bmRfY29sb3I6ICIjZmVjYTAxIiwgYmFja2dyb3VuZF9vcGFjaXR5OiAwLjY2NzU1NTk5NjgzNzQxOTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcF9zdHlsZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kX2NvbG9yOiAiI2ZmZmZmZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogInJpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9fd2lkdGg6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwX2NvbnRlbnQ6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiSGVhZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogIkluZGlhIGFuZCBvdGhlciBTQUFSQyBjb3VudHJpZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmc6ICJoMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAiIiwgY3NzOiAiIiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICJzYW5zLXNlcmlmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDIwLjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICI2ODc3MGM4OC05NDhlLTRjNTEtODk0NS0yODkyNWI5ZjcwMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiUGFyYWdyYXBoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnPGRpdj48c3Ryb25nPldlbGQgaW4gRXF1aXBtZW50cyBQVlQuIExURC48L3N0cm9uZz48L2Rpdj5cbjxkaXY+PGJyIC8+PC9kaXY+XG48ZGl2Pkh5ZGVyYWJhZCwgSW5kaWE8L2Rpdj5cbjxkaXY+QXR0bjogS2FtcmFuIEFsaTwvZGl2PlxuPGRpdj48L2Rpdj5cbjxkaXY+RW1haWw6IDxzdHJvbmc+PGEgaHJlZj0ibWFpbHRvOndlbGRpbmluZGlhQGdtYWlsLmNvbSI+d2VsZGluaW5kaWFAZ21haWwuY29tPC9hPjwvc3Ryb25nPjwvZGl2PlxuPGRpdj5Ta3lwZTogd3d3LndlbGRpbmVxdWlwbWVudHMuY29tPC9kaXY+XG48ZGl2PlBob25lOiA8YSBocmVmPSJ0ZWw6KzkxODE2OTQ5MzcwOCI+KzkxIDgxNjk0OTM3MDg8L2E+PC9kaXY+XG48ZGl2Pk1vYmlsZTogPGEgaHJlZj0idGVsOis5MTc4OTM0MTkzMzMiPis5MSA3ODkzNDE5MzMzPC9hPjwvZGl2PlxuPGRpdj5XZWJzaXRlOiA8Yj48YSBocmVmPSJodHRwczovL3d3dy53ZWxkaW5lcXVpcG1lbnRzLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnd3dy53ZWxkaW5lcXVpcG1lbnRzLmNvbTwvYT48L2I+PC9kaXY+JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcjogeyBpZDogIiIsIGNsYXNzZXM6ICIiLCBjc3M6ICIiIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogInNhbnMtc2VyaWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogMTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDIyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICJlYTIwMmY3ZC1kODZlLTQ3MmQtYTY3Yy02OWZmOTMwNjU3MjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgeF9pbWFnZV9iYWNrZ3JvdW5kOiA2NS44MzExOTkyMTk4MTk2MSwKICAgICAgICAgICAgICAgICAgICAgICAgeV9pbWFnZV9iYWNrZ3JvdW5kOiA0MS44MDk2MjY2OTQ3MzQ2MywKICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMxLjQ2ODUzMTQ2ODUzMTQ3LCB5OiAxMDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzUuMzE0Njg1MzE0Njg1MzEsIHk6IDk2LjIxOTkzMTI3MTQ3NzY2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM2LjcxMzI4NjcxMzI4NjcxLCB5OiA5My4xMjcxNDc3NjYzMjMwMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOS4xNjA4MzkxNjA4MzkxNiwgeTogOTMuMTI3MTQ3NzY2MzIzMDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzkuMTYwODM5MTYwODM5MTYsIHk6IDg2Ljk0MTU4MDc1NjAxMzc1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQwLjIwOTc5MDIwOTc5MDIxLCB5OiA3OS4zODE0NDMyOTg5NjkwNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC40NjE1Mzg0NjE1Mzg0NywgeTogNzYuMjg4NjU5NzkzODE0NDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDYuMTUzODQ2MTUzODQ2MTUsIHk6IDcwLjQ0NjczNTM5NTE4OTAxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU4LjA0MTk1ODA0MTk1ODA0LCB5OiA1OS4xMDY1MjkyMDk2MjE5OTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjQuMzM1NjY0MzM1NjY0MzMsIHk6IDUzLjk1MTg5MDAzNDM2NDI2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcwLjYyOTM3MDYyOTM3MDYzLCB5OiA1MS44OTAwMzQzNjQyNjExNzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzYuOTIzMDc2OTIzMDc2OTMsIHk6IDUwLjE3MTgyMTMwNTg0MTkyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4MS4xMTg4ODExMTg4ODExMiwgeTogNTAuODU5MTA2NTI5MjA5NjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODMuOTE2MDgzOTE2MDgzOTIsIHk6IDU0LjYzOTE3NTI1NzczMTk2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg0Ljk2NTAzNDk2NTAzNDk3LCB5OiA0Ni4zOTE3NTI1NzczMTk1ODYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODcuNzYyMjM3NzYyMjM3NzYsIHk6IDQzLjk4NjI1NDI5NTUzMjY0NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5MC45MDkwOTA5MDkwOTA5LCB5OiAzOC4xNDQzMjk4OTY5MDcyMTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTYuNTAzNDk2NTAzNDk2NSwgeTogMzIuNjQ2MDQ4MTA5OTY1NjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTAwLCB5OiAyOS4yMDk2MjE5OTMxMjcxNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Ni44NTMxNDY4NTMxNDY4NSwgeTogMjMuNzExMzQwMjA2MTg1NTY0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgwLjQxOTU4MDQxOTU4MDQxLCB5OiAyNi40NjA0ODEwOTk2NTYzNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3My4wNzY5MjMwNzY5MjMwNywgeTogMjcuNDkxNDA4OTM0NzA3OTA2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcwLjk3OTAyMDk3OTAyMDk3LCB5OiAyOC44NjU5NzkzODE0NDMyOTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjMuOTg2MDEzOTg2MDEzOTksIHk6IDI4Ljg2NTk3OTM4MTQ0MzI5NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OC43NDEyNTg3NDEyNTg3NCwgeTogMjcuNDkxNDA4OTM0NzA3OTA2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjc5NzIwMjc5NzIwMjgsIHk6IDI1LjQyOTU1MzI2NDYwNDgxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ3LjkwMjA5NzkwMjA5NzksIHk6IDIxLjk5MzEyNzE0Nzc2NjMyMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NC43NTUyNDQ3NTUyNDQ3NSwgeTogMjAuNjE4NTU2NzAxMDMwOTI2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM5Ljg2MDEzOTg2MDEzOTg2LCB5OiAxOC45MDAzNDM2NDI2MTE2ODQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzUuMzE0Njg1MzE0Njg1MzEsIHk6IDE1LjEyMDI3NDkxNDA4OTM0NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNC42MTUzODQ2MTUzODQ2MSwgeTogMTIuMDI3NDkxNDA4OTM0NzA4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM3LjQxMjU4NzQxMjU4NzQxLCB5OiAxMC45OTY1NjM1NzM4ODMxNjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzQuOTY1MDM0OTY1MDM0OTcsIHk6IDYuODcyODUyMjMzNjc2OTc2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMzLjU2NjQzMzU2NjQzMzU3LCB5OiAxLjcxODIxMzA1ODQxOTI0NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzMi41MTc0ODI1MTc0ODI1MSwgeTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNy42MjIzNzc2MjIzNzc2MiwgeTogMS43MTgyMTMwNTg0MTkyNDQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjcuNjIyMzc3NjIyMzc3NjIsIHk6IDMuMDkyNzgzNTA1MTU0NjM5MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNC44MjUxNzQ4MjUxNzQ4MjcsIHk6IDQuMTIzNzExMzQwMjA2MTg1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIwLjYyOTM3MDYyOTM3MDYzLCB5OiA0LjEyMzcxMTM0MDIwNjE4NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOS41ODA0MTk1ODA0MTk1OCwgeTogNC40NjczNTM5NTE4OTAwMzQ1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE4LjUzMTQ2ODUzMTQ2ODUzLCB5OiA4LjI0NzQyMjY4MDQxMjM3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE5LjU4MDQxOTU4MDQxOTU4LCB5OiAxMC4zMDkyNzgzNTA1MTU0NjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjAuOTc5MDIwOTc5MDIwOTgsIHk6IDExLjM0MDIwNjE4NTU2NzAxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIwLjk3OTAyMDk3OTAyMDk4LCB5OiAxNS4xMjAyNzQ5MTQwODkzNDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTUuMzg0NjE1Mzg0NjE1Mzg1LCB5OiAyMy4zNjc2OTc1OTQ1MDE3MTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTAuMTM5ODYwMTM5ODYwMTQsIHk6IDI4LjE3ODY5NDE1ODA3NTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOC4zOTE2MDgzOTE2MDgzOTIsIHk6IDI5LjU1MzI2NDYwNDgxMDk5OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1LjU5NDQwNTU5NDQwNTU5NCwgeTogMjguMTc4Njk0MTU4MDc1NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxLjA0ODk1MTA0ODk1MTA0OSwgeTogMzIuMzAyNDA1NDk4MjgxNzg2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDMuNDk2NTAzNDk2NTAzNDk2NywgeTogMzQuNzA3OTAzNzgwMDY4NzI2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQuODk1MTA0ODk1MTA0ODk1LCB5OiAzNi40MjYxMTY4Mzg0ODc5NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ljk5MzAwNjk5MzAwNjk5MywgeTogMzguNDg3OTcyNTA4NTkxMDcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNy4zNDI2NTczNDI2NTczNDI1LCB5OiA0MS4yMzcxMTM0MDIwNjE4NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Ljg5NTEwNDg5NTEwNDg5NSwgeTogNDMuNjQyNjExNjgzODQ4OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxLjA0ODk1MTA0ODk1MTA0OSwgeTogNDIuMjY4MDQxMjM3MTEzNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAwLCB5OiA0NS4wMTcxODIxMzA1ODQxOTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMS4wNDg5NTEwNDg5NTEwNDksIHk6IDQ3Ljc2NjMyMzAyNDA1NDk4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzLjg0NjE1Mzg0NjE1Mzg0NjMsIHk6IDQ3Ljc2NjMyMzAyNDA1NDk4NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1LjI0NDc1NTI0NDc1NTI0NSwgeTogNDcuMDc5MDM3ODAwNjg3MjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMi4wOTc5MDIwOTc5MDIwOTgsIHk6IDQ5LjgyODE3ODY5NDE1ODA3NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyLjc5NzIwMjc5NzIwMjc5NywgeTogNTEuNTQ2MzkxNzUyNTc3MzE0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQuNTQ1NDU0NTQ1NDU0NTQ2LCB5OiA1My45NTE4OTAwMzQzNjQyNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1LjI0NDc1NTI0NDc1NTI0NSwgeTogNTMuOTUxODkwMDM0MzY0MjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOS4wOTA5MDkwOTA5MDkwOTIsIHk6IDUzLjk1MTg5MDAzNDM2NDI2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDExLjE4ODgxMTE4ODgxMTE4OCwgeTogNTIuMjMzNjc2OTc1OTQ1MDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTIuOTM3MDYyOTM3MDYyOTM3LCB5OiA1MC41MTU0NjM5MTc1MjU3NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMi41ODc0MTI1ODc0MTI1ODgsIHk6IDUzLjYwODI0NzQyMjY4MDQxNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMi41ODc0MTI1ODc0MTI1ODgsIHk6IDU4LjA3NTYwMTM3NDU3MDQ1NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxMi45MzcwNjI5MzcwNjI5MzcsIHk6IDYzLjIzMDI0MDU0OTgyODE3NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNC4zMzU2NjQzMzU2NjQzMzcsIHk6IDY5LjA3MjE2NDk0ODQ1MzYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTcuNDgyNTE3NDgyNTE3NDgzLCB5OiA3NS4yNTc3MzE5NTg3NjI4OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMi4wMjc5NzIwMjc5NzIwMywgeTogODMuNTA1MTU0NjM5MTc1MjYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjUuNTI0NDc1NTI0NDc1NTI3LCB5OiA5MC4zNzgwMDY4NzI4NTIyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyNS44NzQxMjU4NzQxMjU4NzMsIHk6IDk0LjE1ODA3NTYwMTM3NDU2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI4LjY3MTMyODY3MTMyODY3MywgeTogOTkuNjU2MzU3Mzg4MzE2MTUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICJmMzI5MDJhZi1kZTUzLTQzYWEtODE3Zi00NzMzMDdmOTQwZTAiLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogIk1leGljbyIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJwb2x5IiwKICAgICAgICAgICAgICAgICAgICAgICAgeDogMTQuMzg1NzM1NjM2MDgxMjU3LAogICAgICAgICAgICAgICAgICAgICAgICB5OiA0My40MzMzNDc1NjU5NjkxOCwKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDguMjE0Njc2ODg5Mzc1Njg1LAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwLjQ5Mzg5MzU5ODU2NjYyMiwKICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdF9zdHlsZTogeyBvcGFjaXR5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlb3Zlcl9zdHlsZTogeyBiYWNrZ3JvdW5kX2NvbG9yOiAiI2ZlY2EwMSIsIGJhY2tncm91bmRfb3BhY2l0eTogMC42Njc1NTU5OTY4Mzc0MTkxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBfc3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZF9jb2xvcjogIiNmZmZmZmYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvX3dpZHRoOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcF9jb250ZW50OiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogIkhlYWRpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICJNZXhpY28iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmc6ICJoMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAiIiwgY3NzOiAiIiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICJzYW5zLXNlcmlmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDIwLjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiMwMDAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE1vZGVsOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICI2ODc3MGM4OC05NDhlLTRjNTEtODk0NS0yODkyNWI5ZjcwMTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiUGFyYWdyYXBoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnPGRpdj48c3Ryb25nPlNFSUNTQSBQcm95ZWN0b3MgQW1iaWVudGFsZXMsIFMuQS4gREUgQy5WLjwvc3Ryb25nPjwvZGl2PlxuPGRpdj5cbiAgICA8c3Ryb25nPjxiciAvPjwvc3Ryb25nPlxuPC9kaXY+XG48ZGl2PjwvZGl2PlxuPGRpdj5Bdi4gTXVlYmxlcm9zIE5vLiA5OFBhcnF1ZSBJbmR1c3RyaWFsIENoaWNoaW1lY29KZXN1cyBNYXJpYSwgQWd1YXNjYWxpZW50ZXMsIE1leGljbyAyMDkwMDwvZGl2PlxuPGRpdj5BdHRuOiBJcmVuZSBSb2NoYTwvZGl2PlxuPGRpdj5FbWFpbDxzdHJvbmc+OiA8YSBocmVmPSJtYWlsdG86aXJlbmVyQHNlaWNzYS5jb20ubXgiPmlyZW5lckBzZWljc2EuY29tLm14PC9hPjwvc3Ryb25nPjwvZGl2PlxuPGRpdj5QaG9uZS9GYXg6IDxhIGhyZWY9InRlbDorNTI0NDk5OTM3MzQyIj4rICg1MikgNDQ5LTk5My03MzQyPC9hPjwvZGl2PlxuPGRpdj5XZWJzaXRlOiA8Yj48YSBocmVmPSJodHRwczovL3d3dy5zZWljc2EubXgvZGVtdGVjaC5waHAiIHRhcmdldD0iX2JsYW5rIj53d3cuc2VpY3NhLm14L2RlbXRlY2gucGhwPC9hPjwvYj48L2Rpdj4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyOiB7IGlkOiAiIiwgY2xhc3NlczogIiIsIGNzczogIiIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAic2Fucy1zZXJpZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAxNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogMjIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAiIzAwMDAwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogImxlZnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94TW9kZWw6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogeyB0b3A6IDEwLCBib3R0b206IDEwLCBsZWZ0OiAxMCwgcmlnaHQ6IDEwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogImVhMjAyZjdkLWQ4NmUtNDcyZC1hNjdjLTY5ZmY5MzA2NTcyNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICB4X2ltYWdlX2JhY2tncm91bmQ6IDE0LjM4NTczNTYzNjA4MTI1NywKICAgICAgICAgICAgICAgICAgICAgICAgeV9pbWFnZV9iYWNrZ3JvdW5kOiA0My40MzMzNDc1NjU5NjkxOCwKICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDAsIHk6IDIuMDUxMjgyMDUxMjgyMDUxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQuNjY2NjY2NjY2NjY2NjY3LCB5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEzLjY2NjY2NjY2NjY2NjY2NiwgeTogNy4xNzk0ODcxNzk0ODcxNzkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjUsIHk6IDguMjA1MTI4MjA1MTI4MjA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI5LjMzMzMzMzMzMzMzMzMzMiwgeTogNS4xMjgyMDUxMjgyMDUxMjggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzMuMzMzMzMzMzMzMzMzMzMsIHk6IDUuMTI4MjA1MTI4MjA1MTI4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM5LCB5OiAxMS4yODIwNTEyODIwNTEyODMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzkuNjY2NjY2NjY2NjY2NjY0LCB5OiAxNi40MTAyNTY0MTAyNTY0MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0NCwgeTogMjEuNTM4NDYxNTM4NDYxNTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDcuMzMzMzMzMzMzMzMzMzM2LCB5OiAxNi45MjMwNzY5MjMwNzY5MjMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDkuNjY2NjY2NjY2NjY2NjY0LCB5OiAxNS44OTc0MzU4OTc0MzU4OTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTIuNjY2NjY2NjY2NjY2NjY0LCB5OiAyMS41Mzg0NjE1Mzg0NjE1NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Ni4zMzMzMzMzMzMzMzMzMzYsIHk6IDI3LjE3OTQ4NzE3OTQ4NzE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU4LjMzMzMzMzMzMzMzMzMzNiwgeTogMzMuMzMzMzMzMzMzMzMzMzMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjQuMzMzMzMzMzMzMzMzMzMsIHk6IDQwLjUxMjgyMDUxMjgyMDUxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY0LjMzMzMzMzMzMzMzMzMzLCB5OiA1Ny40MzU4OTc0MzU4OTc0MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OSwgeTogNzUuMzg0NjE1Mzg0NjE1MzkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODEuNjY2NjY2NjY2NjY2NjcsIHk6IDc3LjQzNTg5NzQzNTg5NzQ1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgzLjMzMzMzMzMzMzMzMzM0LCB5OiA4MS41Mzg0NjE1Mzg0NjE1MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ni4zMzMzMzMzMzMzMzMzMywgeTogNzUuMzg0NjE1Mzg0NjE1MzkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODcuMzMzMzMzMzMzMzMzMzMsIHk6IDY4LjIwNTEyODIwNTEyODIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTIsIHk6IDY1LjEyODIwNTEyODIwNTEyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEwMCwgeTogNjQuMTAyNTY0MTAyNTY0MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OS4zMzMzMzMzMzMzMzMzMywgeTogNzIuODIwNTEyODIwNTEyODIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTcuNjY2NjY2NjY2NjY2NjcsIHk6IDc3Ljk0ODcxNzk0ODcxNzk2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk2LjY2NjY2NjY2NjY2NjY3LCB5OiA4MS4wMjU2NDEwMjU2NDEwMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Mi42NjY2NjY2NjY2NjY2NiwgeTogODEuMDI1NjQxMDI1NjQxMDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODguMzMzMzMzMzMzMzMzMzMsIHk6IDgxLjAyNTY0MTAyNTY0MTAyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg2LCB5OiA4My4wNzY5MjMwNzY5MjMwOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Ny4zMzMzMzMzMzMzMzMzMywgeTogODguMjA1MTI4MjA1MTI4MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OC4zMzMzMzMzMzMzMzMzMywgeTogOTAuNzY5MjMwNzY5MjMwNzcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODUuMzMzMzMzMzMzMzMzMzQsIHk6IDkwLjc2OTIzMDc2OTIzMDc3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg0LCB5OiA5NC44NzE3OTQ4NzE3OTQ4NiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4NCwgeTogMTAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc2LCB5OiA5MC43NjkyMzA3NjkyMzA3NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MS42NjY2NjY2NjY2NjY2NywgeTogOTQuMzU4OTc0MzU4OTc0MzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjYuNjY2NjY2NjY2NjY2NjYsIHk6IDk1Ljg5NzQzNTg5NzQzNTkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjAuNjY2NjY2NjY2NjY2NjcsIHk6IDkxLjI4MjA1MTI4MjA1MTI4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjMzMzMzMzMzMzMzMzMzLCB5OiA4Ni4xNTM4NDYxNTM4NDYxNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0Mi42NjY2NjY2NjY2NjY2NywgeTogODEuNTM4NDYxNTM4NDYxNTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNDAuNjY2NjY2NjY2NjY2NjY0LCB5OiA3OS40ODcxNzk0ODcxNzk0OSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC4zMzMzMzMzMzMzMzMzMzYsIHk6IDczLjg0NjE1Mzg0NjE1Mzg1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM3LCB5OiA2Ny4xNzk0ODcxNzk0ODcxNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzOC4zMzMzMzMzMzMzMzMzMzYsIHk6IDYxLjUzODQ2MTUzODQ2MTU0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDM3LCB5OiA1NC4zNTg5NzQzNTg5NzQzNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNC42NjY2NjY2NjY2NjY2NywgeTogNDguNzE3OTQ4NzE3OTQ4NzE1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI2LjY2NjY2NjY2NjY2NjY2OCwgeTogNDEuNTM4NDYxNTM4NDYxNTQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjQuMzMzMzMzMzMzMzMzMzM2LCB5OiAzNS4zODQ2MTUzODQ2MTUzOSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxOC4zMzMzMzMzMzMzMzMzMzIsIHk6IDI0LjYxNTM4NDYxNTM4NDYxNyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNC42NjY2NjY2NjY2NjY2NjYsIHk6IDE5LjQ4NzE3OTQ4NzE3OTQ5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDExLjY2NjY2NjY2NjY2NjY2NiwgeTogMTAuMjU2NDEwMjU2NDEwMjU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkuNjY2NjY2NjY2NjY2NjY2LCB5OiA5LjIzMDc2OTIzMDc2OTIzMiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3LjMzMzMzMzMzMzMzMzMzMywgeTogOS4yMzA3NjkyMzA3NjkyMzIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNS4zMzMzMzMzMzMzMzMzMzQsIHk6IDEyLjgyMDUxMjgyMDUxMjgyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDksIHk6IDIwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEzLCB5OiAyNy4xNzk0ODcxNzk0ODcxOCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNi4zMzMzMzMzMzMzMzMzMzIsIHk6IDM0Ljg3MTc5NDg3MTc5NDg3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE5LjY2NjY2NjY2NjY2NjY2NCwgeTogNDMuMDc2OTIzMDc2OTIzMDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjMuNjY2NjY2NjY2NjY2NjY4LCB5OiA1MS43OTQ4NzE3OTQ4NzE4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDIyLCB5OiA1NC4zNTg5NzQzNTg5NzQzNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxNC42NjY2NjY2NjY2NjY2NjYsIHk6IDQzLjA3NjkyMzA3NjkyMzA4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDguNjY2NjY2NjY2NjY2NjY4LCB5OiAzMi44MjA1MTI4MjA1MTI4MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3LjAwMDAwMDAwMDAwMDAwMSwgeTogMjMuMDc2OTIzMDc2OTIzMDc3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEuMzMzMzMzMzMzMzMzMzMzNSwgeTogMTMuODQ2MTUzODQ2MTUzODQ3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiNDZmYmY0MGUtMjJlMi00NTA2LWJjYjAtYWUwNjAxYzVmZjkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICJOb3J0aCBBbWVyaWNhIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInBvbHkiLAogICAgICAgICAgICAgICAgICAgICAgICB4OiAxMi4yMjE4MTMyODYwNzY3ODYsCiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDMyLjkxMjk1NzcyODQ1MzcyLAogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTUuODY0OTYwMjgyNDM2MDEsCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTQuOTYxMDQ3NzA2OTkzMDQzLAogICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0X3N0eWxlOiB7IG9wYWNpdHk6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgbW91c2VvdmVyX3N0eWxlOiB7IGJhY2tncm91bmRfY29sb3I6ICIjZmVjYTAxIiwgYmFja2dyb3VuZF9vcGFjaXR5OiAwLjY2NzU1NTk5NjgzNzQxOTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcF9zdHlsZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kX2NvbG9yOiAiI2ZmZmZmZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogInJpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9fd2lkdGg6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwX2NvbnRlbnQ6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiSGVhZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogIlVuaXRlZCBTdGF0ZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmc6ICJoMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAidG9vbHRpcC10aXRsZSIsIGNzczogIiIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAic2Fucy1zZXJpZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAyMC44LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjMDAwMDAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hNb2RlbDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB7IHRvcDogMTAsIGJvdHRvbTogMTAsIGxlZnQ6IDEwLCByaWdodDogMTAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiYWQyNDE3ZDgtNTZiYy00ODc4LTkwYmYtMDA2MmIwYWRlNTA2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogIlBhcmFncmFwaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogIjxkaXY+PGI+RGVtVGVjaCBTZXJ2aWNlcywgSW5jLjwvYj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjY0MTQgQ2FwaXRvbCBBdmVudWUgRGlhbW9uZCBTcHJpbmdzLCBDYSA5NTYxOTwvZGl2PiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXI6IHsgaWQ6ICIiLCBjbGFzc2VzOiAiIiwgY3NzOiAiIiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICJzYW5zLXNlcmlmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDE0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAyMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjMDAwMDAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hNb2RlbDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB7IHRvcDogMTAsIGJvdHRvbTogMTAsIGxlZnQ6IDEwLCByaWdodDogMTAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiMTg4MDk5MGItNjc2Mi00YzM0LTk3NjMtZWJiOTI3MDJiZTgyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgIHhfaW1hZ2VfYmFja2dyb3VuZDogMTIuMjIxODEzMjg2MDc2Nzg2LAogICAgICAgICAgICAgICAgICAgICAgICB5X2ltYWdlX2JhY2tncm91bmQ6IDMyLjkxMjk1NzcyODQ1MzcyLAogICAgICAgICAgICAgICAgICAgICAgICBwb2ludHM6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMi45MjA3MjMyMjY3MDM3NTUsIHk6IDEuMTU5NDIwMjg5ODU1MDcyNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1MS4xODIxOTc0OTY1MjI5NSwgeTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1Mi43MTIxMDAxMzkwODIwNiwgeTogMS40NDkyNzUzNjIzMTg4NDA2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU1LjM1NDY1OTI0ODk1Njg4NSwgeTogMi4wMjg5ODU1MDcyNDYzNzY1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU3LjE2MjcyNjAwODM0NDkyLCB5OiA0LjA1Nzk3MTAxNDQ5Mjc1MyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OC44MzE3MTA3MDkzMTg1LCB5OiA0LjYzNzY4MTE1OTQyMDI5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDU2LjYwNjM5Nzc3NDY4NzA3LCB5OiAxMC43MjQ2Mzc2ODExNTk0MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA1OC41NTM1NDY1OTI0ODk1NywgeTogMTEuMDE0NDkyNzUzNjIzMTg4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjc3ODg1OTUyNzEyMSwgeTogMTAuNDM0NzgyNjA4Njk1NjUyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYzLjAwNDE3MjQ2MTc1MjQ0LCB5OiA3LjUzNjIzMTg4NDA1Nzk3MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NC4yNTU5MTA5ODc0ODI2MSwgeTogMTAuNzI0NjM3NjgxMTU5NDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjYuODk4NDcwMDk3MzU3NDUsIHk6IDEwLjcyNDYzNzY4MTE1OTQyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY4Ljk4NDcwMDk3MzU3NDQsIHk6IDEyLjE3MzkxMzA0MzQ3ODI2MiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NS42NDY3MzE1NzE2MjcyNiwgeTogMTUuOTQyMDI4OTg1NTA3MjQ0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY0LjI1NTkxMDk4NzQ4MjYxLCB5OiAyMC41Nzk3MTAxNDQ5Mjc1MzUgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjQuMTE2ODI4OTI5MDY4MTUsIHk6IDI1LjUwNzI0NjM3NjgxMTU5NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2NC44MTIyMzkyMjExNDA0NywgeTogMzIuNDYzNzY4MTE1OTQyMDI0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY2LjYyMDMwNTk4MDUyODUxLCB5OiAzMC40MzQ3ODI2MDg2OTU2NTYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNjYuMzQyMTQxODYzNjk5NTgsIHk6IDI1LjIxNzM5MTMwNDM0NzgyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2Ni4yMDMwNTk4MDUyODUxMSwgeTogMjAuNTc5NzEwMTQ0OTI3NTM1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY4LjI4OTI5MDY4MTUwMjEsIHk6IDE3LjY4MTE1OTQyMDI4OTg1NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2OS42ODAxMTEyNjU2NDY3MywgeTogMTUuNjUyMTczOTEzMDQzNDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzEuNDg4MTc4MDI1MDM0NzcsIHk6IDE3Ljk3MTAxNDQ5Mjc1MzYyNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3MS4yMTAwMTM5MDgyMDU4NCwgeTogMjIuMDI4OTg1NTA3MjQ2Mzc1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcxLjc2NjM0MjE0MTg2MzcsIHk6IDIzLjQ3ODI2MDg2OTU2NTIyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDczLjAxODA4MDY2NzU5Mzg4LCB5OiAyMy43NjgxMTU5NDIwMjg5ODQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzIuNzM5OTE2NTUwNzY0OTUsIHk6IDI1Ljc5NzEwMTQ0OTI3NTM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDcyLjQ2MTc1MjQzMzkzNjAzLCB5OiAyOC42OTU2NTIxNzM5MTMwNDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzEuOTA1NDI0MjAwMjc4MTYsIHk6IDMxLjg4NDA1Nzk3MTAxNDQ5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDczLjg1MjU3MzAxODA4MDY4LCB5OiAzMy45MTMwNDM0NzgyNjA4NyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NS43OTk3MjE4MzU4ODMxOCwgeTogMzEuNTk0MjAyODk4NTUwNzI2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc4Ljk5ODYwOTE3OTQxNTg1LCB5OiAyOS41NjUyMTczOTEzMDQzNDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODAuNTI4NTExODIxOTc0OTcsIHk6IDI2LjY2NjY2NjY2NjY2NjY2OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4Mi4zMzY1Nzg1ODEzNjMsIHk6IDI1LjUwNzI0NjM3NjgxMTU5NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4NC41NjE4OTE1MTU5OTQ0MywgeTogMjQuMzQ3ODI2MDg2OTU2NTIzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg2LjIzMDg3NjIxNjk2ODAxLCB5OiAxOC41NTA3MjQ2Mzc2ODExNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OS45ODYwOTE3OTQxNTg1NSwgeTogMTguMjYwODY5NTY1MjE3MzkgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTMuMTg0OTc5MTM3NjkxMjQsIHk6IDE4LjI2MDg2OTU2NTIxNzM5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk1LjEzMjEyNzk1NTQ5Mzc0LCB5OiAxMy42MjMxODg0MDU3OTcxMDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTYuMjQ0Nzg0NDIyODA5NDYsIHk6IDguNDA1Nzk3MTAxNDQ5Mjc1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDk3LjIxODM1ODgzMTcxMDcsIHk6IDEwLjE0NDkyNzUzNjIzMTg4NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5OC42MDkxNzk0MTU4NTUzNSwgeTogOC42OTU2NTIxNzM5MTMwNDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTkuMTY1NTA3NjQ5NTEzMjIsIHk6IDEzLjkxMzA0MzQ3ODI2MDg3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEwMCwgeTogMTguODQwNTc5NzEwMTQ0OTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTYuNjYyMDMwNTk4MDUyODUsIHk6IDIyLjMxODg0MDU3OTcxMDE0NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5NC43MTQ4ODE3ODAyNTAzNSwgeTogMjQuNjM3NjgxMTU5NDIwMjkzIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDkzLjYwMjIyNTMxMjkzNDYyLCB5OiAyOC4xMTU5NDIwMjg5ODU1MDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogOTQuOTkzMDQ1ODk3MDc5MjcsIHk6IDMyLjQ2Mzc2ODExNTk0MjAyNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA5Mi42Mjg2NTA5MDQwMzMzOCwgeTogMzMuNjIzMTg4NDA1Nzk3MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4OS4yOTA2ODE1MDIwODYyMywgeTogMzUuNjUyMTczOTEzMDQzNDggfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODcuODk5ODYwOTE3OTQxNTgsIHk6IDQxLjczOTEzMDQzNDc4MjYxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg1LjM5NjM4Mzg2NjQ4MTIzLCB5OiA0MS43MzkxMzA0MzQ3ODI2MSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4My44NjY0ODEyMjM5MjIxMiwgeTogNDMuNzY4MTE1OTQyMDI4OTg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDgzLjMxMDE1Mjk5MDI2NDI2LCB5OiA1MC40MzQ3ODI2MDg2OTU2NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA4NC41NjE4OTE1MTU5OTQ0MywgeTogNTUuMzYyMzE4ODQwNTc5NzA0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDg0LjU2MTg5MTUxNTk5NDQzLCB5OiA1OS43MTAxNDQ5Mjc1MzYyMzQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogODIuNDc1NjYwNjM5Nzc3NDcsIHk6IDYyLjAyODk4NTUwNzI0NjM4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc5LjU1NDkzNzQxMzA3MzcyLCB5OiA2Ni45NTY1MjE3MzkxMzA0NCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3NS41MjE1NTc3MTkwNTQyNCwgeTogNzcuNjgxMTU5NDIwMjg5ODYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzUuOTM4ODAzODk0Mjk3NjQsIHk6IDgzLjQ3ODI2MDg2OTU2NTIyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc3Ljc0Njg3MDY1MzY4NTY4LCB5OiA5Mi43NTM2MjMxODg0MDU4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc2Ljc3MzI5NjI0NDc4NDQzLCB5OiA5Ny4xMDE0NDkyNzUzNjIzMSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Ni40OTUxMzIxMjc5NTU0OSwgeTogMTAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDc0LjI2OTgxOTE5MzMyNDA1LCB5OiA5NS42NTIxNzM5MTMwNDM0OCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA3Mi43Mzk5MTY1NTA3NjQ5NSwgeTogOTAuNzI0NjM3NjgxMTU5NDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzMuNDM1MzI2ODQyODM3MjgsIHk6IDg3LjI0NjM3NjgxMTU5NDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNzEuNjI3MjYwMDgzNDQ5MjQsIHk6IDgzLjQ3ODI2MDg2OTU2NTIyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY4Ljg0NTYxODkxNTE1OTk1LCB5OiA4Mi42MDg2OTU2NTIxNzM5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDY1LjA5MDQwMzMzNzk2OTQsIHk6IDgwLjU3OTcxMDE0NDkyNzU1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYzLjAwNDE3MjQ2MTc1MjQ0LCB5OiA3OS43MTAxNDQ5Mjc1MzYyMyB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA2MS4wNTcwMjM2NDM5NDk5MjUsIHk6IDgxLjQ0OTI3NTM2MjMxODg0IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDYwLjc3ODg1OTUyNzEyMSwgeTogODQuOTI3NTM2MjMxODg0MDYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNTQuOTM3NDEzMDczNzEzNDksIHk6IDgyLjg5ODU1MDcyNDYzNzY3IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUyLjU3MzAxODA4MDY2NzU5LCB5OiA4Mi42MDg2OTU2NTIxNzM5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUwLjYyNTg2OTI2Mjg2NTA5LCB5OiA4NC45Mjc1MzYyMzE4ODQwNiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiA0OS4yMzUwNDg2Nzg3MjA0NDYsIHk6IDg3LjgyNjA4Njk1NjUyMTc1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQ3LjAwOTczNTc0NDA4OTAxNCwgeTogOTcuOTcxMDE0NDkyNzUzNjIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzguODAzODk0Mjk3NjM1NjEsIHk6IDgzLjE4ODQwNTc5NzEwMTQ1IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDQwLjg5MDEyNTE3Mzg1MjU3LCB5OiA4Mi4zMTg4NDA1Nzk3MTAxNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAzNi45OTU4Mjc1MzgyNDc1NywgeTogODUuMjE3MzkxMzA0MzQ3ODMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMzIuNjg0MjgzNzI3Mzk5MTcsIHk6IDc4LjI2MDg2OTU2NTIxNzM5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDI5LjM0NjMxNDMyNTQ1MjAxNywgeTogNzQuNzgyNjA4Njk1NjUyMTcgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMjcuMzk5MTY1NTA3NjQ5NTE0LCB5OiA3NS45NDIwMjg5ODU1MDcyNSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAyMy41MDQ4Njc4NzIwNDQ1MDcsIHk6IDc1LjM2MjMxODg0MDU3OTcyIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDE5LjYxMDU3MDIzNjQzOTQ5NiwgeTogNzMuNjIzMTg4NDA1Nzk3MTEgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMTUuNTc3MTkwNTQyNDIwMDI3LCB5OiA3Mi43NTM2MjMxODg0MDU4IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDEzLjA3MzcxMzQ5MDk1OTY2NiwgeTogNzAuNzI0NjM3NjgxMTU5NDIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogNi45NTQxMDI5MjA3MjMyMjYsIHk6IDYxLjczOTEzMDQzNDc4MjYxIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDUuMDA2OTU0MTAyOTIwNzIzLCB5OiA1Ny42ODExNTk0MjAyODk4NSB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB4OiAxLjM5MDgyMDU4NDE0NDY0NTUsIHk6IDQ1Ljc5NzEwMTQ0OTI3NTM2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDAuMTM5MDgyMDU4NDE0NDY0NTMsIHk6IDM3LjY4MTE1OTQyMDI4OTg2IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHg6IDAuNDE3MjQ2MTc1MjQzMzkzNiwgeTogMjYuMDg2OTU2NTIxNzM5MTMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMC44MzQ0OTIzNTA0ODY3ODcyLCB5OiAxNS4wNzI0NjM3NjgxMTU5NDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMC40MTcyNDYxNzUyNDMzOTM2LCB5OiA2LjM3NjgxMTU5NDIwMjg5ODQgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeDogMCwgeTogMy43NjgxMTU5NDIwMjg5ODYgfSwKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgfSwKICAgICAgICBdLAogICAgICAgIHZlcnNpb246ICI2LjAuNCIsCiAgICB9KTsKCg==

Equipe de Suporte Global da Demtech

Linsey Pond

Presidente,
Demtech Services, Inc.
530.621.3200 ramal 221

Vendas@demtech.com

Fernando Valência

Gerente de Vendas para a América Latina
+(57) 3213809852

Fernando@demtech.com

Links relacionados

Abrir página
Máquinas Demtech

Implantação

Abrir página
Máquinas Demtech

Soldadores de extrusão

Abrir página
Máquinas Demtech

Soldadores de cunha

Abrir página
Máquinas Demtech

Equipamentos de teste

Abrir página
Máquinas Demtech

Outras ferramentas e acessórios